Ключи и поддержка целостности.

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

 

Потенциальный ключ должен иметь следующие свойства:

- уникальность (на практике – обязательное условие);

- неизбыточность (на практике – может быть нарушено);

 

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

 

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

Различные объекты предметной области, информация о которых хранится в базе данных, всегда взаимосвязаны друг с другом. Например, накладная на поставку товара содержит список товаров с количествами и ценами, сотрудник предприятия имеет детей, числится в подразделении и т.д. Термины "содержит", "имеет", "числится" отражают взаимосвязи между понятиями. Такие взаимосвязи отражаются в реляционных базах данных при помощи внешних ключей(foreign key), связывающих несколько отношений.

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

  1. Существует отношение S (R и S не обязательно различны) с потенциальным ключом K.
  2. Каждое значение A в отношении R всегда совпадает со значением K для некоторого кортежа из S, либо является null-значением.

Отношение S называется родительским отношением, отношение R называется дочерним отношением.

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

 

1. Правило структурной целостности: допускается работа только с однородными структурами данных типа «реляционное отношение».

2. Правило целостности объектов: первичный ключ отношения не должен содержать значений NULL.

3. Правило языковой целостности: реляционная СУБД должна обеспечивать языки описания и манипулирования данными не ниже стандарта SQL.

 

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

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

- кортежи подчинённого отношения уничтожаются при удалении кортежа основного отношения, связанного с ними.

- кортежи основного отношения модифицируются при удалении кортежа основного отношения, связанного с ними, при этом на месте ключа родительского отношения ставится значение NULL.

 

Для внешнего ключа характерны следующие свойства:

- Каждое значение атрибута внешнего ключа должно являться значением соответствующего потенциального ключа. Причём обратное необязательно.

- Количество атрибутов внешнего ключа должно соответствовать количеству атрибутов потенциального ключа. Если внешний ключ – составной, то и потенциальный – составной.

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

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

- Для атрибутов внешнего ключа разрешается иметь значение NULL.

 

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








Дата добавления: 2015-07-30; просмотров: 1167;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.