Unterschied zwischen Schlüsseln in SQL

Inhalt

Einführung

SQL Keys ist der Schlüssel zu Ihrem Analytics-Erfolg!!

Daten wachsen exponentiell, ebenso wie der Bedarf an datenbankkundigen Fachleuten.

Unternehmen auf der ganzen Welt suchen Wissenschaftler und Datenanalysten, die aus riesigen Datenmengen aussagekräftige Erkenntnisse gewinnen können.. Und eine der wichtigsten Sprachen für den Umgang mit Datenbanken ist SQL. Aus diesem Grund haben erfahrene SQL-Profis einen Vorteil gegenüber ihren Mitbewerbern, wenn es um die Arbeit mit Datenbanken geht..

sql-keys-4058737

Ein wichtiger Aspekt bei der Arbeit mit Datenbanken ist die Erstellung eines. Das Erstellen einer Datenbank ist ein völlig anderes Ballspiel als das Wiederherstellen von Daten aus Datenbanken. Weil? Gut, Das Erstellen einer Datenbank erfordert ein tiefes Verständnis dafür, wie Tabellen innerhalb einer Datenbank miteinander in Beziehung stehen und wie Datensätze behandelt werden, damit keine doppelten Daten vorhanden sind.

Ein sehr wichtiger Aspekt beim Erstellen von Datenbanken ist das Verständnis des Konzepts von Schlüsseln in SQL. Dies sind nichts anderes als eine Gruppe von Spalten, die Ihnen helfen können, Zeilen in einer Tabelle eindeutig zu identifizieren. Aber wie jedes andere Wesen, Es gibt viele Arten von Schlüsseln in SQL.

In diesem Artikel, Ich werde einige der gebräuchlichsten SQL-Schlüssel besprechen, die jeder Datenwissenschaftler oder Analyst kennen sollte, bevor er mit der Arbeit mit Datenbanken beginnt..

Ich schlage vor, das zu überprüfen Kurs SQL für Data Science wenn Sie neu in SQL sind.

Inhaltsverzeichnis

  • Was sind Schlüssel in DBMS??
  • Superschlüssel
  • Kandidatenschlüssel
  • Primärschlüssel
  • Alternativ- oder Sekundärschlüssel
  • Unbekannter Schlüssel
  • Zusammengesetzter Schlüssel

Was sind Schlüssel in DBMS??

Datenbanken werden verwendet, um riesige Informationsmengen zu speichern, die in mehreren Tabellen gespeichert sind. Jede Tabelle kann Tausende von Zeilen haben. Es versteht sich von selbst, dass es viele doppelte Zeilen mit redundanten Informationen geben wird. Wie können wir damit umgehen? Wie verwalten wir Protokolle, um nur eindeutige Daten zu speichern?? Ja, Wie verknüpfen wir die mehreren Tabellen, die in der Datenbank vorhanden sind??

SQL-Schlüssel sind die Antwort auf all diese Fragen.

Ein SQL-Schlüssel ist eine einzelne Spalte (das Attribut) oder eine Gruppe von Spalten, die Zeilen eindeutig identifizieren können (oder Tupel) auf einem Tisch.

SQL-Schlüssel stellen sicher, dass keine Zeilen mit doppelten Informationen vorhanden sind. Nicht nur das, Sie helfen auch, eine Beziehung zwischen mehreren Tabellen in der Datenbank herzustellen. Deswegen, Es ist zwingend erforderlich, die verschiedenen Schlüssel in SQL zu kennen.

Was ist ein Superkey in SQL??

Der Superschlüssel ist ein einzelner Schlüssel oder eine Gruppe von mehreren Schlüsseln, die die Tupel in einer Tabelle eindeutig identifizieren können.

Der Superschlüssel kann mehrere Attribute enthalten, die die Tupel in einer Tabelle möglicherweise nicht unabhängig voneinander identifizieren können, aber wenn mit bestimmten Schlüsseln gruppiert, kann Tupel eindeutig identifizieren.

Lassen Sie mich ein Beispiel nehmen, um die obige Aussage zu verdeutlichen. Schauen Sie sich die folgende Tabelle an.

sql9-2590067

Berücksichtige das ICH WÜRDE Das Attribut ist für jeden Mitarbeiter einzigartig. Dann, wir können sagen, dass die ICH WÜRDE Das Attribut kann die Tupel in dieser Tabelle eindeutig identifizieren. Dann, ICH WÜRDE ist ein Superschlüssel dieser Tabelle. Beachten Sie, dass wir in dieser Tabelle auch andere Superschlüssel haben können.

Zum Beispiel – (Ausweis, Name), (Ausweis, Email), (Ausweis, Name, Email), etc., können Superschlüssel sein, da alle die Tupel in der Tabelle eindeutig identifizieren können. Dies liegt an der Anwesenheit der ICH WÜRDE Attribut, das Tupel eindeutig identifizieren kann. Die anderen Attribute der Schlüssel sind unnötig. Aber trotzdem, kann immer noch Tupel erkennen.

Was ist ein Kandidatenschlüssel?

