Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции СУБД.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
6.32 Mб
Скачать

4.2.4 Свойства отношений

 Отношение имеет имя, которое отличается от имен всех других отношений

 Каждая ячейка отношения содержит только атомарное (неделимое) значение

 Каждый атрибут имеет уникальное имя

 Значения атрибута берутся из одного и того же домена

 Порядок следования атрибутов не имеет никакого значения

 Каждый кортеж является уникальным, т. е. дубликатов кортежей быть не должно. В реляционных СУБД для таблиц предусматриваются специальные поля, называемые первичными ключами (primary key), значения которых не могут быть одинаковыми для разных кортежей, т.е. для ключевого столбца предусматривается соблюдение уникальности на значения.

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

4.2.5 Реляционная целостность

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

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

Целостность сущностей

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

Определитель NULL  указывает, что значение атрибута в настоящий момент неизвестно.

Определитель NULL следует воспринимать как логическую величину “неизвестно” (никакое значение еще не задано).

Определитель NULL не следует понимать как нулевое численное значение или заполненную пробелами текстовую строку. Нули и пробелы представляют собой некоторые значения, тогда как ключевое слово NULL призвано обозначать отсутствие какоголибо значения. Следовательно, определитель NULL следует рассматривать иначе, не так, как другие значения.

По определению, первичный ключ  это уникальный идентификатор кортежей отношения. Это значит, что никакое подмножество ключа не может быть достаточным для уникальной идентификации кортежей. Если допустить присутствие значения NULL в любой части первичного ключа, это равноценно утверждению, что не все его атрибуты необходимы для идентификации, что противоречит определению.

Ссылочная целостность

Второе ограничение целостности касается внешних ключей.

Внешний ключ (foreign key)  Это атрибут или множество атрибутов внутри отношения, которое соответствует первичному ключу некоторого отношения.

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

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