Я ответил, что таблицы имеют только один первичный ключ, но могут иметь множество уникальных ограничений. Но что еще?Каковы основные различия между первичным ключом и уникальным ограничением?
ответ
Первичная колонка никогда не может быть нулевой, может быть уникальной колонкой.
Вырезать и вставить мой комментарий, и получил вознаграждение ... – jarlh
Некоторые различия я мог думать:
- Первичный ключ не может быть пустым, тогда как уникальный позволит одно нулевое значение.
- У вас может быть несколько уникальных клавиш на столе, но только один первичный ключ.
Некоторые взяты из Википедии - Unique key - Differences from primary key constraints:
ограничение первичного ключа
- Первичный ключ не может позволить нулевой (первичный ключ не может быть определена на колоннах, которые позволяют обнуляет).
- В каждой таблице не может быть более одного первичного ключа.
- На некоторых СУБД первичный ключ по умолчанию генерирует кластерный индекс.
Уникальное ограничение
- Уникальное ограничение может быть определено на колоннах, которые позволяют аннулирует.
- Каждая таблица может иметь несколько уникальных ключей.
- На некоторых СУБД уникальный ключ генерирует некластеризованный индекс по умолчанию.
Надеюсь, вы не возражаете против фиксаций , Для меня это правильный ответ :)! Благодаря! – ivanleoncz
Трудно сказать, что, возможно, искал интервьюер. Есть много вариантов.
В стандартном SQL, ограничение объявлено primary key
и ограничение объявлено not null unique
вести себя так же на логическом уровне. Например, оба из них могут быть объектом ссылок на внешние ключи. Возможно, интервьюер хотел узнать о том, как это подходит null
. Нечеткое ограничение unique
допускает null; ограничение первичного ключа неявно объявляет каждый столбец not null
в T-SQL.
Или интервьюер, возможно, смотрел, чтобы увидеть отличается ли уникальный ограничение из уникального индекса. AFAIK, каждый dbms реализует уникальные ограничения, используя уникальный индекс. Но ограничение выражает что-то о базе данных на логическом уровне, а уникальный индекс выражает что-то о базе данных на физическом уровне.
SQL Server в частности
Интервьюер, возможно, хотел бы видеть, знали ли вы, что некоторые вычисляемые столбцы, но не все из них могут быть проиндексированы. (Это длинный выстрел.)
Возможно, интервьюер хотел посмотреть, не скажете ли вы о кластеризации.Ограничение первичного ключа по умолчанию составляет clustered
в SQL Server, но индекс по умолчанию равен nonclustered
.
Возможно, интервьюер хотел посмотреть, не хотите ли вы что-нибудь сказать о разрешениях. Обычно вам требуется более широкое разрешение для добавления ограничения, чем вам нужно добавить индекс.
Разница между UNIQUE ограничением и первичным ключом является то, что за стол вы можете иметь только один первичный ключ, но вы можете определить более одного UNIQUE ограничений. Основными ограничениями ключа являются: не может быть опущен. УНИКАЛЬНЫЕ ограничения могут быть nullable. Когда вы создаете ограничение UNIQUE, база данных автоматически создает индекс UNIQUE. Для баз данных MS SQL Server PRIMARY KEY генерирует уникальный CLUSTERED INDEX. УНИКАЛЬНОЕ ограничение приведет к созданию уникального НЕУКЛАДНОГО ИНДЕКСА.
- 1. В чем разница между первичным ключом и уникальным ограничением?
- 2. В чем разница между уникальным ключом с ограничением «не null» и первичным ключом?
- 3. Каковы основные различия между ASP.net и PHP?
- 4. Каковы основные различия между Flink и Storm?
- 5. Каковы основные различия между HTTP и COAP?
- 6. Каковы основные различия между Python и PHP?
- 7. В чем разница между основным ключом и уникальным ключевым ограничением?
- 8. Разница между основным ключом, уникальным ключом и ключом кандидата
- 9. Каковы основные различия между всеми двигателями mysql?
- 10. создание таблицы с первичным ключом и уникальным ключом
- 11. Каковы основные различия между использованием Parallel.ForEach & Task.Factory.StartNew
- 12. Каковы основные различия между MVVM и MVC в проекте WPF?
- 13. Каковы основные различия между OSGi и Java EE?
- 14. Каковы основные функциональные различия между Github Wiki и Readme,
- 15. Каковы основные различия между *^и & в visual-C++ 2010?
- 16. Каковы основные различия между компилятором g ++ в OSX и Linux?
- 17. Каковы основные различия между языками программирования R и S?
- 18. Каковы основные различия между таблицами CTE и TEMP?
- 19. Каковы основные различия между веб-API и ASP MVC
- 20. Каковы основные различия между ADODB и SqlClient в VB.net
- 21. Каковы основные различия между API-интерфейсами Repa 2 и 3?
- 22. Каковы основные различия между Android, iOS и Blackberry OS?
- 23. Каковы основные различия между .NET Framework 3.5 и 4.0?
- 24. Различия между минимальным ключом и ключом кандидата?
- 25. В чем разница между уникальным ограничением и уникальным индексом
- 26. Каковы различия между PECL и PEAR?
- 27. Каковы различия между mobiledata и облачными сервисами?
- 28. Как создать таблицу postgres с уникальным комбинированным первичным ключом?
- 29. Создание отношения между первичным ключом и составным ключом - phpMyAdmin
- 30. Каковы практические различия между монго и монго?
Столбец pk никогда не может быть нулевым, может быть уникальный столбец. – jarlh
http://stackoverflow.com/questions/9565996/difference-between-primary-key-and-unique-key –