Открыть сервис

Реляционные базы данных

Реляционная база данных — это база данных, основанная на реляционной модели данных, предложенной Эдгаром Коддом в 1970 году. В такой модели данные представляются в виде совокупности взаимосвязанных таблиц (отношений), каждая из которых состоит из строк (кортежей) и столбцов (атрибутов). Основным преимуществом реляционных баз данных является возможность гибкого и эффективного управления данными с помощью структурированного языка запросов SQL (Structured Query Language), а также обеспечение целостности, непротиворечивости и независимости данных.

История

Предпосылки и создание

До появления реляционной модели данные в вычислительных системах хранились в иерархических и сетевых базах данных, которые были жёстко структурированы и требовали сложных навигационных запросов. В 1970 году Эдгар Кодд, работавший в исследовательской лаборатории IBM, опубликовал статью «A Relational Model of Data for Large Shared Data Banks», в которой предложил математическую модель, основанную на теории множеств и предикатов. Кодд стремился устранить недостатки существующих моделей, в первую очередь — зависимость логической структуры данных от физической организации хранения.

Развитие и стандартизация

В 1970-х годах в IBM началась разработка прототипа реляционной СУБД System R, которая стала основой для языка SQL. В 1979 году компания Relational Software (позднее Oracle) выпустила первую коммерческую реляционную СУБД — Oracle 2. В 1980-х годах реляционные базы данных стали доминирующим типом СУБД, вытеснив иерархические и сетевые системы. В 1986 году SQL был стандартизирован ANSI, а в 1987 году — ISO. В 1990-х годах появились первые реляционные СУБД с открытым исходным кодом, такие как MySQL и PostgreSQL.

Основные понятия

Таблица (отношение)

Таблица является основным структурным элементом реляционной базы данных. Она состоит из строк (записей) и столбцов (полей). Каждая строка представляет собой уникальный экземпляр сущности (например, «клиент», «заказ»), а каждый столбец — атрибут этой сущности (например, «имя», «дата рождения»). Таблица должна удовлетворять следующим требованиям:

Ключи

Для обеспечения уникальности и связей между таблицами используются ключи:

Нормализация

Нормализация — это процесс организации данных в таблицах для минимизации избыточности и устранения аномалий при вставке, обновлении и удалении. Выделяют несколько нормальных форм (НФ):

Язык SQL

SQL (Structured Query Language) — декларативный язык программирования, предназначенный для управления данными в реляционных базах данных. SQL включает несколько подмножеств:

Архитектура и принципы

Трёхуровневая архитектура

Реляционные СУБД обычно следуют трёхуровневой архитектуре ANSI/SPARC, предложенной в 1975 году:

Транзакции и ACID

Транзакция — это логическая единица работы, которая выполняется полностью или не выполняется вовсе. Для обеспечения надёжности реляционные СУБД поддерживают свойства ACID:

Классификация реляционных СУБД

По модели распространения

По архитектуре

Применение

Реляционные базы данных широко используются в различных областях:

Преимущества и недостатки

Преимущества

Недостатки

Критика и альтернативы

В конце 2000-х годов с ростом объёмов данных и требований к высокой доступности возникло движение NoSQL, предлагающее альтернативные модели хранения (документоориентированные, графовые, ключ-значение, колоночные). Критики реляционных баз данных отмечают их избыточность для простых задач, сложность горизонтального масштабирования и жёсткость схемы. Тем не менее, реляционные базы данных остаются основным инструментом для большинства задач, требующих надёжности, согласованности и сложных запросов.

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →