Was ist der Unterschied zwischen dem eindeutigen Schlüssel und der Nicht-Null-Bedingung und dem Primärschlüssel?

8

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.

    
Bhavesh Kachhadiya 05.12.2013, 16:01
quelle

4 Antworten

15

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.

    
D Stanley 05.12.2013, 16:07
quelle
6

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 gruppierter Index erstellt ( du kannst das auch ändern).

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.)

    
jean 05.12.2013 16:29
quelle
0

Der Primärschlüssel darf nicht null sein, es kann nur einen pro Tabelle geben.

Eindeutige Schlüssel können Nullen enthalten und Sie können mehr als einen pro Tabelle haben.

    
Andrew 05.12.2013 16:07
quelle
0

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.

    
Glen Joseph 28.01.2014 07:59
quelle

Tags und Links