Der Kandidatenschlüssel ist ein einzelner Schlüssel oder eine Gruppe von mehreren Schlüsseln, die die Zeilen in einer Tabelle eindeutig identifizieren.

Ein Kandidatenschlüssel ist eine Untermenge von Superschlüsseln und es fehlen unnötige Attribute, die für die eindeutige Identifizierung von Tupeln nicht wichtig sind.

Der Kandidatenschlüsselwert ist für alle Tupel eindeutig und nicht null. Und jede Tabelle muss mindestens einen Kandidatenschlüssel haben. Es kann aber auch mehr als einen Kandidatenschlüssel geben.

Zum Beispiel, in dem Beispiel, das wir vorhin genommen haben, so sehr ICH WÜRDE Ja Email kann als Kandidat für den Tisch fungieren, da sie eindeutige und Nicht-Null-Werte enthalten.

sql13-2255016

Zweitens, Wir können keine Attribute verwenden wie Stadt Ö Geschlecht um Tupel aus der Tabelle abzurufen, da sie keine eindeutigen Werte haben.

sql14-6008125

Während Sie die Tabelle im ICH WÜRDE Das Attribut hilft uns, eindeutige Tupel abzurufen.

sql15-8154420

Primärschlüssel in SQL

Primärschlüssel ist der vom Datenbankadministrator ausgewählte Kandidatenschlüssel, um die Tupel in einer Tabelle eindeutig zu identifizieren.

Von allen möglichen Schlüsselkandidaten für eine Tabelle, Es kann nur einen Schlüssel geben, der verwendet wird, um eindeutige Tupel aus der Tabelle abzurufen. Dieser Kandidatenschlüssel wird als Primärschlüssel bezeichnet.

Es kann nur einen Primärschlüssel für eine Tabelle geben. Je nachdem, wie der Kandidatenschlüssel aufgebaut ist, Der Primärschlüssel kann ein einzelnes Attribut oder eine Gruppe von Attributen sein. Der wichtigste Punkt ist jedoch, dass der Primärschlüssel ein eindeutiges Attribut und nicht null sein muss.

Es gibt zwei Möglichkeiten, einen Primärschlüssel für die Tabelle zu erstellen. Die erste Möglichkeit besteht darin, ein bereits erstelltes zu ändern, um die Primärschlüsseleinschränkung für ein Attribut hinzuzufügen. Dies ist unten gezeigt:

sql4-5859234

Jetzt, wenn ich versuche, eine neue Zeile mit einem doppelten ID-Wert hinzuzufügen, es wird mir eine fehlermeldung geben.

sql5-9283779

Die zweite Möglichkeit, einen Primärschlüssel hinzuzufügen, ist während der Tabellenerstellung. Alles, was Sie tun müssen, ist die Primärschlüssel-Einschränkung am Ende hinzuzufügen, nachdem Sie alle Attribute in der Tabelle definiert haben.

sql6-9652268

So definieren Sie eine Primärschlüsseleinschränkung für mehrere Attribute, Sie können alle Attribute in Klammern auflisten, wie unten im Screenshot gezeigt.

sql7-1792270

Denken Sie jedoch daran, dass diese Attribute als Nicht-Null-Werte definiert werden müssen, andererseits, der ganze Zweck der Verwendung von Primärschlüsseln zur eindeutigen Identifizierung von Tupeln läuft ab.

Alternativ- oder Sekundärschlüssel in SQL

Alternative Schlüssel sind die Kandidatenschlüssel, die nicht der Primärschlüssel sind.

Es kann nur einen Primärschlüssel für eine Tabelle geben. Deswegen, alle verbleibenden Kandidatenschlüssel werden als Alternativ- oder Sekundärschlüssel bezeichnet. Sie können auch Tupel in einer Tabelle eindeutig identifizieren, aber der Datenbankadministrator hat einen anderen Schlüssel als Primärschlüssel gewählt.

Wenn wir uns noch einmal die Mitarbeitertabelle ansehen, seit ich gewählt habe ICH WÜRDE als Primärschlüssel, der andere Kandidatenschlüssel (Email), wird zum alternativen Schlüssel der Tabelle.

sql16-9063177

Fremdschlüssel in SQL

Fremdschlüssel ist ein Attribut, das ein Primärschlüssel in Ihrer Primärtabelle ist, aber es ist als Attribut in einer anderen Host-Tabelle enthalten.

Ein Fremdschlüssel erzeugt eine Beziehung zwischen der Haupttabelle und der Haupttabelle. Zum Beispiel, abgesehen von Angestellter Tabelle mit personenbezogenen Daten der Mitarbeiter, wir könnten einen anderen tisch haben Abteilung mit Informationen zur Abteilung des Mitarbeiters.

sql11-8275180

Der Primärschlüssel in dieser Tabelle ist Abteilung ICH WÜRDE. Wir können dieses Attribut dem Mitarbeiter hinzufügen, indem wir es zum Fremdschlüssel in der Tabelle machen. Wir können dies tun, wenn wir die Tabelle erstellen, oder wir können die Tabelle später ändern, um die Fremdschlüsseleinschränkung hinzuzufügen. Hier habe ich die Tabelle geändert, aber das Erstellen von Fremdschlüsseln während der Tabellenerstellung ähnelt dem Primärschlüssel.

