EINZIGARTIGER UND PRIMÄRER SCHLÜSSEL

7

Deklariert ein Attribut einer Tabelle als UNIQUE-Äquivalent, um es als PRIMARY KEY zu deklarieren?

vielen Dank!

    
ultrajohn 16.03.2010, 05:58
quelle

6 Antworten

8

Der Unterschied ist: Primärschlüssel erstellt standardmäßig gruppierten Index und nur eine PK kann in einer Tabelle vorhanden sein. Primärschlüssel kann mehrere Spalten umfassen (zusammengesetzter Schlüssel)

    
heisthedon 16.03.2010, 06:02
quelle
13

Nein.

PRIMARY KEYS müssen UNIQUE sein, aber UNIQUE-Schlüssel müssen nicht primär sein. Sie können mehrere eindeutige Schlüssel in einer Tabelle haben.

Der Hauptunterschied besteht darin, dass PRIMARY-Schlüssel keine NULL-Werte haben dürfen, da sie eine Zeile eindeutig identifizieren müssen. UNIQUE-Schlüssel können NULL sein, und mehrere NULL-Werte sind zulässig (es sei denn, Sie verwenden eine unübliche Tabellen-Engine wie BDB).

    
AvatarKava 16.03.2010 06:03
quelle
4

Nein, beide sind nicht gleich, aber ähnlich. Wenn eine Spalte eindeutig ist, hat sie eindeutige Werte, lässt aber auch einen Nullwert in dieser Spalte zu, aber Primary lässt keine Nullwerte zu. Primärschlüssel kann als Referenz in einer anderen Tabelle verwendet werden.

Sie können nur einen Primärschlüssel in einer Tabelle haben, aber mehrere eindeutige Schlüssel

Wenn Sie eine UNIQUE-Einschränkung deklarieren, erstellt SQL Server einen UNIQUE-Index, um die Suche nach Duplikaten zu beschleunigen. In diesem Fall wird der Index standardmäßig auf den NONCLUSTERED-Index gesetzt, da Sie nur einen CLUSTERED-Index pro Tabelle haben können.

  • Die Anzahl der UNIQUE-Einschränkungen pro Tabelle ist durch die Anzahl der Indizes in der Tabelle, d. h. 249 NONCLUSTERED-Index und einen möglichen CLUSTERED-Index, begrenzt.

Im Gegensatz zu PRIMARY-Schlüssel können UNIQUE-Bedingungen NULL nur einmal akzeptieren. Wenn die Einschränkung in einer Kombination von Feldern definiert ist, kann jedes Feld NULL akzeptieren und einige Werte enthalten, solange die Kombinationswerte eindeutig sind.

Glückliche Kodierung !!!

    
Ravia 16.03.2010 06:02
quelle
4

UNIQUE kann immer noch NULL sein.

PRIMARY KEY bedeutet UNIQUE und NOT NULL und es kann nur einen PRIMARY KEY pro Tabelle geben.

    
Thilo 16.03.2010 06:03
quelle
1

Nein. Sie sind nicht gleichwertig. Eindeutiger Schlüssel kann Nullwerte haben, aber Primärschlüssel darf keinen Nullwert haben. Hier ist der Link, der den Unterschied erklärt Ссылка

    
higgs_boson 23.10.2014 14:34
quelle
0

Nein. Eine Spalte als eindeutig zu definieren unterscheidet sich sehr davon, ob sie als Primärschlüssel oder Teil des Primärschlüssels dient.

    
netlogger 16.03.2010 06:03
quelle

Tags und Links