Database
 sql >> Datenbank >  >> RDS >> Database

Fremdschlüssel-SQL:Alles, was Sie über Fremdschlüsseloperationen wissen müssen

Auf dem heutigen Markt, wo viele multinationale Unternehmen relationale Datenbanken verwenden, um Daten zu verarbeiten, ist es sehr wichtig zu verstehen, wie jede einzelne Tabelle miteinander in Beziehung gesetzt werden kann. Daher werde ich in diesem Artikel über Fremdschlüssel-SQL den Fremdschlüssel in Tabellen besprechen, damit Sie die Beziehung zwischen Tabellen verstehen.

Die folgenden Themen werden in diesem Artikel behandelt:

  1. Was ist eine Fremdschlüsselbeschränkung?
  2. Regeln für Fremdschlüssel
  3. Fremdschlüsseloperationen:
    • SQL-Fremdschlüssel beim Erstellen einer Tabelle
    • SQL-Fremdschlüssel auf Alter Table
    • Fremdschlüssel löschen

Was ist eine Fremdschlüsselbeschränkung?

Ein Fremdschlüssel ist eine Art Schlüssel, der verwendet wird, um zwei Tabellen in einer Datenbank zu verknüpfen. Ein Fremdschlüssel ist also ein Attribut oder eine Sammlung von Attributen in einer Tabelle, die auf den Primärschlüssel in einer anderen Tabelle verweist.

Beispiel:Wenn Tabelle A und Tabelle B miteinander in Beziehung stehen und Tabelle A aus dem Primärschlüssel besteht, wird diese Tabelle als referenzierte Tabelle oder übergeordnete Tabelle bezeichnet. Wenn Tabelle B aus einem Fremdschlüssel besteht, wird diese Tabelle in ähnlicher Weise als referenzierende Tabelle oder untergeordnete Tabelle bezeichnet. Siehe folgendes Bild:

Da Sie nun wissen, was ein Fremdschlüssel ist, lassen Sie uns als Nächstes in diesem Artikel über Fremdschlüssel-SQL die Regeln des Fremdschlüssels verstehen.

Regeln für Fremdschlüssel

Die Regeln für Fremdschlüssel lauten wie folgt:

  1. Die Tabelle mit dem Fremdschlüssel wird als untergeordnete Tabelle bezeichnet, und die Tabelle, auf die durch den Fremdschlüssel verwiesen wird, wird als übergeordnete Tabelle bezeichnet.
  2. Nullwerte sind in einem Fremdschlüssel erlaubt
  3. Fremdschlüssel können dupliziert werden
  4. Es kann mehr als einen einzelnen Fremdschlüssel in einer Tabelle geben
  5. Die zwischen den Tabellen hergestellte Beziehung wird als referenzielle Integrität bezeichnet

Nachdem Sie nun die Regeln eines Fremdschlüssels kennen, sehen wir uns als Nächstes in diesem Artikel über Fremdschlüssel-SQL die Operationen des Fremdschlüssels an.

Fremdschlüsseloperationen:

Um die verschiedenen Operationen auf dem Fremdschlüssel zu verstehen, betrachten Sie die folgenden zwei Tabellen:

Kundentabelle:

Kundennummer Kundenname Telefonnummer
1 Rohan 9876543210
2 Sonali 9876567864
3 Ajay 9966448811
4 Geeta 9765432786
5 Shubham 9944888756

Kurstabelle:

Kurs-ID

Kursname

Kundennummer

c01

DevOps

2

c02

Maschinelles Lernen

4

c03

RPA

1

c04

Tableau

3

c05

AWS

2

Nun, wenn Sie beobachten, bezieht sich die Kunden-ID-Spalte in der Kurstabelle auf die Kunden-ID-Spalte in der Kundentabelle. Die Spalte „customerID“ aus der Tabelle „customers“ ist der Primärschlüssel und die Spalte „customerID“ aus der Tabelle „courses“ ist der Fremdschlüssel dieser Tabelle.

Beginnend mit der ersten Operation:

Fremdschlüssel beim Erstellen der Tabelle

Sie können die folgende Syntax verwenden, um einen Fremdschlüssel für die Spalte „Kundennummer“ zu erstellen, wenn Sie die Tabelle „Kurse“ erstellen:

#For SQL Server/ MS Access/ Oracle
CREATE TABLE courses (
courseID varchar NOT NULL PRIMARY KEY,
courseName varchar NOT NULL,
customerID int FOREIGN KEY REFERENCES customers(customerID)
);
#For MySQL
CREATE TABLE courses (
courseID varchar NOT NULL PRIMARY KEY,
courseName varchar NOT NULL,
customerID int
PRIMARY KEY (courseID),
FOREIGN KEY (customerID) REFERENCES customers(customerID)
);

Fremdschlüssel auf mehrere Spalten anwenden

Um beim Erstellen einer Tabelle Fremdschlüssel auf mehrere Spalten anzuwenden, sehen Sie sich das folgende Beispiel an:

CREATE TABLE courses (
courseID varchar NOT NULL,
courseName varchar NOT NULL,
customerID int, PRIMARY KEY (courseID),
CONSTRAINT FK_CustomerCourse FOREIGN KEY (customerID)
REFERENCES customers(customerID)
);

Lassen Sie uns als Nächstes in diesem Artikel über Fremdschlüssel-SQL sehen, wie der Fremdschlüssel für Alter Table verwendet wird.

Fremdschlüssel auf Alter Table

Sie können die folgende Syntax verwenden, um einen Fremdschlüssel in der Spalte „Kunden-ID“ zu erstellen, wenn die Tabelle „Kurse“ bereits erstellt wurde und Sie nur die Tabelle ändern möchten:

ALTER TABLE courses
ADD FOREIGN KEY (customerID) REFERENCES customers(customerID);

Wenn Sie der Foreign Key-Einschränkung einen Namen hinzufügen und ihn für mehrere Spalten definieren möchten, verwenden Sie die folgende SQL-Syntax:

ALTER TABLE courses
ADD CONSTRAINT FK_CustomerCourse
FOREIGN KEY (customerID) REFERENCES Customers(customerID);

Lassen Sie uns als Nächstes in diesem Artikel über Fremdschlüssel-SQL verstehen, wie ein Fremdschlüssel gelöscht wird

Fremdschlüssel löschen

Um den Fremdschlüssel zu löschen, können Sie sich auf das folgende Beispiel beziehen:

#For SQL Server/ MS Access/ Oracle
ALTER TABLE courses
DROP CONSTRAINT FK_CustomerCourse;
For MYSQL
ALTER TABLE courses
DROP FOREIGN KEY FK_CustomerCourse;

Damit beenden wir diesen Artikel. Ich hoffe, Sie haben verstanden, wie man Foreign Key in SQL verwendet. Wenn Sie mehr über erfahren möchten MySQL und lernen Sie diese relationale Open-Source-Datenbank kennen, und sehen Sie sich dann unsere an MySQL-DBA-Zertifizierungsschulung was mit Live-Schulungen unter Anleitung und realer Projekterfahrung einhergeht. Dieses Training wird Ihnen dabei helfen, MySQL gründlich zu verstehen und das Thema zu beherrschen.

Haben Sie eine Frage an uns? Bitte erwähnen Sie es im Kommentarbereich dieses Artikels über „Fremdschlüssel-SQL“ und ich werde mich bei Ihnen melden.