Відповіді:
Одна з головних відмінностей полягає в тому, що унікальний індекс може мати значення NULL, яке не дозволено в первинному ключі. Кластерно чи ні, це головна відмінність практичної реалізації Первинного ключа від Унікального ключа.
О, і те, що на столі може бути одна ПК та багато Великобританії :-).
Це обидві відмінності в НАМЕРЕННІ, а не в ВИВЧЕННІ. Інакше я не думаю, що різниці є. За будь-яким ПК або Великобританією SQL Server створює індекс (залежно від запиту, кластеризованого чи ні), і спосіб його використання є прозорим для джерела.
PRIMARY KEY
і NOT NULL UNIQUE
колишнім було б набагато важче перетворитись NULL UNIQUE
(особливо, якщо на обмеження вже посилався іноземний ключ). Безумовно, не допустити випадкових змін з NOT NULL
до NULL
.
Між кластеризованим первинним ключем і унікальним кластерним індексом не має нічого іншого, крім унікального кластерного індексу, може мати значення NULL.
Не унікальний кластерний індекс має унікальний код, з яким потрібно звертатися за унікальними значеннями.
NOT NULL UNIQUE CLUSTERED
або (B), щоб підкреслити, що певний UQ є "особливим" у сенсі метаданих, навіть якщо RDMS є агностичним?