Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Was ist der Unterschied zwischen einem Primärschlüssel und einem Ersatzschlüssel?

Der Primärschlüssel ist ein eindeutiger Schlüssel in Ihrer Tabelle, den Sie auswählen und der einen Datensatz in der Tabelle am besten eindeutig identifiziert. Alle Tabellen sollten einen Primärschlüssel haben, denn wenn Sie jemals einen Datensatz aktualisieren oder löschen müssen, müssen Sie wissen, wie Sie ihn eindeutig identifizieren können.

Ein Ersatzschlüssel ist ein künstlich erzeugter Schlüssel. Sie sind nützlich, wenn Ihre Datensätze im Wesentlichen keinen natürlichen Schlüssel haben (z. B. Person Tabelle, da es möglich ist, dass zwei Personen, die am selben Tag geboren wurden, denselben Namen haben, oder Aufzeichnungen in einem Protokoll, da es möglich ist, dass zwei Ereignisse eintreten, sodass sie denselben Zeitstempel tragen). Meistens sehen Sie diese als Ganzzahlen in einem automatisch inkrementierenden Feld implementiert oder als GUIDs, die automatisch für jeden Datensatz generiert werden. ID-Nummern sind fast immer Ersatzschlüssel.

Im Gegensatz zu Primärschlüsseln benötigen jedoch nicht alle Tabellen Ersatzschlüssel. Wenn Sie eine Tabelle haben, die die Staaten in Amerika auflistet, brauchen Sie nicht wirklich eine ID-Nummer für sie. Sie könnten die Abkürzung des Staates als Primärschlüsselcode verwenden.

Der Hauptvorteil des Ersatzschlüssels besteht darin, dass seine Eindeutigkeit leicht garantiert werden kann. Der Hauptnachteil ist, dass sie keine Bedeutung haben. Es hat zum Beispiel keine Bedeutung, dass „28“ Wisconsin ist, aber wenn Sie „WI“ in der Bundesstaatsspalte Ihrer Adresstabelle sehen, wissen Sie, von welchem ​​Bundesstaat Sie sprechen, ohne nachschlagen zu müssen, welcher Bundesstaat welcher in Ihrem Bundesstaat ist Tabelle.