<На страницу назад | На страницу вперед >

3.6. Первичные и альтернативные ключи

Семантика первичных и альтернативных ключей

Возможный ключ сущности - это один или несколько атрибутов, чьи значения однозначно определяют каждый экземпляр сущности., Например, НОМЕР_ЗАКАЗА_НА_ПОКУПКУ может однозначно определить экземпляр сущности ЗАКАЗ_НА_ПОКУПКУ. Комбинация атрибутов НОМЕР_СЧЕТА и НОМЕР_ЧЕКА может однозначно определить экземпляр сущности ЧЕК.

Каждая сущность должна обладать хотя бы одним возможным ключом. В некоторых случаях сущность может иметь более одного атрибута или группу атрибутов, однозначно идентифицирующих экземпляры сущности. Например, каждый из атрибутов НОМЕР_СЛУЖАЩЕГО и НОМЕР_ПОЛИСА может однозначно идентифицировать экземпляр сущности СЛУЖАЩИЙ.

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

Синтаксис первичных и альтернативных ключей

Определяющие первичный ключ атрибуты размещаются наверху списка атрибутов в блоке сущности и отделяются от других атрибутов горизонтальной чертой (см. рис. 3-7).

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

Рис. 3-8. Синтаксис альтернативных ключей

Правила первичных и альтернативных ключей

  1. Каждая сущность должна обладать первичным ключом.
  2. Каждая сущность может обладать любым числом альтернативных ключей.
  3. Первичный или альтернативный ключ может состоять из одного атрибута или комбинации атрибутов.
  4. Отдельный атрибут может быть частью более чем одного ключа, первичного или альтернативного.
  5. Атрибуты, входящие в первичные или альтернативные ключи сущности, могут быть собственными для сущности или наследоваться через отношения. (См. раздел 3.7 "Внешние ключи").
  6. Первичные и альтернативные ключи должны содержать только необходимые для однозначной идентификации атрибуты, т.е. при исключении из ключа любого атрибута не все экземпляры сущности могут быть однозначно определены (правило наименьшего ключа).
  7. Если первичный ключ состоит более чем из одного атрибута, то значение любого неключевого атрибута должно функционально зависеть от всего первичного ключа, т.е. если первичный ключ известен, то известно значение каждого неключевого атрибута, и значение неключевого атрибута не может быть определено с помощью только части первичного ключа (правило полной функциональной зависимости).
  8. Каждый неключевой атрибут должен функционально зависеть только от первичного и альтернативных ключей, т.е. значение неключевого атрибута не может определяться значением другого неключевого атрибута (правило отсутствия транзитивной зависимости).

<На страницу назад | На страницу вперед >