Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ИОСУ Ч.1 _2016.docx
Скачиваний:
2
Добавлен:
31.01.2024
Размер:
2.97 Mб
Скачать

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

В 1970-1971 годах Е. Ф. Кодд опубликовал две статьи, в которых впервые ввел понятия реляционной модели данных и реляционных языков обработки данных - реляционной алгебры и реляционного исчисления.

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

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

В статье утверждалось, что «реляционная модель предоставляет средства описания данных на основе только их естественной структуры, т.е. без потребности введения какой-либо дополнительной структуры для целей машинного представления». Другими словами, представление данных в реляционной модели не зависит от способа их физической организации.

Таким образом, фундаментальным понятием реляционной модели данных является понятие отношения. Отношение представляют в виде таблицы. Например, таблица на рис. 7 содержит некоторые сведения о работниках предприятия.

Рис. 7.- Основные компоненты реляционного отношения

Рассмотрим основные понятия реляционной модели данных [3, 4, 6].

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

Строки таблицы в терминах реляционной модели соответствуют кортежам. Каждый кортеж отношения представляет собой множество пар вида «имя_атрибута, значение_атрибута». Каждая строка фактически представляет собой описание одного объекта реального мира (в данном случае работника), характеристики которого содержатся в столбцах (атрибутах).

Атрибут отношения – это пара вида «имя_атрибута, имя_домена». Имена атрибутов должны быть уникальны в пределах отношения. Часто имена атрибутов отношения совпадают с именами соответствующих доменов.

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

Несколько атрибутов одного отношения и даже атрибуты разных отношений могут быть определены на одном и том же домене. В примере на рис. 7 атрибуты Оклад и Премия определены на домене Деньги. Поэтому, понятие домена имеет семантическую нагрузку: данные можно считать сравнимыми только тогда, когда они относятся к одному домену. Таким образом, сравнение атрибутов Табельный номер и Оклад является семантически некорректным, хотя они содержат данные одного типа.

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

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

  • уникальность: в произвольный заданный момент времени никакие два различных кортежа отношения не имеют одного и того же значения для .

  • минимальность: ни один из атрибутов не может быть исключен из без нарушения уникальности.

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

В целом в реляционных моделях используются следующие виды реляционных ключей:

  1. Суперключ – атрибут или множество атрибутов, которые единственным образом идентифицируют кортеж данного отношения.

  2. Потенциальный ключ – суперключ, который не содержит подмножества, также являющегося суперключом данного отношения.

  3. Первичный ключ – потенциальный ключ, который выбран для уникальной идентификации кортежей внутри отношения.

  4. Альтернативный ключ – потенциальный ключ, не являющийся первичным ключом.

  5. Внешний ключ – атрибут или множество атрибутов внутри отношения, которое соответствует потенциальному ключу другого отношения.

Именованное множество пар «имя атрибута, имя домена» называется схемой отношения. Схема содержит две части: заголовок и тело.

Заголовок отношения содержит фиксированное количество атрибутов отношения. Он описывает декартово произведение доменов, на котором задано отношение. Заголовок статичен, он не меняется во время работы с БД. Если в отношении изменены, добавлены или удалены атрибуты, то в результате получим уже другое отношение (пусть даже с прежним именем).

Набор заголовков отношений, входящих в БД называется схемой реляционной БД.

Тело отношения представляет собой набор кортежей, т.е. подмножество декартового произведения доменов. Таким образом, тело отношения собственно и является отношением в математическом смысле слова. Оно может изменяться во время работы с БД – кортежи могут изменяться, добавляться и удаляться.

Число атрибутов в отношении называют степенью (или -арностью) отношения.

Количество кортежей отношения называют мощностью отношения (кардинальность, кардинальное число).

Таким образом, реляционной БД называется набор отношений.

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

Рис. 8 - Пример реляционной модели данных

Соседние файлы в предмете Информационное обеспечение систем управления