БД — база данных¶
БД (база данных) — это организованная совокупность данных, хранимых в информационной системе и предназначенная для их систематического хранения, обработки и извлечения. База данных представляет собой структурированное хранилище, управляемое специальным программным обеспечением — системой управления базами данных (СУБД). Термин широко используется в информатике, программировании и информационных технологиях.
¶Основные понятия
База данных включает в себя данные и метаданные — информацию о структуре, типах и правилах хранения данных. Ключевые характеристики БД:
- Целостность — данные остаются согласованными и корректными при любых операциях.
- Избыточность — минимизация дублирования информации.
- Независимость данных — изменение структуры не ломает приложения, работающие с БД.
- Защищённость — контроль доступа к данным.
- Общедоступность — возможность одновременной работы нескольких пользователей.
¶Классификация
¶По модели данных
| Модель | Описание | Примеры |
|---|---|---|
| Иерархическая | Дерево записей с родительско-дочерними связями | IBM IMS |
| Сетевая | Граф записей, расширение иерархической модели | IDMS |
| Реляционная | Данные в виде таблиц со связями между ними | PostgreSQL, MySQL, Oracle |
| Документная | Хранение документов (JSON, BSON) | MongoDB, CouchDB |
| Ключ-значение | Простое хранилище пар «ключ — значение» | Redis, Memcached |
| Графовая | Узлы и связи для представления сложных отношений | Neo4j, ArangoDB |
Реляционная модель, предложенная Эдгаром Коддом в 1970 году, стала доминирующей в корпоративных системах.
¶По способу доступа
- Локальные — хранятся на одном компьютере.
- Сетевые (распределённые) — данные разнесены между несколькими серверами.
- Облачные — предоставляются как услуга через интернет (Amazon RDS, Яндекс.Облако, Selectel).
¶По назначению
- Оперативные (OLTP) — для частых транзакций (продажи, банковские операции).
- Аналитические (OLAP) — для обработки больших объёмов и построения отчётов.
- Временные ряды — для хранения показателей, изменяющихся во времени (InfluxDB).
- Хранилища данных (Data Warehouse) — интегрированные БД для аналитики.
¶Система управления базами данных
СУБД — это комплекс программных средств, обеспечивающий создание, структурирование, обновление, поиск и защиту данных. Основные функции СУБД:
- Язык запросов — чаще всего SQL (Structured Query Language) для реляционных БД.
- Транзакции — группировка операций с гарантией атомарности (ACID: атомарность, согласованность, изолированность, долговечность).
- Индексы — ускоряют поиск по полям.
- Репликация — копирование данных на несколько серверов для отказоустойчивости.
- Резервное копирование — сохранение снимков состояния БД.
Популярные СУБД: PostgreSQL, MySQL, MariaDB, Oracle Database, Microsoft SQL Server, SQLite, ClickHouse, ClickHouse, Redis, MongoDB.
¶SQL — язык запросов
SQL является стандартным языком для работы с реляционными БД. Основные команды:
SELECT— выборка данных.INSERT— добавление записей.UPDATE— изменение данных.DELETE— удаление записей.CREATE TABLE— создание таблицы.JOIN— объединение данных из нескольких таблиц.
Пример запроса:
``sql SELECT name, price FROM products WHERE price > 1000 ORDER BY price DESC; ``
¶Применение
Базы данных используются практически во всех сферах:
- Банки — хранение счетов, транзакций, клиентских данных.
- Электронная коммерция — каталоги товаров, заказы, корзины.
- Медицина — электронные медицинские карты.
- Государственные системы — реестры, учёт граждан.
- Социальные сети — профили, сообщения, лента.
- Наука — геномные базы, астрономические каталоги.
¶Нормализация
Нормализация — процесс организации таблиц для устранения избыточности. Основные нормальные формы:
- 1НФ — атомарные значения, нет повторяющихся групп.
- 2НФ — нет частичных зависимостей от составного ключа.
- 3НФ — нет транзитивных зависимостей.
¶Интересные факты
- Первые системы управления базами данных появились в 1960-х годах (IBM IMS, 1968).
- Термин «база данных» ввёл Чарльз Бахман в 1960-х.
- Реляционная модель Эдгара Кодда описана в статье 1970 года «A Relational Model of Data for Large Shared Data Banks».
- В России одним из первых отечественных СУБД стала «Лотос» (1980-е), позднее — «Ред База Данных» (Red Database Software).
¶Источники
- Кодд Э. Ф. «A Relational Model of Data for Large Shared Data Banks», 1970.
- Дейт К. Дж. «Введение в системы баз данных».
- Коннолли Т., Бегг К. «Базы данных. Проектирование, реализация и сопровождение».
- Документация PostgreSQL, MySQL, Oracle Database.
