Primärschlüssel in der SQL-Datenbank: Was ist, Vorteile und Auswahl
Veröffentlicht: 2021-05-25Inhaltsverzeichnis
Was ist ein Primärschlüssel?
Das Entwerfen einer neuen Datenbank in SQL bringt seinen Anteil an unnachahmlichen Auswahlmöglichkeiten mit sich. Das Identifizieren eines geeigneten Primärschlüssels ist eine der kritischsten Entscheidungen, die Sie treffen müssen. Das zugrunde liegende Ziel eines Primärschlüssels ist einfach und unkompliziert.
Ein Primärschlüssel spielt eine zweigleisige grundlegende Rolle. Erstens hilft es, eine Beziehung zu definieren. Zweitens hilft es, diese Beziehung zu implementieren. Mit anderen Worten, ohne Primärschlüssel gäbe es keine Beziehungsdatenbanken. Verständlicherweise klingt die Vorstellung eines Primärschlüssels ungewöhnlich.
Aber was wäre, wenn wir Ihnen sagen würden, dass Sie in Ihrem Alltag Primärschlüssel verwenden, ohne es zu merken? In jedem wachen Moment unseres Tages sind wir buchstäblich von Primärschlüsseln in einer Datenbankwelt umgeben, und dennoch nehmen wir sie als selbstverständlich hin. Denken Sie zum Beispiel an Ihren Studentenausweis. Es ist ein klassisches Beispiel für die Notwendigkeit eines Primärschlüssels. Ebenso hat jeder Mitarbeiter einen eindeutigen Unternehmenscode, und jedes Land der Welt hat einen eindeutigen Namen und Code.
Lesen Sie: Normalisierung in SQL
Was sind die Vorteile eines Primärschlüssels?
Ein Primärschlüssel in SQL ist als einzelner Wert oder als Kombination einiger Werte aus einer Tabelle definiert. Es stellt jeden Datensatz in der Tabelle deutlich dar. Der Zugriff auf diesen Wert garantiert den zeitnahen Zugriff auf die Platzierung eines verwandten Datensatzes in der Tabelle zusätzlich zu anderen Werten aus demselben Datensatz. An dieser Stelle haben Sie vielleicht eine wichtige Frage zu stellen. Muss in jeder Tabelle ein Primärschlüssel generiert werden? Absolut nicht.
SQL erfordert nicht die Erstellung eines Primärschlüssels. Die besten und effizientesten Methoden der Datenbankmodellierung empfehlen jedoch dringend, einen Primärschlüssel für jede Tabelle in SQL zu erstellen. Abgesehen davon, dass es sich um ein gemeinsames Verknüpfungsfeld zwischen Tabellen handelt, sind die Vorteile eines Primärschlüssels vielfältig.
Die folgende Liste fasst die wichtigsten Vorteile eines Primärschlüssels zusammen:
- Da der Primärschlüssel als Index dient, werden geschwindigkeitsbasierte Datenbankoperationen wie das Sortieren und Suchen nach Datensätzen schneller.
- Der Primärschlüssel hilft, eindeutige Zeilen in einer bestimmten Datenbanktabelle schnell zu identifizieren und zu finden.
- Im abgesicherten Modus können mithilfe des Primärschlüssels nur bestimmte Datensätze eindeutig identifiziert werden, um sicherzustellen, dass Aktualisierungen und Löschungen nur bestimmte Zeilen und nicht größere Datenmengen betreffen.
- Wenn sie als Fremdschlüssel in anderen Tabellen innerhalb der Datenbank verwendet werden, helfen sie, die referenzielle Integrität aufrechtzuerhalten.
Wie wähle ich einen Primärschlüssel aus?
Tabellen umfassen die Hauptobjekte in einer SQL-Datenbank. Diese Tabellen speichern Daten als Datensätze oder Zeilen. Um jede Zeile einer Tabelle zu identifizieren, müssen wir daher eine Spalte in derselben Tabelle mit einem anderen Eingabewert für jede Zeile finden. Nehmen wir zum Beispiel an, wir haben eine Tabelle mit Daten zu jedem US-Bürger. Eine Spalte mit dem Namen „social_security_number“ würde helfen, in einer solchen Tabelle eine Zeile von einer anderen zu unterscheiden.
Betrachten wir in ähnlicher Weise ein anderes Beispiel. Angenommen, wir haben eine Tabelle mit Sparkonten bei einer Privatbank. Die Spalte mit dem Namen 'account_number' kann verwendet werden, um bestimmte Zeilen in dieser Tabelle eindeutig zu identifizieren.
Sobald Sie in diesen beiden Beispielen eine Spalte mit einem anderen Wert für jede Zeile in der Tabelle identifiziert haben, d. h. „social_security_number“ und „account_number“, können Sie Ihren Primärschlüssel erstellen. Dieser Primärschlüssel ist Ihre Hauptkennung für jede Zeile in der Tabelle, basierend auf der spezifischen Spalte, die Sie identifiziert haben.
Das Kennzeichen eines vorbildlichen Datenbankdesigns ist somit der Primärschlüssel in SQL. Daher sollte es selbstverständlich sein, dass ein gewählter Primärschlüssel zu 100 % eindeutig sein muss und dass für jede Datenzeile ein eindeutiger Wert des Primärschlüssels existieren muss. Typischerweise zeigen Einzelpersonen eine Tendenz, sich auf das Datenbankverwaltungssystem selbst zu verlassen, um eine eindeutige Kennung zu generieren.
Die Merkmale eines starken Primärschlüssels sind wie folgt:
- Ein starker Primärschlüssel ist in der Regel kurz, kompakt und enthält möglichst wenige Attribute. Lange Datentypen und zusammengesetzte Schlüssel erhöhen die Komplexität von SQL. Eine Primärschlüssellänge sollte 900 Bytes nicht überschreiten.
- Vollständig numerische Primärschlüssel helfen bei der Verbesserung der Abfrageleistung.
- Vermeiden Sie die Verwendung von Sonderzeichen oder eine Kombination aus Groß- und Kleinbuchstaben. Vermeiden Sie die Verwendung von Textdatentypen, da es für SQL erheblich länger dauert, Zeichenfolgenwerte als numerische Werte zu vergleichen.
- Vermeiden Sie identifizierbare Informationen aus Nichtschlüsselspalten in derselben Zeile wie Postleitzahlen, E-Mail-Adressen und Sozialversicherungsnummern. Wenn ein Primärschlüssel auf realen Daten basiert, muss er möglicherweise irgendwann in der Zukunft geändert werden, was eine nicht ratsame Modellierungspraxis ist. Wenn Primärschlüssel beliebige Bezeichner sind, können sich die dem Benutzer angezeigten Daten später ändern, die Bezeichner müssen es aber nicht.
- Der Primärschlüsselwert muss stabil bleiben und darf nicht geändert werden.
Es ist unbedingt zu beachten, dass Primärschlüssel einen technischen Mechanismus verwenden, um sicherzustellen, dass jede Zeile einen eindeutigen, nicht leeren Wert in der Primärschlüsselspalte hat. Dies impliziert, dass der Primärschlüsselwert eines Datensatzes nicht null sein kann. Angenommen, Sie versuchen außerdem, einen neuen Wert mit einem Wert einzufügen, dessen Duplikat in der Primärschlüsselspalte zu finden ist. In diesem Fall wird das Einfügen der neuen Zeile vom Primärschlüssel zurückgewiesen.
Kasse: Ideen und Themen für SQL-Projekte
Primärschlüssel mit mehr als einer Spalte
In einigen Fällen existiert kein natürlicher einspaltiger Primärschlüssel. Wenn mehrere Spalten verwendet werden, um einen Primärschlüssel zu definieren, wird er als mehrspaltiger oder zusammengesetzter Primärschlüssel bezeichnet. Nehmen wir zum Beispiel an, wir haben eine Tabelle „reservation“ mit den Spalten „customer_name“, „reservation_day“, „reservation_time“ und „number_of_people“.
Hier kann „Kundenname“ nicht allein als Primärschlüssel verwendet werden, da der Kunde natürlich mehr als eine Reservierung für verschiedene Tage oder sogar denselben Tag haben kann. Wir fügen daher „reservation_day“ und „reservation_time“ zum Primärschlüssel hinzu, um die Kombination für jeden Wert eindeutig zu machen.
Diese Betrachtung sollte mehr als 32 Spalten nicht überschreiten. Je größer die Anzahl der Spalten, desto größer wird der Speicherplatzbedarf. Die Syntax zum Hinzufügen eines mehrspaltigen Primärschlüssels unterscheidet sich vom Hinzufügen eines einspaltigen Primärschlüssels.
Lernen Sie Software-Engineering-Kurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.
Zusammenfassen
Haben Sie schon einmal beim Kundendienst angerufen und wurden nach Ihrer Kundennummer gefragt? Vielleicht haben Sie es sogar vergessen, dann werden Sie nach Ihrer Postleitzahl oder Telefonnummer gefragt.
Haben Sie sich jemals gefragt, warum? Nun, die kurze Antwort sind die Primärschlüssel. Die lange Antwort lautet, dass die Vorteile eines Primärschlüssels der Ausgangspunkt aller Datenbanksysteme sind. Ohne Primärschlüssel würden Datenbanken nicht so funktionieren, wie sie jetzt funktionieren, oder um genau zu sein, würden überhaupt nicht funktionieren.
Wenn Sie neugierig sind, mehr über SQL und Full-Stack-Entwicklung zu erfahren, schauen Sie sich das Executive PG-Programm von IIIT-B & upGrad in Full-Stack-Softwareentwicklung an, das für Berufstätige entwickelt wurde und mehr als 10 Fallstudien und Projekte, praktische praktische Workshops, Mentoring mit Branchenexperten, 1-on-1 mit Branchenmentoren, mehr als 400 Stunden Lern- und Jobunterstützung bei Top-Unternehmen.
Was sind Primärschlüssel in SQL?
Primärschlüssel ist das Feld mit eindeutigen Werten, das verwendet wird, um die Identität einer Entität zu definieren. Sobald ein Primärschlüssel definiert ist, kann er nicht gelöscht oder geändert werden. Tatsächlich ist der Primärschlüssel ein spezielles Merkmal der Tabelle, das die Grundlage für die Beziehungen der Tabelle bildet. Der Primärschlüssel wird immer in der ersten Spalte einer Tabelle definiert, die nicht geändert werden kann. Es spielt eine sehr wichtige Rolle in der logischen und physischen Datensatzstruktur der Daten. Da der Primärschlüssel verwendet wird, um die Datensätze eindeutig zu identifizieren, werden sie als Kandidatenschlüssel bezeichnet.
Was sind die Merkmale eines Primärschlüssels in SQL?
Primärschlüssel ist eine Spalte oder eine Gruppe von Spalten, die jeden Datensatz in einer Tabelle eindeutig identifizieren. Eine Tabelle kann nur einen Primärschlüssel haben. Um die Integrität zu wahren, wird immer der Primärschlüssel benötigt. Der Primärschlüssel sollte aus einer Kombination von Spalten bestehen, die sich voneinander unterscheiden. Wenn ein Primärschlüssel nur aus einer Spalte besteht, wird er als einfacher Primärschlüssel bezeichnet. Die Datenbank-Engine verwendet den Primärschlüssel, um einen Datensatz in einer Datenbank zu finden und zu aktualisieren. Der Primärschlüssel kann nicht Null sein, da Null bedeutet, dass er nicht definiert oder unbekannt ist. Der Primärschlüssel kann einspaltig oder mehrspaltig sein. Primärschlüsselwerte können eindeutig oder nicht eindeutig sein. Der Primärschlüssel kann indiziert werden. Der Primärschlüssel hilft der Datenbank-Engine, die Tabellenintegrität aufrechtzuerhalten. Der Primärschlüssel kann leicht in der Datenbank identifiziert werden.
Wie wähle ich einen Primärschlüssel in SQL aus?
Der Primärschlüssel ist die wichtigste Spalte in einer Tabelle. Dies sind die IDs, die von Ihren Apps verwendet werden, um jeden Datensatz eindeutig zu identifizieren. Das Feld, das Sie als Primärschlüssel auswählen, muss eindeutig und darf nicht null sein. Primärschlüssel sind normalerweise die besten Kandidatenspalten für die Indizierung. Der Primärschlüssel wird verwendet für: Eindeutige Referenz für jeden Datensatz in der Tabelle, um die ID eines Datensatzes nachzuschlagen, dessen Daten Sie bereits haben, um sicherzustellen, dass jede Zeile einen gültigen Wert im Primärschlüssel hat. Um sicherzustellen, dass die Daten in der Tabelle gültig und konsistent bleiben, stellen Sie sicher, dass alle Primärschlüsselwerte eindeutig sind und dass kein Primärschlüsselwert null ist.