So verwenden Sie Postgres löschen Kaskade

So verwenden Sie Postgres löschen Kaskade
Postgres -Datenbankverwaltung ist wie jede andere Datenbank. Der CRUD -Betrieb spielt eine Schlüsselrolle bei der Verwaltung der Datenbanken. Das Fremdschlüsselkonzept ist weithin geübt, um Daten einer Tabelle mit einer anderen Tabelle zu verknüpfen und Beziehungen aufzubauen. Die Löschanweisung beschränkt Sie das Löschen, wenn der Primärschlüssel eines Datensatzes in der anderen Tabelle aufgerufen wird. Wenn Sie also einen Löschvorgang auf einer Tabelle in Postgres durchführen möchten, wird empfohlen, nach den Abhängigkeiten der Tabelle auf anderen Tabellen zu suchen. Um die Löschung in einem solchen Fall durchzuführen, ermöglicht die Löschkaskade in Postgres die Löschung des Datensatzes als Assoziationen mit anderen Tabellen. In diesem Artikel wird die Funktionsweise und Verwendung des Löschkaskadenbetriebs in Postgres erläutert.

Voraussetzungen

Die folgenden Programme müssen in Ihrem System vorhanden sein, um die Verwendung von Delete Cascade zu beginnen:

  • Eine Postgres -Datenbank, die ordnungsgemäß installiert und funktioniert:
  • Stellen Sie sicher, dass das Schlüsselwort des Kaskaden -Löschens in einer Tabelle ordnungsgemäß eingebettet ist:

Wie Postgres die Kaskade löschen

Der Betrieb von Löschkaskaden wird praktiziert, um die Records Association in mehreren Tabellen zu löschen. Die Löschkaskade ist ein Schlüsselwort, mit dem das Löschen von Anweisungen Löschungen durchführen kann, wenn Abhängigkeiten auftreten. Die Löschkaskade wird während des Einfügungsvorgangs als Eigenschaft der Säule eingebettet. Wir haben ein Beispiel von Löschen von Kaskadenschlüsselwort zur Verfügung gestellt, wie es verwendet wird:

Sagen wir, wir haben benutzt Angestellten ID als fremden Schlüssel. Beim Definieren der Angestellten ID In der untergeordneten Tabelle ist die Löschkaskade auf AN Wie nachfolgend dargestellt:

Mitarbeiterin integer Referenzen Mitarbeiter (ID) auf Löschen von Kaskade

Die ID wird aus der Tabelle der Mitarbeiter abgerufen und nun werden die zugehörigen Daten auch aus den jeweiligen Kindertabellen gelöscht, wenn die postgres löschlichen Betrieb angewendet wird.

So verwenden Sie Postgres löschen Kaskade

Dieser Abschnitt führt Sie dazu, die Kaskade der Löschung in einer Postgres -Datenbank anzuwenden. In den folgenden Schritten werden über Eltern- und Kindertabellen erstellt und dann die Kaskade löschen. So lass uns anfangen:

STEP1: Stellen Sie eine Verbindung zur Datenbank her und erstellen Sie Tabellen

Der folgende Befehl führt uns dazu, eine Verbindung mit der benannten Postgres -Datenbank herzustellen LinuxHint.

\ c LinuxHint

Sobald die Datenbank erfolgreich angeschlossen ist, haben wir eine Tabelle mit dem Namen erstellt Mitarbeiter und die folgenden Codezeilen werden ausgeführt, um mehrere Spalten in der zu erstellen Mitarbeiter Tisch. Der Mitarbeiter Die Tabelle fungiert hier als übergeordnete Tabelle:

Tabellenpersonal erstellen (id serielle Primärschlüssel, Name Varchar (50), Bezeichnung varchar (50));

