Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Fremdschlüsselbeschränkungen. On Delete-Optionen | Relationales Datenbanksystem
Relationale Datenbank und Normalisierung
course content

Kursinhalt

Relationale Datenbank und Normalisierung

Relationale Datenbank und Normalisierung

1. Datenbankmodelle
2. Relationales Datenbanksystem
3. Normalisierung und Normalformen

book
Fremdschlüsselbeschränkungen. On Delete-Optionen

ON DELETE

In relationalen Datenbanken stellt ein foreign key eine Beziehung zwischen zwei Tabellen her. Diese Beziehung ist strikt und wird durch bestimmte Regeln oder Einschränkungen definiert, die als ON DELETE Optionen bekannt sind.

Die ON DELETE Option legt die Aktion fest, die ausgeführt wird, wenn ein Datensatz, der durch einen foreign key verbunden ist, aus einer anderen Tabelle entfernt wird.

Zur Veranschaulichung betrachten Sie ein Szenario, in dem ein primary key und der zugehörige foreign key zum Einsatz kommen. Wenn Sie einen Datensatz löschen, der den primary key enthält, wird die angegebene ON DELETE Aktion für den entsprechenden foreign key ausgelöst.

Hinweis

Beim Erstellen eines foreign key über eine Database Management System (DBMS) Schnittstelle werden Sie häufig aufgefordert, eine ON DELETE Option auszuwählen. Wenn Sie die Beziehung jedoch direkt über SQL definieren, müssen Sie diese Option manuell angeben.

Ein foreign key erfordert, dass eine ON DELETE Aktion definiert wird.

Hier sind die wichtigsten ON DELETE Aktionen:

  • CASCADE;
  • RESTRICT (or NO ACTION);
  • SET NULL;
  • SET DEFAULT.

CASCADE

Wenn der primäre Datensatz gelöscht wird, werden auch alle zugehörigen Datensätze entfernt (die ihn über einen Fremdschlüssel referenzieren).

Zum Beispiel, wenn Sie Tabellen mit den Namen Group und Student haben (wobei die Student-Tabelle einen Fremdschlüssel besitzt, der auf die Group-Tabelle verweist):

Und wenn die Fremdschlüsselbeziehung von student.group_id zu group.id mit der ON DELETE CASCADE Option definiert ist, führt das Löschen einer Gruppe dazu, dass alle mit dieser Gruppe verknüpften Studenten entfernt werden.

RESTRICT or NO ACTION

Sie können keinen primären Datensatz löschen, wenn es zugehörige Datensätze in anderen Tabellen gibt. Wenn Sie es versuchen, wird die Aktion blockiert, um die Integrität der Datenbank zu gewährleisten.

SET NULL

Beim Löschen des Primärdatensatzes wird der Fremdschlüssel in den abhängigen Datensätzen auf NULL gesetzt, anstatt diese Datensätze zu löschen.

Hinweis

Um die ON DELETE SET NULL-Aktion zu nutzen, sollte die foreign key-Spalte null values zulassen.

SET DEFAULT

Die SET DEFAULT-Aktion ähnelt SET NULL. Durch das Löschen des Primärdatensatzes wird der foreign key in den zugehörigen Datensätzen auf einen von Ihnen festgelegten Standardwert geändert, anstatt auf NULL gesetzt zu werden.

1. Wenn du eine Tasse fallen lässt und es sich anfühlt, als würde die Welt um dich herum zusammenbrechen, welche ON DELETE Option spiegelt dieses Gefühl wider?

2. Eltern haben immer Rückhalt für ihre Kinder, aber wenn sich die Rollen umkehren würden, welche ON DELETE Option würde darstellen, dass Kinder ihre Eltern beschützen?

3. Du hast heimlich einen Datensatz entfernt und keinerlei Spuren hinterlassen. Welche ON DELETE Option hast du für diesen verdeckten Vorgang verwendet?

4. Wenn du dir wünschst, dass sich stets, wenn etwas kaputtgeht, das Ganze auf magische Weise in Gold verwandelt, welche ON DELETE Option würde diesen Traum wahr werden lassen?

Wenn du eine Tasse fallen lässt und es sich anfühlt, als würde die Welt um dich herum zusammenbrechen, welche ON DELETE Option spiegelt dieses Gefühl wider?

Wenn du eine Tasse fallen lässt und es sich anfühlt, als würde die Welt um dich herum zusammenbrechen, welche ON DELETE Option spiegelt dieses Gefühl wider?

Wählen Sie die richtige Antwort aus

Eltern haben immer Rückhalt für ihre Kinder, aber wenn sich die Rollen umkehren würden, welche ON DELETE Option würde darstellen, dass Kinder ihre Eltern beschützen?

Eltern haben immer Rückhalt für ihre Kinder, aber wenn sich die Rollen umkehren würden, welche ON DELETE Option würde darstellen, dass Kinder ihre Eltern beschützen?

Wählen Sie die richtige Antwort aus

Du hast heimlich einen Datensatz entfernt und keinerlei Spuren hinterlassen. Welche ON DELETE Option hast du für diesen verdeckten Vorgang verwendet?

Du hast heimlich einen Datensatz entfernt und keinerlei Spuren hinterlassen. Welche ON DELETE Option hast du für diesen verdeckten Vorgang verwendet?

Wählen Sie die richtige Antwort aus

Wenn du dir wünschst, dass sich stets, wenn etwas kaputtgeht, das Ganze auf magische Weise in Gold verwandelt, welche ON DELETE Option würde diesen Traum wahr werden lassen?

Wenn du dir wünschst, dass sich stets, wenn etwas kaputtgeht, das Ganze auf magische Weise in Gold verwandelt, welche ON DELETE Option würde diesen Traum wahr werden lassen?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 2
We're sorry to hear that something went wrong. What happened?
some-alt