SQL - Zusammenfassung DATENBANKSYSTEME FÜR HÖRER ANDERER FACHRICHTUNGEN.

14
SQL - Zusammenfassung DATENBANKSYSTEME FÜR HÖRER ANDERER FACHRICHTUNGEN

Transcript of SQL - Zusammenfassung DATENBANKSYSTEME FÜR HÖRER ANDERER FACHRICHTUNGEN.

Page 1: SQL - Zusammenfassung DATENBANKSYSTEME FÜR HÖRER ANDERER FACHRICHTUNGEN.

SQL - ZusammenfassungDATENBANKSYSTEME FÜR HÖRER ANDERER FACHRICHTUNGEN

Page 2: SQL - Zusammenfassung DATENBANKSYSTEME FÜR HÖRER ANDERER FACHRICHTUNGEN.

SQL-ZusammenfassungGerüst einer SQL-Anfrage

• Duplikate mit DISTINCT eliminieren

(hoher Rechenaufwand!)

• Reihenfolge der Statements in der Query

muss eingehalten werden

• Ziffern geben Reihenfolge der

Abarbeitung an

Page 3: SQL - Zusammenfassung DATENBANKSYSTEME FÜR HÖRER ANDERER FACHRICHTUNGEN.

SQL-ZusammenfassungWhere-Klausel

Prädikate kombinierbar (AND, OR, NOT)

Einsatz von Vergleichsoperatoren

Strings müssen in einfachen Anführungszeichen stehen

Liefert nur Tupel, für die die Bedingung gleich true ist

Suche mit Platzhaltern (Wildcards): „_“ beliebiges Zeichen + LIKE

„%“ beliebige Zeichenkette + LIKE

Beispiel:SELECT * FROM Student WHERE Name LIKE ‚K%‘ AND Semster > 9;

Page 4: SQL - Zusammenfassung DATENBANKSYSTEME FÜR HÖRER ANDERER FACHRICHTUNGEN.

SQL-ZusammenfassungNULL-Werte

Repräsentieren Werte, die unbekannt,

nicht verfügbar oder

nicht anwendbar sind

SQL hat eine dreiwertige Logik true

unknown bei AND-Verknüpfung gesamte Bedingung unknown

false

In Gruppierung als eigene Gruppe dargestellt

Page 5: SQL - Zusammenfassung DATENBANKSYSTEME FÜR HÖRER ANDERER FACHRICHTUNGEN.

SQL-ZusammenfassungAnfragen über mehrere Relationen

Kreuzprodukt (wenig sinnvoll)

Joins (stehen in der WHERE-Klausel, bevorzugte Variante)

Namenskonflikte auflösen

Beispiel:SELECT s.Name, v.TitelFROM Studenten s, hoeren h, Vorlesungen vWHERE s.MatrNr = h.MatrNr AND h.VorlNr = v.VorlNr

Page 6: SQL - Zusammenfassung DATENBANKSYSTEME FÜR HÖRER ANDERER FACHRICHTUNGEN.

SQL-ZusammenfassungMengenoperationen

Vereinigung UNION (Duplikate werden automatisch eliminiert!)

Schnitt INTERSECT

Differenz EXCEPT

Voraussetzung: Gleiches Schema der verknüpften Relationen!

Beispiel:(SELECT Name FROM Assistenten) UNION(SELECT Name FROM Professoren)

Page 7: SQL - Zusammenfassung DATENBANKSYSTEME FÜR HÖRER ANDERER FACHRICHTUNGEN.

SQL-ZusammenfassungSortierung

Sortieren des Ausgabetupel über ORDER BY Aufsteigend (ASC) – Defaultwert

Absteigend (DESC)

Page 8: SQL - Zusammenfassung DATENBANKSYSTEME FÜR HÖRER ANDERER FACHRICHTUNGEN.

SQL-ZusammenfassungGeschachtelte Anfragen

