2016-02-03 1 views
1

Я знаю концепцию всех ключей, используемых в базе данных, которые включаютОпределение ключей в базе данных

Super Key 
    Candidate key 
    Primary key 
    Foreign Key 
    Surrogate key 

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

Есть ли советы или рекомендации, которые необходимо запомнить и использовать для разграничения между этими ключами?

ответ

0

Все СУБД предоставляют каталог или аналогичные средства просмотра ограничений, применяемых к таблице. Как минимум, ограничения обычно говорят вам, какие ключи кандидата, первичные ключи и внешние ключи. Superkey просто означает любой набор атрибутов, который включает ключ-кандидат.

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

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