sql10-6949261

Hier, Ab_Id ist jetzt der Fremdschlüssel in der Employee-Tabelle, während es ein Primärschlüssel in der Abteilungstabelle ist.

Mit dem Fremdschlüssel können Sie eine Beziehung zwischen zwei Tabellen in der Datenbank herstellen. Jede dieser Tabellen beschreibt Daten zu einem bestimmten Feld (Mitarbeiter und Abteilung hier). Mit dem Fremdschlüssel können wir problemlos Daten aus beiden Tabellen abrufen.

sql17-8670396

Notiz: Zum Betrieb mit Fremdschlüsseln, du musst die gelenke kennen, die Sie im Detail finden können in Dieser Beitrag.

Die Verwendung von Fremdschlüsseln macht es einfach, die Datenbank bei Bedarf zu aktualisieren. Dies liegt daran, dass wir nur in begrenzten Reihen die notwendigen Änderungen vornehmen müssen. Zum Beispiel, Wenn er Marketing die Abteilung wechselt von Kalkutta zu Pune, anstatt es für alle relevanten Zeilen im zu aktualisieren Angestellter Tisch, wir können einfach den Standort im aktualisieren Abteilung mesa. Dadurch wird sichergestellt, dass nur wenige Stellen aktualisiert werden müssen und das Risiko von unterschiedlichen Daten an verschiedenen Stellen geringer ist..

Was sind zusammengesetzte Schlüssel??

Ein zusammengesetzter Schlüssel ist ein Kandidatenschlüssel oder Primärschlüssel, der aus mehr als einem Attribut besteht.

Manchmal ist es möglich, dass kein Attribut die Eigenschaft hat, Tupel in einer Tabelle eindeutig zu identifizieren. In solchen Fällen, Wir können eine Gruppe von Attributen verwenden, um Einzigartigkeit zu garantieren. Die Kombination dieser Attribute identifiziert die Tupel in der Tabelle eindeutig.

Betrachten Sie die folgende Tabelle:

sql12-6888563

Hier, keines der Attribute enthält eindeutige Werte zur Identifizierung der Tupel. Deswegen, Wir können zwei oder mehr Attribute kombinieren, um einen Schlüssel zu erstellen, der die Tupel eindeutig identifizieren kann. Zum Beispiel, wir können gruppieren Transaktions-ID Ja Produkt ID einen Schlüssel zu erstellen, der die Tupel eindeutig identifizieren kann. Sie werden zusammengesetzte Schlüssel genannt.

Hauptunterschied zwischen SQL-Schlüsseln

  • Claves-SQL werden verwendet, um Zeilen in einer Tabelle eindeutig zu identifizieren.
  • SQL-Schlüssel können eine einzelne Spalte oder eine Gruppe von Spalten sein.
  • Superschlüssel ist ein einzelner Schlüssel oder eine Gruppe von mehreren Schlüsseln, die die Tupel in einer Tabelle eindeutig identifizieren können.
  • Superschlüssel kann redundante Attribute enthalten, die für die Identifizierung von Tupeln möglicherweise nicht wichtig sind.
  • Kandidatenschlüssel sind eine Untermenge von Superschlüssel. Sie enthalten nur die Attribute, die zur eindeutigen Identifizierung von Tupeln erforderlich sind.
  • Alle Kandidatenschlüssel ist es so Superschlüssel. Aber das Gegenteil ist nicht der Fall.
  • Primärschlüssel es ist ein Kandidatenschlüssel ausgewählt, um die Tupel in der Tabelle eindeutig zu identifizieren.
  • Primärschlüssel Werte müssen eindeutig sein und dürfen nicht null sein.
  • Es können mehrere sein Superschlüssel Ja Kandidatenschlüssel in einer Tabelle, aber es kann nur einen geben Primärschlüssel in einer Tabelle.
  • Alternative Tasten sind diejenigen Kandidatenschlüssel die nicht als Primärschlüssel der Tabelle gewählt wurden.
  • Zusammengesetzter Schlüssel es ist ein Kandidatenschlüssel bestehend aus mehr als einem Attribut.
  • Unbekannter Schlüssel ist ein Attribut, das a . ist Primärschlüssel in deiner Haupttabelle, aber es ist als Attribut in der Haupttabelle enthalten.
  • Fremde Schlüssel kann null und nicht eindeutige Werte akzeptieren.

Abschließende Anmerkungen

In diesem Artikel, Wir behandeln die gebräuchlichsten und am häufigsten verwendeten Schlüssel, die jeder Fachmann kennen sollte, der mit Datenbanken arbeiten möchte.

Wenn Sie jemand sind, der mit SQL in Python arbeiten möchte, Ich empfehle dir diesen Artikel zu lesen. Oder wenn Sie nach SQL-Techniken suchen, die Sie für eine bessere Datenanalyse einsetzen können, dann darfst du diesen tollen Artikel nicht verpassen.

Ich hoffe, Ihnen hat dieser Artikel gefallen und melde mich in den Kommentaren, wenn Sie Fragen zu diesem Thema haben.

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.