деталей, поставленное конкретным поставщиком для конкретного
изделия, то потенциальным ключом отношения SPJ является
подмножество {S#, P#, J#}.
Если нас интересуют сведения о поставках по датам поставок,
то в схему отношения SPJ необходимо включить атрибут дата
поставки (Dt). В этом случае подмножество {S#, P#, J#} уже не
будет обладать свойством уникальности. Потенциальным ключом
будет четверка {S#, P#, J#, Dt}.
Если поставкам присваиваются уникальные номера, то в
схему отношения SPJ должен быть включен атрибут номер поставки
(SPJ#), вследствие чего оно приобретет еще один возможный ключ
{SPJ#}.
Если потенциальный ключ содержит единственный атрибут, то
он называется простым. В противном случае – составным.
Неизбыточность потенциального ключа не эквивалентна
минимальности состава атрибутов. И {SPJ#}, и {S#, P#, J#, Dt} –
потенциальные ключи несмотря на то, что в первом единственный
атрибут, а во втором – четыре.
Если отношение имеет несколько возможных ключей, то один
из них выделяется и помечается как первичный. Тогда все остальные
возможные ключи называются альтернативными. Первичные
ключи обеспечивают механизмы связи отношений (см. п. 2.3.3).
В качестве первичного может быть выделен любой возможный
ключ. Это решение проектировщика. Однако важно подчеркнуть, что
при анализе данных в процессе проектирования БД необходимо
выявить и указать все потенциальные ключи каждого отношения.
Только так можно обеспечить отражение в модели соответствующих
бизнес-правил. С другой стороны, объявляя все возможные ключи,
аналитик указывает проектировщику ФБД все обусловленные
семантикой пути быстрого доступа к данным.
2.3.4 Внешние ключи. Рассмотрим отношение SPJ
1
(ПОСТАВКА). Оно содержит атрибуты S#, P#, J#, значения которых
указывают, какой ПОСТАВЩИК, для какого ИЗДЕЛИя поставил
1
Далее в этом разделе рассматривается схема SPJ(S#, P#, J#, Qt).