Für eine Organisation oder ein Unternehmen gibt es so viele physische Entitäten (wie Personen, Ressourcen, Maschinen usw.) und virtuelle Entitäten (ihre Aufgaben, Transaktionen, Aktivitäten). In der Regel muss das Unternehmen Informationen dieser Geschäftseinheiten aufzeichnen und verarbeiten. Diese Geschäftseinheiten werden innerhalb einer gesamten Geschäftsdomäne durch einen Schlüssel identifiziert.
Gemäß RDBMS-Perspektive ist der Schlüssel (auch als Kandidatenschlüssel bezeichnet) ein Wert oder eine Reihe von Werten, die eine Entität eindeutig identifizieren.
Für eine DB-Tabelle sind so viele Schlüssel vorhanden, dass sie möglicherweise für den Primärschlüssel geeignet sind. Damit werden alle Schlüssel, Primärschlüssel, eindeutigen Schlüssel usw. gemeinsam als Kandidatenschlüssel bezeichnet. Der DBA hat jedoch einen Schlüssel aus dem Kandidatenschlüssel für die Suche nach Datensätzen ausgewählt, der als Primärschlüssel bezeichnet wird.
Unterschied zwischen Primärschlüssel und Eindeutiger Schlüssel
1. Verhalten: Der Primärschlüssel wird verwendet, um eine Zeile (einen Datensatz) in einer Tabelle zu identifizieren, während der Eindeutige Schlüssel dazu dient, doppelte Werte in einer Spalte zu verhindern (mit Ausnahme eines Null-Eintrags).
2. Indizierung: Standardmäßig erstellt die SQL-Engine einen Clustered-Index für den Primärschlüssel, falls nicht vorhanden, und einen Nicht-Clustered-Index für den eindeutigen Schlüssel.
3. Nullbarkeit: Der Primärschlüssel enthält keine Nullwerte, während der Eindeutige Schlüssel dies kann.
4. Existenz: Eine Tabelle kann höchstens einen Primärschlüssel haben, aber mehrere eindeutige Schlüssel.
5. Änderbarkeit: Sie können Primärwerte nicht ändern oder löschen, Unique-Key-Werte jedoch.
Für weitere Informationen und Beispiele:
http://dotnetauthorities.blogspot.in/2013/11/Microsoft-SQL-Server-Training-Online-Learning-Classes-Integrity-Constraints-PrimaryKey-Unique-Key_27.html
PRIMARY KEY = UNIQUE KEY + Not Null CONSTRAINT