Primary key und foreign key - dies sind zwei wichtige Konzepte in Datenbanken, die dazu beitragen, Beziehungen zwischen Tabellen herzustellen und die Datenintegrität zu gewährleisten. Ein Primärschlüssel ist ein eindeutiger Bezeichner für jeden Datensatz in einer Tabelle, mit dem Sie diesen Datensatz eindeutig identifizieren können.
Die wichtigsten Eigenschaften eines Primärschlüssels sind seine Einzigartigkeit und Unveränderlichkeit. Es wird auch normalerweise automatisch inkrementiert, was bedeutet, dass jeder neue Datensatz in der Tabelle einen eindeutigen Primärschlüsselwert hat, der größer ist als der vorherige Datensatz.
Ein Foreign key (Fremdschlüssel) ist ein Feld in einer Tabelle, das auf den Primärschlüssel einer anderen Tabelle verweist. Auf diese Weise können wir mit einem Fremdschlüssel eine Beziehung zwischen zwei Tabellen herstellen und die Datenintegrität sicherstellen.
Mit einem Fremdschlüssel können wir Beziehungen zwischen Tabellen erstellen, z. B. Daten aus der Tabelle "Bestellungen" mit Daten aus der Tabelle "Kunden" verknüpfen. Wenn Sie jedoch einen Datensatz mit einer bestimmten ID in der Tabelle Kunden löschen, werden alle Datensätze in der Tabelle Bestellungen mit dieser ID ebenfalls automatisch gelöscht, um die Datenintegrität nicht zu beeinträchtigen.
Primary key: Definition und Zuweisung
Der Primary key kann durch eine oder mehrere Spalten (Felder) in einer Tabelle dargestellt werden und muss für jede Zeile eindeutig sein. Es stellt die Eindeutigkeit der Daten sicher, sodass Sie einzelne Datensätze in einer Tabelle mithilfe dieses Schlüssels identifizieren und darauf zugreifen können.
Der Primary key kann auch verwendet werden, um die referenzielle Integrität in einer Datenbank sicherzustellen. Es kann über einen foreign key oder einen Fremdschlüssel mit anderen Tabellen verknüpft werden, wodurch Beziehungen zwischen Tabellen erstellt werden können.
Der Primary key wird normalerweise unter den vorhandenen Spalten in einer Tabelle ausgewählt, die die Bedingungen für Eindeutigkeit und Unveränderlichkeit erfüllen. Wenn beispielsweise eine Spalte "ID" in einer Tabelle vorhanden ist, die für jede Zeile eindeutig ist und nicht geändert werden kann, kann diese Spalte als primary key verwendet werden.
Mit dem primary key können Sie die Effizienz der Datenbank verbessern, Abfragen schneller ausführen und die Datenintegrität sicherstellen. Beim Entwerfen einer Datenbank ist es wichtig, den richtigen Primärschlüssel auszuwählen und zu definieren, um eine effiziente und zuverlässige Arbeit mit den Daten zu gewährleisten.
| Beispieltabelle mit primary key | ||
|---|---|---|
| ID | Name | Alter |
| 1 | Iwan | 25 |
| 2 | Anna | 30 |
| 3 | Peter | 35 |
In diesem Beispiel ist die Spalte "ID" der primary key der Tabelle, da jeder Wert eindeutig und unveränderlich ist. Mit diesem Schlüssel können Sie jeden Datensatz in einer Tabelle leicht identifizieren.
Foreign key: Essenz und Anwendung
Der Hauptzweck der Verwendung eines Fremdschlüssels besteht darin, die Datenintegrität zu gewährleisten und die Beziehungen zwischen Tabellen zu unterstützen. Mithilfe eines Fremdschlüssels können Sie eine Beziehung zwischen Daten in verschiedenen Tabellen erstellen, um komplexere Datenstrukturen zu erstellen.
Ein Fremdschlüssel wird innerhalb einer Tabelle definiert, die auf eine andere Tabelle verweist. Es zeigt auf den Primärschlüssel in dieser anderen Tabelle. Daher ordnet ein Fremdschlüssel Datensätze in einer Tabelle den entsprechenden Datensätzen in einer anderen Tabelle zu.
Die Verwendung eines Fremdschlüssels kann beim Entwerfen einer Datenbank sehr nützlich sein. Es ermöglicht den Aufbau komplexer Datenstrukturen, gewährleistet die Konnektivität und Integrität der Daten. Fremdschlüssel vereinfachen auch das Suchen und Sortieren von Daten und ermöglichen die Optimierung von Datenbankabfragen und verbessern die Leistung.
Beachten Sie bei der Verwendung eines Fremdschlüssels, dass es bestimmte Regeln und Einschränkungen erfordert. Beispielsweise muss der Fremdschlüsselwert mit dem Primärschlüsselwert in der verknüpften Tabelle übereinstimmen. Wenn kein Datensatz mit diesem Wert vorhanden ist, kann ein Fehler oder eine Verletzung der Datenintegrität auftreten.
| Bestelltabelle | Kunden-Tabelle |
|---|---|
| order_id (Primärschlüssel) | customer_id (Primärschlüssel) |
| order_date | customer_name |
| customer_id (Fremdschlüssel) | customer_email |
Beispielsweise verknüpft der Fremdschlüssel customer_id in einer Auftragstabelle jeden Datensatz mit dem entsprechenden Datensatz in der Kundentabelle. Dadurch werden Datenverbindungen auf Datenbankebene beibehalten.