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

Основные понятия реляционной модели данных

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

Понятие «тип данных» адекватно понятию типа данных в языках программирования (поддерживаются символьные, числовые и другие типы данных).

Домен – допустимое подмножество элементов какого-либо типа данных; понятие домена имеет и семантическую нагрузку: данные считаются сравнимыми, когда они относятся и поддерживаются не во всех реляционных СУБД.

Схема отношения – это именованное множество пар {имя атрибута, имя домена} или, если понятие домена не поддерживается, то {имя атрибута, имя типа данных}.

Кортеж, соответствующий данной схеме отношения – это множество пар {имя атрибута, значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения: «значение» является допустимым значением домена (или типа данных, если понятие домена не поддерживается) данного атрибута.

Отношение – это множество кортежей, соответствующих одной схеме отношения. Иногда, чтобы не путаться, говорят «отношение-схема» и «отношение-экземпляр»; иногда схему отношения называют заголовком отношения, а отношение как набор кортежей – телом отношения.

Схема БД – это набор именованных схем отношений. Реляционная БД – это набор отношений, имена которых совпадают с именами схем отношений в схеме БД.

Часто, в том числе и в промышленных СУБД реляционного типа, используется житейская терминология, при этом отношение называется таблицей, схема отношения – заголовком таблицы, кортежи – строками таблицы, атрибуты – столбцами (именами столбцов) таблицы.

Главной структурной единицей в реляционной модели данных являются не отдельные записи-кортежи, а множества кортежей – отношения.

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

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

В настоящее время СУБД реляционного типа имеют наибольшее применение.

Напомним, что ключ или возможный ключ – это минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности. Минимальность означает, что исключение из набора любого атрибута не позволяет идентифицировать сущность по оставшимся. Каждая сущность обладает хотя бы одним возможным ключом. Один из них принимается за первичный ключ. При выборе первичного ключа следует отдавать предпочтение несоставным ключам или ключам, составленным из минимального числа атрибутов. Нецелесообразно также использовать ключи с длинными текстовыми значениями (предпочтительнее использовать целочисленные атрибуты). Так, для идентификации студента можно использовать либо уникальный номер зачетной книжки, либо набор из фамилии, имени, отчества, номера группы и может быть дополнительных атрибутов, так как не исключено появление в группе двух студентов (а чаще студенток) с одинаковыми фамилиями, именами и отчествами. Плохо также использовать в качестве ключа не номер блюда, а его название, например, " Закуска из плавленых сырков "Дружба" с ветчиной и соленым огурцом" или "Заяц в сметане с картофельными крокетами и салатом из красной капусты".

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

Теперь о внешних ключах:

  • Если сущность С связывает сущности А и В, то она должна включать внешние ключи, соответствующие первичным ключам сущностей А и В.

  • Если сущность В обозначает сущность А, то она должна включать внешний ключ, соответствующий первичному ключу сущности А.

Соседние файлы в папке Управлінські_інф_системи 2012