Mehrere SELECT-Statements in einer Anfrage

Inneres Anfrageergebnis wird in äußerer Anfrage verwendet

Zwei Arten geschachtelter Anfragen Korreliert (Unteranfrage bezieht sich auf äußere Anfrage)

Unkorreliert (Unteranfrage bezieht sich nur auf „eigene“ Attribute)

Unkorrelierte Anfragen sind effizienter (Unteranfrage wird nur einmal ausgewertet)

Beispiele:SELECT p.Name FROM Professoren p WHERE NOT EXISTS(SELECT * FROM Vorlesungen v WHERE v.gelesenVon = p.PersNr);

Page 9: SQL - Zusammenfassung DATENBANKSYSTEME FÜR HÖRER ANDERER FACHRICHTUNGEN.

SQL-ZusammenfassungAggregatfunktionen und Gruppierung

Durchschnitt AVG(*)

Maximum MAX(*)

Minimum MIN(*)

Summe SUM(*)

Anzahl COUNT(*)

Alle in der SELECT-Klausel gelisteten Attribute müssen auch in der GROUP BY-Klausel stehen!

Beispiel:SELECT gelesenVon, Name, SUM(SWS) FROM Vorlesungen, Professoren WHEREgelesenVon = PersNr AND Rang = `C4` GROUP BY gelesenVon, Name HAVING AVG(SWS) >= 3;

Page 10: SQL - Zusammenfassung DATENBANKSYSTEME FÜR HÖRER ANDERER FACHRICHTUNGEN.

SQL-ZusammenfassungTemporäre Tabellen

Verwendung einer Ergebnismenge aus einer Unteranfrage

Umbenennung dieser in eine „temporäre Tabelle“

Beispiel:SELECT tmp.MatrNr,tmp.Name,tmp.VorlAnzahlFROM (SELECT s.MatrNr, s.Name, COUNT(*) AS VorlAnzahlFROM Studenten s, hoeren hWHERE s.MatrNr = h.MatrNrGROUP BY s.MatrNr, s.NameHAVING COUNT(*) > 2) tmp;

Page 11: SQL - Zusammenfassung DATENBANKSYSTEME FÜR HÖRER ANDERER FACHRICHTUNGEN.

SQL-ZusammenfassungJoins

Inner join

Left, right oder full outer join

Beispiel:SELECT p.PersNR,p.Name,f.PersNr from Professoren p, prüfen f left outer join on p.PersNr=f.PersNR

Page 12: SQL - Zusammenfassung DATENBANKSYSTEME FÜR HÖRER ANDERER FACHRICHTUNGEN.

SQL-ZusammenfassungVeränderung am Datenbestand

Insert into zum Einfügen von Tupeln durch Anfrage

Bsp: INSERT INTO hören SELECT MatrNr, VorlNr FROM Stundenten, Vorlesungen WHERE Titel=‚Logik‘

Import zum Einfügen von Tupeln aus Dateien

Delete und Update zum Löschen und Verändern von Datensätzen (nur Inhalt)

DROP und ALTER zum Verändern des Schemas (Löschen ganzer Tabellen bzw. Verändern von Spalten)

Page 13: SQL - Zusammenfassung DATENBANKSYSTEME FÜR HÖRER ANDERER FACHRICHTUNGEN.

SQL-ZusammenfassungSichten

Oft verwendet, um Anfragen übersichtlicher zu gestalten

Stellen eine Art „virtuelle Relation“ dar

Für den Datenschutz und Statistik verwendet

spart Speicherplatz, kostet Rechenzeit im vergleich zu CREATE TABLE

Bsp:CREATE VIEW prüfenSicht AS SELECT MatrNr, VorlNr, PersNr FROM prüfen

Page 14: SQL - Zusammenfassung DATENBANKSYSTEME FÜR HÖRER ANDERER FACHRICHTUNGEN.

SQL-ZusammenfassungWebressource

http://www.w3schools.com/sql/