Jetzt haben wir eine weitere Tabelle mit dem Namen erstellt die Info Durch die Verwendung des unten angegebenen Befehls. Unter den Tischen, die die Info Tabelle wird als Kind bezeichnet, während die Mitarbeiter Tabelle ist als Eltern bekannt. Hier wäre der Schlüsselanzug der Löschkaskadenmodus auf ein Einsatz. Die Löschkaskade wird in der Spalte Fremdschlüssel benannt (namensMitarbeiter ID) Da diese Spalte in der übergeordneten Tabelle als Primärschlüssel fungiert.

Tabelle Info erstellen (info_id Integer, nicht null, Staff_ID Integer References Staff (ID) auf Löschen von Cascade, Team_lead varchar (50), Primärschlüssel (info_id, staff_id));

Schritt 2: Fügen Sie einige Daten in Tabellen ein

Fügen Sie vor dem Graben in den Löschvorgang einige Daten in die Tabellen ein. Wir haben also den folgenden Code ausgeführt, der Daten in die einfügt Mitarbeiter Tisch.

In die Mitarbeiter (ID, Name, Bezeichnung) Werte einfügen ('1', 'John', 'Rezensent'),
('2', 'Jack', 'Ausbilder'), ('3', 'Jerry', Herausgeber), ('4', 'Pock', 'Autor');

Schauen wir uns den Inhalt der Mitarbeitertabelle an, indem wir den unten angegebenen Befehl verwenden:

Aus dem Personal auswählen;

Fügen Sie nun dem Kindertisch einige Inhalte hinzu. In unserem Fall wird die Kindertisch benannt die Info und wir haben die folgenden Zeilen von Postgres -Anweisungen ausgeführt, um Daten in die Info -Tabelle einzufügen:

Info (info_id, staff_id, Team_lead) Werte ('1', '4', 'Sam') einfügen ('1', '4', 'Sam'),
('2', '3', 'Tim'), ('3', '1', 'Brook'), ('4', '2', 'Scheibe');

Verwenden Sie nach erfolgreichem Einfügen die Auswahlanweisung, um den Inhalt von zu erhalten die Info Tisch:

> Aus Info auswählen;

Notiz: Wenn Sie die Tabellen bereits haben und die Löschkaskade in einer untergeordneten Tabelle eingestellt ist, können Sie die ersten 2 Schritte überspringen.

Schritt 3: Delete Cascade Operation anwenden

Wenn Sie den Löschvorgang auf dem ID -Feld der Mitarbeitertabelle (Primärschlüssel) anwenden die Info Tisch. Der folgende Befehl half uns in dieser Hinsicht:

Vom Personal löschen, wobei ID = 3;

Sobald die Löschung erfolgreich durchgeführt wurde, überprüfen Sie, ob die Löschkaskade angewendet wird oder nicht. Holen Sie sich dazu den Inhalt sowohl von Eltern- als auch von Kindertabellen ab:

Beim Abrufen der Daten aus der Mitarbeitertabelle wird beobachtet, dass alle Daten von ID = 3 gelöscht werden:

> Aus dem Personal auswählen;

Danach müssen Sie die Auswahlanweisung in der untergeordneten Tabelle anwenden (in unserem Fall ist dies der Fall die Info). Einmal angewendet würden Sie beobachten, dass das Feld verbunden ist staf_id = 3 wird aus dem Kindertisch gelöscht.

> Aus Info auswählen;

Abschluss

Postgres unterstützt alle Vorgänge, die durchgeführt werden können, um die Daten in einer Datenbank zu manipulieren. Mit dem Schlüsselwort des Kaskadenkaskaden -Kaskaden können Sie die mit einer anderen Tabelle zugeordneten Daten löschen. Im Allgemeinen ermöglicht die Anweisung Löschung nicht, dass Sie dies tun können. Dieser deskriptive Beitrag. Sie hätten gelernt, die Löschkaskadenoperation in einer untergeordneten Tabelle zu verwenden. Wenn Sie die Löschanweisung in der übergeordneten Tabelle anwenden.