WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007 Vorlesung #6 SQL (Teil 3)

Slides:



Advertisements
Ähnliche Präsentationen
Bauinformatik II Softwareanwendungen 1
Advertisements

Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Kapitel 3: Das Relationenmodell
Kapitel 2 SQL Anfragen.
Kapitel 5 SQL DDL + DML.
Kapitel 2 SQL Anfragen.
Inner Joins.
Übung Datenbanksysteme SQL-Anfragen (2)
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
1 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe.
1 Kapitel 8: Datenintegrität. 2 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines.
SQL in Visual FoxPro. © 1999 TMN-Systemberatung GmbH SQL Historie n SQL - Structured Query Language n In den 70er Jahren von IBM entwickelt n 1986 zum.
Übung 1: SQL Übungen finden bei Bedarf anstelle der Vorlesungen statt
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #6 SQL (Teil 3)
WS 2012/13 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #11 Transaktionsverwaltung.
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #10 Physische Datenorganisation.
SS 2010 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #2 Datenbankentwurf.
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #7 SQL (Teil 2)
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #3 Relationale Anfragesprachen.
Vorlesung #4 SQL (Teil 1).
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #8 Anfragebearbeitung.
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #3 ER Modellierung.
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #8 SQL (Teil 3)
SS 2012 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #3 ER Modellierung.
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen.
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #2 Das relationale Modell (Teil 1)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #8 SQL (Teil 5)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #2 Das relationale Modell (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
WS 2013/14 Datenbanksysteme Fr 17:00 – 18:30 R Vorlesung #3 Das relationale Modell (Teil 2)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #9 Anfragebearbeitung.
SS 2010 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #3 ER Modellierung.
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung (Teil 1)
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #5 SQL (Teil 2)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #7 SQL (Teil 4)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Datenbanksysteme für hörer anderer Fachrichtungen
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
Vorlesung #10 Physische Datenorganisation
1 Gruppierung, Aggregierung und Sortierung (2) Abarbeitungsmodell bei Gruppierung: Werte from- und where-Klauseln aus wie bisher (Bildung von Kreuzprodukt.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung.
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
Aggregatsfunktion mit Group by und having SQL = Structured Query Language.
Datenbanksysteme II Vorlesung WS 2006 / 2007 Paul Manthey
Vorlesung #5 SQL (Teil 2).
Vorlesung #2 Das relationale Modell (Teil 1)
1 Differenzierte Verbindungsoperationen (1) Beobachtung: Einfach zu formulierende Verbindungen wie ein Natural Join sind nicht als solche dokumentiert.
Modellierungsspezialisten DRITTE NORMALFORM! „Bei der Abfrage, können wir dann alles wieder zusammenfügen!“
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
Vorlesung Datenbanksysteme vom Anfragebearbeitung  Logische Optimierung.
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
Datenbanken abfragen mit SQL
Modellierungsspezialisten DRITTE NORMALFORM! „Bei der Abfrage, können wir dann alles wieder zusammenfügen!“
Technische Universität München Übung zur Einführung in die Informatik für Hörer anderer Fachrichtungen im Sommersemester 2010 Sitzung 6: Datenbanksysteme.
WS 2015/16 Datenbanksysteme Fr 17:00 – 18:30 R Vorlesung #3 Das relationale Modell (Teil 2)
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Vorlesung #5 SQL (Teil 2).
Vorlesung #6 SQL (Teil 3).
SQL Join.
Vorlesung #7 SQL (Teil 4).
SQL Join.
 Präsentation transkript:

WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)

WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R © Bojan Milijaš, Fahrplan Besprechung eines Beispiels, SQL-Übungen Quantifizierte Anfragen JOINs in SQL-92 Vorlesung #6 - SQL (Teil 3)

WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R © Bojan Milijaš, Vorlesung #6 - SQL (Teil 3)3 Quantifizierte Anfragen in SQL Es gibt keinen expliziten Allquantor Es gibt aber den Existenzquantor: exists, not exist wieder: Professoren, die keine Vorlesung halten select Name, PersNr from Professoren p where not exists ( select * from Vorlesungen where gelesenVon = p.PersNr );

WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R © Bojan Milijaš, Vorlesung #6 - SQL (Teil 3)4

WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R © Bojan Milijaš, Vorlesung #6 - SQL (Teil 3)5

WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R © Bojan Milijaš, Vorlesung #6 - SQL (Teil 3)6 Quantifizierte Anfragen in SQL (4) Wer hat alle vierstündigen Vorlesungen gehört? select s.* from Studenten s where not exists (select * from Vorlesungen v where v.SWS = 4 and not exists (select * from hören h where h.VorlNr = v.VorlNr and h.MatrNr=s.MatrNr ) );

WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R © Bojan Milijaš, Vorlesung #6 - SQL (Teil 3)7 Quantifizierte Anfragen in SQL (5) Allquantifizierung kann immer auch durch eine count Aggregation ausgedrückt werden Wir betrachten dazu eine etwas einfachere Anfrage, in der wir die (MatrNr der) Studenten ermitteln wollen, die alle Vorlesungen hören: select h.MatrNr from hören h group by h.MatrNr having count (*) = (select count (*) from Vorlesungen);

WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R © Bojan Milijaš, Vorlesung #6 - SQL (Teil 3)8 JOINs in SQL-92 cross join: Kreuzprodukt natural join: natürlicher Join join oder inner join: Theta-Join left outer join: linker äußerer Join right outer join: rechter äußerer Join full outer join: äußerer Join

WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R © Bojan Milijaš, Vorlesung #6 - SQL (Teil 3)9 CROSS JOIN (Kartesisches Produkt) SELECT * FROM Studenten CROSS JOIN prüfen; ist äquivalent zu SELECT * FROM Studenten, prüfen;

WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R © Bojan Milijaš, Vorlesung #6 - SQL (Teil 3)10 NATURAL JOIN (natürlicher Verbund) SELECT * FROM Studenten NATURAL JOIN prüfen; ist äquivalent zu SELECT s.MatrNr, s.Name, s.Semester, /* p.MatrNr ausgelassen */ p.VorlNr, p.PersNr, p.Note FROM Studenten s, prüfen p WHERE s.MatrNr = p.MatrNr;

WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R © Bojan Milijaš, Vorlesung #6 - SQL (Teil 3)11 JOIN (Theta Verbund) SELECT * FROM Studenten s JOIN prüfen p ON s.MatrNr = p.MatrNr; ist äquivalent zu SELECT * FROM Studenten s, prüfen p WHERE s.MatrNr = p.MatrNr;

WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R © Bojan Milijaš, Vorlesung #6 - SQL (Teil 3)12 JOIN (Theta Verbund) (2) Allgemein – setzt die Gleichheit der Join- Spalten nicht voraus: SELECT * FROM Professoren p JOIN Assistenten a ON p.persnr = a.boss;

WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R © Bojan Milijaš, Vorlesung #6 - SQL (Teil 3)13 * OUTER JOINs (äußerer Vebund) SELECT * FROM Studenten s LEFT OUTER JOIN pruefen p ON s.matrnr = p.matrnr; SELECT * FROM uni.hoeren h RIGHT OUTER JOIN uni.Vorlesungen v ON h.vorlnr = v.vorlnr;

WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R © Bojan Milijaš, Vorlesung #6 - SQL (Teil 3)14 * OUTER JOINs (äußerer Vebund) (2) SELECT * FROM Vorlesungen v FULL OUTER JOIN Assistenten a ON v.gelesenvon = a.Boss

WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 Ende