База данных¶
База данных (англ. database, сокр. БД) — упорядоченная совокупность данных, организованная и хранимая так, чтобы к ней можно было обращаться и управлять ею с помощью систем управления базами данных (СУБД). Термин широко используется в информатике и описывает как логическую структуру данных, так и физическое их хранение на носителях. В разговорной речи и в интернет-сообществах слово «датабае» является транслитерацией английского слова database и употребляется как синоним «базы данных».
¶Происхождение термина
Слово «database» (база данных) появилось в англоязычной технической литературе в 1960-х годах, одновременно с развитием первых систем управления базами данных. В русский язык термин пришёл как калька — «база данных», и закрепился в ГОСТ и учебной литературе. Транслитерация «датабае» возникла позже, с распространением интернет-форумов и неформального общения, где пользователи смешивают русскую и английскую лексику.
¶Классификация баз данных
По модели данных базы делятся на несколько основных типов:
| Тип | Особенности |
|---|---|
| Иерархические | Данные организованы в виде дерева, родительские и дочерние узлы |
| Сетевые | Расширение иерархической модели, связи many-to-many |
| Реляционные | Данные в виде таблиц со строками и столбцами; наиболее распространены |
| Документные | Хранение структурированных документов (JSON, BSON) |
| Ключ-значение | Простейшая модель: каждому ключу соответствует значение |
| Графовые | Ориентированы на связи между объектами (свойства, отношения) |
| Нереляционные (NoSQL) | Обобщённое название документных, ключ-значение, графовых и столбцовых БД |
Реляционные базы данных, основанные на реляционной модели Эдгара Кодда (1970), остаются наиболее широко применяемыми в корпоративных информационных системах, бухгалтерии, банковских и государственных реестрах.
¶Системы управления базами данных
Для создания, чтения, обновления и удаления данных (операции CRUD) используются СУБД — специализированное программное обеспечение. Крупнейшие реляционные СУБД:
- PostgreSQL — открытая СУБД с расширенной поддержкой SQL и объектно-ориентированных возможностей;
- MySQL / MariaDB — популярные открытые СУБД, часто используемые в веб-разработке;
- Microsoft SQL Server — коммерческая СУБД от Microsoft;
- Oracle Database — коммерческая СУБД, распространённая в крупных корпорациях;
- SQLite — встраиваемая СУБД, работающая без отдельного сервера;
- 1С:Предприятие — в России широкое распространение получила платформа 1С, использующая собственную СУБД (в том числе СУБД «1С:Предприятие 8» и поддержку PostgreSQL).
Среди нереляционных СУБД известны MongoDB, Redis, Cassandra, ClickHouse и Neo4j.
¶Устройство и основные понятия
База данных состоит из таблиц (в реляционной модели), которые содержат записи (строки) и атрибуты (столбцы). Ключевые понятия:
- Первичный ключ — уникальный идентификатор записи;
- Внешний ключ — ссылка на запись другой таблицы, обеспечивающая целостность данных;
- Индекс — служебная структура, ускоряющая поиск;
- Транзакция — атомарная последовательность операций, выполняемых как единое целое (свойства ACID: атомарность, согласованность, изолированность, долговечность);
- Нормализация — процесс приведения схемы к нормальным формам для устранения избыточности.
¶Применение
Базы данных используются практически повсеместно:
- Государственные реестры — ЕГРЮЛ, реестр недвижимости (ЕГРН), базы данных Минздрава;
- Банковские системы — хранение счетов, транзакций, кредитных историй;
- Веб-приложения — аккаунты пользователей, каталоги товаров, комментарии;
- Научные исследования — геномные базы (GenBank), астрономические каталоги;
- Промышленность — учёт оборудования, телеметрия, SCADA-системы.
¶Интересные факты
- Объём мировых данных к 2025 году оценивается в десятки зеттабайт (10²¹ байт); значительная часть хранится в распределённых базах данных.
- В России действует закон «О персональных данных» (ФЗ-152), обязывающий операторов баз персональных данных хранить их на территории РФ.
- Термин «датабае» иногда используется в мемах и неформальных обсуждениях как намеренно искажённое написание «database».
¶Источники
- Кодд Э. Ф. «A Relational Model of Data for Large Shared Data Banks», 1970.
- ГОСТ Р ИСО/МЭК 7498-1 — информационные технологии. Модель взаимодействия открытых систем.
- Силбершлатц Б., Форсайт Дж., Суонсон Д. «Системы баз данных. Практическое руководство».
- Документация PostgreSQL, MySQL, MongoDB.
