Ich möchte den Unterschied zwischen diesen beiden Schlüsseln wissen.
Wenn der Unique-Schlüssel mit not null
hinsichtlich der Art und Weise, wie er in der Datenbank gespeichert ist, einschränkt
und welchen Unterschied gibt es, wenn wir Select,Insert,Update, Delete
Operation für diese Schlüssel machen.
Ein Primärschlüssel muss eindeutig und nicht null sein, daher sind sie von diesem Standpunkt aus gleich. Eine Tabelle kann jedoch nur einen Primärschlüssel haben, während Sie mehrere eindeutige Nicht-Null-Schlüssel haben können.
Die meisten Systeme verwenden Metadaten auch, um Primärschlüssel separat zu kennzeichnen, damit sie von Designern usw. identifiziert werden können.
Was sind die Unterschiede zwischen einem Primärschlüssel und einem eindeutigen Schlüssel mit Nicht-Null-Beschränkungen in Bezug auf die Art, wie sie in der Datenbank gespeichert sind
?
Wenn beide entweder CLUSTERED
oder NON CLUSTERED
sind, besteht der einzige Unterschied in Metadaten in den meisten Systemen, um einen Index als PK zu kennzeichnen.
Welchen Unterschied gibt es, wenn wir
Select
,Insert
,Update
,Delete
für diese Schlüssel ausführen
Keine.
Um Ihre Antwort zu kommentieren, Ja! Im Allgemeinen besteht ein großer Unterschied darin, wie eindeutige Schlüssel und Primärschlüssel in SQL Server 2008 gespeichert sind.
Ein eindeutiger Schlüssel standardmäßig (Sie können dies ändern) wird als nicht gruppierter Index erstellt, und ein PK wird standardmäßig als
Nicht gruppiert bedeutet, dass es in einer Struktur gespeichert wird, die an die Tabelle "angehängt" ist und Speicherplatz belegt.
Clustered bedeutet, dass die Datensätze tatsächlich in dieser physischen Reihenfolge gespeichert werden und kein Speicherplatz belegt. Daher kann Ihre Tabelle nur einen Clustered-Index besitzen. (Nur wenn Sie sich wundern ... nein, Sie können nicht 2 nicht geclusterte PK in einer Tabelle bekommen, PK sind einzigartig, auch wenn sie nicht geclustert sind.)
a. Sowohl der Primärschlüssel als auch der eindeutige Schlüssel erzwingen die Eindeutigkeit der Spalte, in der sie definiert sind. Standardmäßig erstellt der Primärschlüssel jedoch einen gruppierten Index für die Spalte, während der eindeutige Schlüssel standardmäßig einen nicht gruppierten Index erstellt. Ein weiterer wichtiger Unterschied besteht darin, dass der Primärschlüssel keine NULL-Werte zulässt, der eindeutige Schlüssel jedoch nur einen NULL-Wert zulässt.
Tags und Links sql sql-server-2008