Наличие более одного атрибута в качестве первичного ключа для сущности? - PullRequest
0 голосов
/ 19 сентября 2018

Могут ли сущности иметь только один атрибут в качестве первичного ключа?Или, возможно, возможно, чтобы набор атрибутов был первичным ключом?

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

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

Реляционная таблица должна иметь как минимум один ключ и может иметь много.Любой из этих ключей может состоять из нескольких атрибутов.

0 голосов
/ 19 сентября 2018

Первичный ключ - это логическое ограничение, состоящее из набора атрибутов, которые однозначно идентифицируют членов набора;эта коллекция может иметь только одного члена.Другими словами, да.

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

См. https://www.databasejournal.com/features/mssql/article.php/3922066/SQL-Server-Natural-Key-Verses-Surrogate-Key.htm длядополнительное обсуждение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...