Chapter_07_-_More_SQL_Z Flashcards
Was versteht man unter verschachtelten Abfragen in SQL?
Verschachtelte Abfragen sind SELECT
-Statements, die innerhalb der WHERE
-Klausel eines anderen SELECT
-Statements eingebettet sind. Diese Technik ermöglicht es, komplexe Abfragen zu erstellen, indem Ergebnisse einer Unterabfrage in der Hauptabfrage verwendet werden.
Welche Operatoren können in verschachtelten und korrelierten Abfragen verwendet werden?
In verschachtelten und korrelierten Abfragen können die Operatoren IN
, ANY
, SOME
, ALL
, EXISTS
, UNIQUE
und NOT EXISTS
verwendet werden. Diese Operatoren ermöglichen den Vergleich von Werten mit Mengen und die Überprüfung von Existenz oder Eindeutigkeit von Ergebnissen.
Was ist ein NATURAL JOIN
in SQL?
Ein NATURAL JOIN
ist ein Join, der automatisch auf gleichnamigen Attributen der beteiligten Tabellen basiert. Es ist eine implizite Join-Operation, die Spalten mit demselben Namen und Datentyp in beiden Tabellen kombiniert.
Wie unterscheiden sich LEFT OUTER JOIN
, RIGHT OUTER JOIN
und FULL OUTER JOIN
?
Ein LEFT OUTER JOIN
enthält alle Tupel der linken Tabelle und ergänzt sie mit NULL-Werten für fehlende Übereinstimmungen in der rechten Tabelle. Ein RIGHT OUTER JOIN
macht dasselbe, aber für die rechte Tabelle. Ein FULL OUTER JOIN
kombiniert beide und enthält alle Tupel aus beiden Tabellen, ergänzt durch NULL-Werte für fehlende Übereinstimmungen.
Wie funktioniert die HAVING
-Klausel in SQL?
Die HAVING
-Klausel wird verwendet, um Bedingungen auf Gruppen anzuwenden, die durch die GROUP BY
-Klausel erstellt wurden. Sie wird nach der Gruppierung der Ergebnisse angewendet und filtert Gruppen basierend auf den angegebenen Bedingungen.
Was ist eine WITH
-Klausel in SQL und wofür wird sie verwendet?
Die WITH
-Klausel in SQL wird verwendet, um temporäre Tabellen zu definieren, die in einer Abfrage verwendet werden können. Diese temporären Tabellen enthalten Zwischenergebnisse und erleichtern das Lesen und Verstehen komplexer Abfragen.
Was ist das CASE
-Konstrukt in SQL?
Das CASE
-Konstrukt in SQL ermöglicht bedingte Logik innerhalb von Abfragen. Es wird verwendet, um Werte basierend auf bestimmten Bedingungen zu setzen und ähnelt einer switch
-Anweisung in Programmiersprachen.
Was sind rekursive Abfragen und wofür werden sie verwendet?
Rekursive Abfragen sind Abfragen, die sich selbst wiederholt aufrufen, um hierarchische Daten zu verarbeiten. Ein Beispiel ist das Abrufen aller untergeordneten Mitarbeiter eines Vorgesetzten in einer Unternehmensstruktur.
Was ist der Zweck der CREATE ASSERTION
-Anweisung in SQL?
Die CREATE ASSERTION
-Anweisung wird verwendet, um zusätzliche Integritätsbedingungen in der Datenbank zu definieren, die über einfache CHECK
-Klauseln hinausgehen. Sie stellt sicher, dass die Datenbank konsistent bleibt und bestimmte Bedingungen immer erfüllt sind.
Was sind SQL-Triggers und wann werden sie verwendet?
SQL-Triggers sind spezielle Prozeduren, die automatisch bei bestimmten Ereignissen wie INSERT
, UPDATE
oder DELETE
ausgeführt werden. Sie werden verwendet, um Geschäftslogik zu implementieren, Datenintegrität zu gewährleisten oder automatische Aktionen durchzuführen.
Was ist eine View in SQL und wie wird sie definiert?
Eine View (virtuelle Tabelle) in SQL wird durch die CREATE VIEW
-Anweisung definiert. Sie basiert auf einer Abfrage und stellt eine virtuelle Tabelle dar, die die Ergebnisse dieser Abfrage enthält. Views vereinfachen komplexe Abfragen und bieten eine Abstraktionsebene über die zugrunde liegenden Tabellen.
Welche Strategien gibt es zur Materialisierung von Views in SQL?
Es gibt verschiedene Strategien zur Materialisierung von Views: sofortige Aktualisierung (die View wird bei jeder Änderung der zugrunde liegenden Tabellen aktualisiert), verzögerte Aktualisierung (die View wird bei Bedarf aktualisiert) und periodische Aktualisierung (die View wird in regelmäßigen Abständen aktualisiert).
Was sind die Einschränkungen beim Aktualisieren von Views in SQL?
Das Aktualisieren von Views in SQL ist eingeschränkt, insbesondere bei Views, die Aggregatfunktionen oder Joins enthalten. Solche Views können oft nicht direkt aktualisiert werden, da die zugrunde liegenden Daten nicht eindeutig zugeordnet werden können.
Was bedeutet DROP
in Bezug auf Schemaänderungen in SQL?
DROP
wird verwendet, um Schema-Elemente wie Tabellen, Views oder Indizes zu entfernen. Mit den Optionen CASCADE
oder RESTRICT
kann festgelegt werden, ob abhängige Objekte ebenfalls entfernt werden sollen (CASCADE
) oder ob die Operation fehlschlagen soll, wenn abhängige Objekte vorhanden sind (RESTRICT
).
Wie wird die ALTER TABLE
-Anweisung in SQL verwendet?
Die ALTER TABLE
-Anweisung wird verwendet, um eine vorhandene Tabelle zu ändern. Dies kann das Hinzufügen oder Entfernen von Spalten, das Ändern der Datentypen von Spalten oder das Hinzufügen oder Entfernen von Einschränkungen umfassen.
Was sind Default-Werte in SQL und wie werden sie gesetzt und entfernt?
Default-Werte in SQL sind voreingestellte Werte, die einer Spalte zugewiesen werden, wenn keine expliziten Werte angegeben sind. Sie werden mit der DEFAULT
-Klausel bei der Tabellenerstellung oder mit ALTER TABLE
gesetzt und können mit ALTER TABLE
wieder entfernt werden.