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