Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
64
Добавлен:
27.03.2015
Размер:
63.49 Кб
Скачать

Лекция 3

Реляционная модель

  1. Что такое реляционная система

Почти все продукты баз данных, созданные за последние 20 лет, основаны на подходе, который называют реляционным (relational), и подавляющее большинство научных исследований в области баз данных проводилось в этом направлении. Еще в конце 60-х годов появились работы, в которых обсуждались возможности применения табличных моделей данных, т.е. возможности использования привычных и естественных способов представления данных. Наиболее значительной из них была статья сотрудника фирмы IBM д-ра Э.Кодда, где, вероятно, впервые был применен термин "реляционная модель данных". Будучи математиком по образованию Э.Кодд предложил использовать для обработки данных аппарат теории множеств (объединение, пересечение, разность, декартово произведение). Он предложил представлять данные как совокупности двумерных таблиц особого вида, известного в математике как отношение – relation (англ.). Это привнесло в область управления БД ранее недостававшие качества: строгие принципы и точность.

Для начала представим грубое приблизительное определение реляционной системы.

Реляционная система – это система, основанная на принципах:

  1. данные пользователю представляются в виде таблиц и никак иначе;

  2. пользователем используются операторы обработки данных, генерирующие новые таблицы из старых1.

Из данного определения следует важный вывод: результат любой операции над таблицами – это также таблица. Это свойство называется свойством замкнутости. Это значит, что над результатом операции можно проделать новую операцию, т.е. использовать вложенные выражения. Другой вывод заключается в том, что операции применяются к каждой таблице, участвующей в операции, целиком, т.е. ко всем ее строкам. Такая возможность обработки множества – одна из главных отличительных характеристик реляционных систем. Добавим, что таблицы в реляционной системе являются логическими, а не физическими структурами. На физическом уровне система может использовать любой метод хранения – последовательные файлы, индексирование, хеширование, цепочки указателей и т.п., но все эти детали скрыты от пользователя. Реляционная теория ничего не говорит о внутреннем уровне вообще, оставляя проблемы реализации физического хранения за рамками рассмотрения.

На рис. 3.1 показан простой пример реляционной базы данных групп и студентов.

Группа

Номер группы

Название

Год формирования

D1

1-ИЭ

1999

D2

2-ИЭ

1998

D3

3-ИЭ

1997

D4

1-ЭФ

1999

Студент

Номер студента

Фамилия

Номер группы

Дата рождения

57001

Усманова

D2

28.02.81

45002

Хализов

D2

23.05.81

34356

Астанина

D3

29.09.80

46754

Володин

D3

26.12.79

Рис. 3.1. База данных студентов и групп

Анализируя пример, можно заметить замечательное свойство реляционной БД: все информационное (в т.ч. и связи!) содержимое БД представлено одним и только одним возможным способом, а именно: явным заданием значений данных. В частности, нет никаких указателей, связывающих содержимое одной таблицы с содержимым другой2. А в нереляционных системах такая информация представляется неким указателем, который пользователь видит явно.

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

Специальность

Группы

071900

1-ИЭ, 2-ИЭ, 3-ИЭ

Ее особенность в том, что она содержит группу повторения. Такие таблицы, содержащие группы повторения, в реляционных БД недопустимы.

Соседние файлы в папке Лекции