Heim > Datenbank > MySQL-Tutorial > Eindeutige Schlüssel in SQL verstehen: Datenintegrität sicherstellen

Eindeutige Schlüssel in SQL verstehen: Datenintegrität sicherstellen

Linda Hamilton
Freigeben: 2025-01-01 00:59:09
Original
518 Leute haben es durchsucht

Understanding Unique Keys in SQL: Ensuring Data Integrity

Was ist ein eindeutiger Schlüssel in SQL?

Ein Eindeutiger Schlüssel in SQL ist eine Einschränkung, die sicherstellt, dass alle Werte in einer Spalte (oder einer Kombination von Spalten) in allen Zeilen einer Tabelle unterschiedlich sind. Dies bedeutet, dass keine zwei Zeilen denselben Wert in der/den eindeutigen Schlüsselspalte(n) haben können. Es hilft, die Datenintegrität aufrechtzuerhalten, indem es doppelte Einträge verhindert.


Schlüsselmerkmale eines eindeutigen Schlüssels

  1. Einzigartigkeit:

    Jeder Wert in einer eindeutigen Schlüsselspalte muss eindeutig sein.

  2. Erlaubt Nullwerte:

    Im Gegensatz zu Primärschlüsseln erlauben eindeutige Schlüssel je nach Datenbanksystem einen oder mehrere NULL-Werte. Diese NULL-Werte dürfen jedoch nicht gegen die Eindeutigkeitsregel verstoßen (z. B. können zwei Zeilen nicht denselben Wert ungleich Null in einem eindeutigen Schlüssel haben).

  3. Mehrere eindeutige Schlüssel:

    Eine Tabelle kann mehrere eindeutige Schlüssel haben, die jeweils die Eindeutigkeit ihrer jeweiligen Spalten gewährleisten.

  4. Indexerstellung:

    Eindeutige Schlüssel erstellen automatisch einen eindeutigen Index in der Datenbank, der die Suche optimiert.


Syntax zum Erstellen eines eindeutigen Schlüssels

Beim Erstellen einer Tabelle:

CREATE TABLE users (
    user_id INT PRIMARY KEY,
    email VARCHAR(255) UNIQUE,
    username VARCHAR(255) UNIQUE
);
Nach dem Login kopieren
  • Hier sind die Spalten „E-Mail“ und „Benutzername“ eindeutige Schlüssel, um sicherzustellen, dass keine zwei Benutzer dieselbe E-Mail-Adresse oder denselben Benutzernamen haben.

Hinzufügen eines eindeutigen Schlüssels zu einer vorhandenen Tabelle:

ALTER TABLE users ADD CONSTRAINT unique_email UNIQUE (email);
Nach dem Login kopieren

Beispiele

Einfügen von Daten in eine Tabelle mit eindeutigen Schlüsseln:

INSERT INTO users (user_id, email, username) 
VALUES (1, 'user@example.com', 'user123');
Nach dem Login kopieren
  • Wenn Sie versuchen, einen doppelten Wert in die E-Mail- oder Benutzernamenspalten einzufügen:
INSERT INTO users (user_id, email, username) 
VALUES (2, 'user@example.com', 'user456');
Nach dem Login kopieren
  • Diese Abfrage schlägt fehl, da der E-Mail-Wert bereits vorhanden ist.

Unterschied zwischen Primärschlüssel und eindeutigem Schlüssel

Aspekt Primärschlüssel Eindeutiger Schlüssel
Aspect Primary Key Unique Key
Uniqueness Ensures unique values. Ensures unique values.
Null Values Does not allow NULL values. Allows NULL values (varies by system).
Number in Table Only one primary key per table. Multiple unique keys per table.
Einzigartigkeit Sorgt für eindeutige Werte. Sorgt für eindeutige Werte. Nullwerte Erlaubt keine NULL-Werte. Erlaubt NULL-Werte (variiert je nach System). Nummer in der Tabelle Nur ein Primärschlüssel pro Tabelle. Mehrere eindeutige Schlüssel pro Tabelle.

Warum einen eindeutigen Schlüssel verwenden?

  1. Doppelte Daten verhindern:

    Stellt sicher, dass wichtige Felder wie E-Mail-Adressen oder Benutzernamen eindeutig bleiben.

  2. Geschäftsregeln unterstützen:

    Erzwingt die Datenintegrität durch Einhaltung anwendungsspezifischer Einschränkungen.

  3. Abfragen optimieren:

    Der zugrunde liegende eindeutige Index beschleunigt den Datenabruf.


Praktische Anwendungsfälle

  • Benutzerauthentifizierung:

    Stellen Sie sicher, dass Sie für die Kontoerstellung eindeutige E-Mail-Adressen oder Benutzernamen verwenden.

  • Bestandsverwaltung:

    Verhindern Sie doppelte Produkt-IDs oder Barcodes.

  • Bankensysteme:

    Erzwingen Sie eindeutige Kontonummern oder Kartendetails.


Fazit

Ein eindeutiger Schlüssel ist eine wichtige SQL-Funktion zur Aufrechterhaltung der Datenintegrität und zur Verhinderung doppelter Einträge in Ihrer Datenbank. Es ergänzt Primärschlüssel, indem es mehrere eindeutige Einschränkungen in einer Tabelle ermöglicht, was es zu einem vielseitigen Werkzeug beim Datenbankdesign macht.

Hallo, ich bin Abhay Singh Kathayat!
Ich bin ein Full-Stack-Entwickler mit Fachwissen sowohl in Front-End- als auch in Back-End-Technologien. Ich arbeite mit einer Vielzahl von Programmiersprachen und Frameworks, um effiziente, skalierbare und benutzerfreundliche Anwendungen zu erstellen.
Sie können mich gerne unter meiner geschäftlichen E-Mail-Adresse erreichen: kaashshorts28@gmail.com.

Das obige ist der detaillierte Inhalt vonEindeutige Schlüssel in SQL verstehen: Datenintegrität sicherstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage