Базы данных¶
База данных — это организованная совокупность данных, хранящихся в электронном виде и предназначенных для обработки информационной системой; совокупность данных, систематизированных таким образом, чтобы к ним можно было обращаться и управлять ими удобным образом. Базы данных являются основой информационных систем и используются в банках, государственных структурах, промышленности, науке и повседневной жизни.
¶Основные понятия
База данных включает данные и программное обеспечение для их обработки — систему управления базами данных (СУБД). Данные хранятся в виде таблиц, связанных между собой по определённым правилам. Каждая таблица состоит из строк (записей) и столбцов (полей). Связи между таблицами позволяют избегать дублирования информации и поддерживать её целостность.
Ключевые термины:
- Запись — набор данных об одном объекте (например, о сотруднике).
- Поле (атрибут) — характеристика объекта (имя, дата рождения, адрес).
- Таблица (отношение) — набор однотипных записей.
- Связь — правило соединения данных из разных таблиц.
- Индекс — служебная структура, ускоряющая поиск.
¶Классификация
¶По модели данных
| Модель | Описание | Примеры СУБД |
|---|---|---|
| Иерархическая | Данные организованы в виде дерева | IMS |
| Сетевая | Связи между записями описывают граф | IDMS |
| Реляционная | Данные хранятся в таблицах с жёсткой структурой | PostgreSQL, Oracle, MySQL, Microsoft SQL Server |
| Документная | Данные хранятся в виде документов (JSON, BSON) | MongoDB, CouchDB |
| Ключ-значение | Простое хранение пар «ключ — значение» | Redis, Memcached |
| Графовая | Данные хранятся в виде узлов и связей | Neo4j, OrientDB |
Реляционная модель, предложенная в 1970 году Эдгаром Коддом, стала наиболее распространённой. В 2000-х годах получили распространение так называемые NoSQL-системы, ориентированные на большие объёмы данных и распределённое хранение.
¶По способу доступа
- Локальные — данные хранятся на одном компьютере.
- Клиент-серверные — данные хранятся на сервере, доступ к нему осуществляется с нескольких клиентов.
- Распределённые — данные разнесены по нескольким серверам, часто в разных географических точках.
¶По назначению
- Оперативные (OLTP) — обрабатывают множество мелких транзакций (банковские операции, продажи).
- Аналитические (OLAP) — предназначены для анализа больших объёмов данных (отчётность, прогнозирование).
¶Система управления базами данных
СУБД — это программа, обеспечивающая создание, обновление, поиск и защиту данных. Основные функции:
- Язык запросов — обычно SQL (Structured Query Language), стандартный язык для реляционных баз данных.
- Транзакции — набор операций, выполняемых как единое целое (свойства ACID: атомарность, согласованность, изолированность, долговечность).
- Контроль доступа — разграничение прав пользователей.
- Резервное копирование — восстановление данных после сбоев.
- Индексация — ускорение поиска.
¶История
В 1960-х годах появились первые системы хранения данных — IMS (Information Management System) от IBM, построенная по иерархической модели. В 1970 году Эдгар Кодд опубликовал статью, в которой предложил реляционную модель данных. В 1974 году была создана СУБД System R (IBM), а в 1979 году вышла первая коммерческая реляционная СУБД Oracle.
В России разработкой баз данных и СУБД занимались ведущие институты АН СССР. Наиболее известной отечественной разработкой стала СУБД «Логика» и позднее — «Ред База Данных» (Ред Софт), а также СУБД «Постгрес» (PostgreSQL) — форк реляционной СУБД, разработанной в Беркли. С 2000-х годов в России развивается проект «Редис» и отечественные СУБД, включая «Эксперт» (разработка компании «Эксперт-Системы»), «InterBase» и «1С:Предприятие 8» с встроенной СУБД.
¶Применение
Базы данных используются практически во всех сферах:
- Банки — хранение счетов, транзакций, кредитных историй.
- Торговля — каталоги товаров, складские остатки, история заказов.
- Медицина — электронные медицинские карты.
- Наука — геномные базы данных (например, GenBank), астрономические каталоги.
- Государство — реестры граждан, налоговая отчётность.
- Интернет — социальные сети, поисковые системы, онлайн-игры.
¶Интересные факты
- Объём мировых данных оценивается в десятки зеттабайт и продолжает расти экспоненциально.
- Первый стандарт SQL принят в 1986 году (ANSI X3.135-1986), позднее он стал международным стандартом ISO.
- СУБД PostgreSQL считается одной из самых надёжных и активно развивается с 1996 года.
¶Источники
- Кодд Э. «A Relational Model of Data for Large Shared Data Banks», 1970.
- Смит П., Фонн С. «Реляционные базы данных: проектирование и реализация».
- Гарсиа-Молина Х., Ульман Дж., Уидом Дж. «Системы баз данных: полный курс».
- Документация PostgreSQL, Oracle, MySQL.
