09.11.2012 Aufrufe

Skript Datenbanken I - Praktische Informatik Universität Kassel

Skript Datenbanken I - Praktische Informatik Universität Kassel

Skript Datenbanken I - Praktische Informatik Universität Kassel

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Kapitel 4 – Die relationale Abfragesprache SQL 91<br />

– Zufügen/Löschen von Routinen<br />

– Zufügen/Löschen von Typen<br />

– Zur Anpassung von Typ- und Routinen-Paketen möglich:<br />

- Ändern von (externen) Routinen<br />

-- Implementierung; Charakteristiken<br />

- Ändern von Typen<br />

-- Zufügen/Löschen von Attributen<br />

-- Zufügen/Löschen von Methoden<br />

Rekursive Anfragen<br />

• Beispiel (lineare direkte Rekursion):<br />

WITH RECURSIVE Ahnen (Kind, Ahne) AS<br />

(SELECT Kind, Elter FROM Eltern WHERE ...<br />

UNION ALL<br />

SELECT a.Kind, e.Elter<br />

FROM Ahnen a, Eltern e<br />

WHERE a.Elter = e.Kind)<br />

SELECT * FROM Ahnen<br />

• Lineare Rekursion; verschränkte Rekursion<br />

• Optionale „breadth/depth first“ Markierung<br />

• Optionaler Abbruch bei Erkennung von Zyklen<br />

• Vorbild: Datalog; SQL-Anpassung nicht-trivial<br />

– Unterstützung von Duplikaten<br />

– Beschränkungen zur Sicherung der Stratifikation:<br />

- Gruppierung; „outer join“<br />

- Mengen-Differenz; Mengen-Durchschnitt<br />

Trigger<br />

• Auslöser: UPDATE, INSERT. DELETE (nicht: SELECT)<br />

• Zeitpunkt: BEFORE, AFTER (nicht: INSTEAD)<br />

• Granularität: FOR EACH STATEMENT / ROW<br />

• Zugriff auf Vor- und Nachzustand<br />

• Bedingungsgesteuerte Aktionen; Kaskadierung möglich<br />

• Nur für Basis-Tabellen (nicht: Sichten)

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!