bg_image
header

Datenbanktrigger

Datenbank-Trigger (kurz: Trigger) sind spezielle automatische Aktionen in einer Datenbank, die ausgelöst werden, wenn bestimmte Ereignisse auf einer Tabelle oder Sicht (View) passieren.


🔧 Was macht ein Trigger?

Ein Trigger ist ein vordefinierter Code, der bei INSERT, UPDATE oder DELETE auf einer Tabelle automatisch ausgeführt wird – ohne dass der Benutzer ihn direkt aufruft.


🧠 Beispiel:

Stell dir vor, du hast eine Tabelle Bestellungen, und du willst, dass immer, wenn eine Bestellung gelöscht wird, diese Info in einer Tabelle Log gespeichert wird.

Dann schreibst du einen DELETE-Trigger für die Tabelle Bestellungen, der automatisch beim Löschen etwas in Log schreibt.


🔄 Arten von Triggern:

Typ Beschreibung
BEFORE Wird vor der Aktion ausgeführt
AFTER Wird nach der Aktion ausgeführt
INSTEAD OF (bei Views) ersetzt die Aktion komplett
CREATE TRIGGER log_delete
AFTER DELETE ON Bestellungen
FOR EACH ROW
BEGIN
  INSERT INTO Log (aktion, zeitpunkt)
  VALUES ('Bestellung gelöscht', NOW());
END;

✅ Wofür werden Trigger verwendet?

  • Validierung von Daten

  • Automatisches Logging

  • Business-Logik abbilden

  • Referentielle Integrität erweitern


⚠️ Nachteile:

  • Schwer zu debuggen

  • Können unbemerkt viele Aktionen auslösen

  • Beeinflussen Performance, wenn komplex


Data Manipulation Language - DML

Die Data Manipulation Language (DML) ist ein Teilbereich der SQL (Structured Query Language), der für das Bearbeiten von Daten in einer Datenbank verwendet wird. Mit DML können Benutzer Daten einfügen, abfragen, ändern und löschen – also genau das, was man im Alltag mit Daten in einer Datenbank machen möchte.

Zu den wichtigsten DML-Befehlen gehören:

Befehl Zweck
SELECT Daten aus einer Tabelle abfragen
INSERT Neue Daten einfügen
UPDATE Bestehende Daten ändern
DELETE Daten löschen

Beispiel:

-- Einfügen
INSERT INTO kunden (name, stadt) VALUES ('Müller', 'Berlin');

-- Abfragen
SELECT * FROM kunden WHERE stadt = 'Berlin';

-- Aktualisieren
UPDATE kunden SET stadt = 'Hamburg' WHERE name = 'Müller';

-- Löschen
DELETE FROM kunden WHERE name = 'Müller';

Wichtig:

  • DML arbeitet mit den Daten innerhalb der Tabellen, nicht mit der Struktur der Tabellen selbst (dafür gibt es die Data Definition Language, DDL).

  • DML-Befehle können oft rückgängig gemacht werden (z. B. durch ROLLBACK), sofern Transaktionen unterstützt werden.

Kurz gesagt: DML ist das Werkzeug, mit dem du Daten in einer Datenbank lebendig hältst – also ständig anpasst, liest und veränderst.


Create Read Update Delete - CRUD

CRUD ist ein Akronym für die vier grundlegenden Operationen, die in der Datenverarbeitung und insbesondere in der Datenbankverwaltung verwendet werden. CRUD steht für:

  1. Create (Erstellen): Das Hinzufügen neuer Daten oder Datensätze in eine Datenbank oder ein System.
  2. Read (Lesen): Das Abrufen oder Auslesen von Daten oder Datensätzen aus einer Datenbank oder einem System.
  3. Update (Aktualisieren): Das Ändern oder Bearbeiten bestehender Daten oder Datensätze in einer Datenbank oder einem System.
  4. Delete (Löschen): Das Entfernen von Daten oder Datensätzen aus einer Datenbank oder einem System.

Diese vier Operationen sind fundamental für das Management von persistenten Daten in Anwendungen, sei es in relationalen Datenbanken, NoSQL-Datenbanken oder anderen Datenspeichersystemen. CRUD-Operationen bilden die Grundlage für viele Softwareanwendungen, insbesondere für solche, die Datenbanken intensiv nutzen, wie Webanwendungen, Geschäftsanwendungen und viele andere Arten von Softwaresystemen.

In der Praxis werden CRUD-Operationen oft über spezifische Befehle oder Methoden einer Programmiersprache oder eines Datenbanksystems implementiert, zum Beispiel SQL-Befehle wie INSERT, SELECT, UPDATE und DELETE in einer relationalen Datenbank.