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

В конце 60-х годов появились работы, в которых обсуждались возможности применения различных табличных даталогических моделей данных, т.е. возможности использования привычных и естественных способов представления данных. Наиболее значительной из них была статья сотрудника фирмы IBM д-ра Э.Кодда (Codd E.F., A Relational Model of Data for Large Shared Data Banks. CACM 13: 6, June 1970), где, вероятно, впервые был применен термин "реляционная модель данных".

Будучи математиком по образованию Э.Кодд предложил использовать для обработки данных аппарат теории множеств (объединение, пересечение, разность, декартово произведение). Он показал, что любое представление данных сводится к совокупности двумерных таблиц особого вида, известного в математике как отношение – relation (англ.)

В соответствии с реляционным методом каждая сущность предметной области представляется таблицей. Каждый столбец такой таблицы содержит значения одного из атрибутов сущности. Каждая строка содержит все признаки одного из экземпляров сущности. Связи между сущностями представляются связями между атрибутами таблиц. Для заполненных данными таблиц связи показывают, какие экземпляры одной таблицы связаны с экземплярами другой таблицы. Связь выполняется по совпадающим значениям одного или нескольких столбцов связанных таблиц.

В реляционной модели различают следующие типы связей:
а) 1 : 1 (один к одному) – одной строке таблицы соответствует не более одной строки в другой таблице (группа - староста)

б) 1 : N (один ко многим) – одной строке таблицы может соответствовать несколько строк в другой таблице (группа - студент):

в) M : N (много ко многим) – одна строка первой таблицы связана с несколькими строками второй таблицы, и одна строка второй таблицы связана с несколькими строками первой (предмет - преподаватель).

Связь 1 : 1 является частным случаем связи 1 : M, а связь M : N можно представить с помощью связей типа 1 : N (возможно, введением дополнительных таблиц или атрибутов в муществующие таблицы). Таким образом, наиболее общим случаем связи является связь типа 1 : N. В этом случае первая таблица называется родительской, вторая – дочерней. Один или несколько атрибутов, по которым осуществляется связь, называются в дочерней таблице внешним ключом.

Требованием реляционной модели является уникальность строк в каждой таблице. Минимальный набор атрибутов, по совокупности которых все строки попарно различны, называется ключом (первичным ключом) таблицы.

Посмотрим, как данный подход удовлетворяет требованиям 1- 7:
1. Обработка постоянных (перманентных) данных. Таблицы сохраняются на диске в одном или нескольких файлах.

2. Централизованная обработка данных на основе стандартов. В качестве стандарта рассматриваются формат записи таблиц в файле, а также формат записи информация о структуре таблиц.

3. Интеграция данных. Реляционные СУБАЗЫ ДАННЫХ позволяют таблицы одинаковым образом, кроме того, возможна обработка данных из нескольких таблиц как данных одной объединенной таблицы.

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

5. Целостность хранимых данных. При хранении данных необходимо обеспечить контроль их непротиворечивости (особенно в случае дублирования части данных) и корректности связей между элементами данных. На уровне БАЗЫ ДАННЫХ осуществляется контроль соответствия типов данных (в ячейку типа строка может быть записана только строка) и ограничений целостности.

Контроль ограничений целостности обеспечивает сохранение корректности связей:
а) при добавлении строки в дочернюю таблицу – должен существовать соответствующий ключ в родительской таблице
б) при добавлении строки в таблицу – должны различаться значения атрибутов ключа новой строки и всех старых.
в) при удалении записи в родительской таблице должны быть удалены все связанные записи в дочерней таблице
г) при изменении атрибутов связи строки родительской таблицы - должны измениться соответствующие значения в связанных строках дочерней таблицы.

6. Эффективность обработки данных. Для реляционной модели БАЗЫ ДАННЫХ теоретически разработаны и практически реализованы эффективные алгоритмы обработки данных.

7. Язык управления данными. Для управления реляционными данными разработан эффективный и универсальный структурированный язык запросов SQL. Кроме того, различные СУБАЗЫ ДАННЫХ содержат встроенные языковые средства обработки данных.

Лекция 5

Наши рекомендации