1 Gruppierung, Aggregierung und Sortierung (1) Finde für jeden Flugzeugtyp die Zahl aller von Frankfurt abgehenden Flüge und sortiere Ergebnis nach Flugzeugtyp:

Slides:



Advertisements
Ähnliche Präsentationen
ER-Datenmodell und Abfragen in SQL
Advertisements

Bauinformatik II Softwareanwendungen 1
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Kapitel 3: Das relationale Modell
Kapitel 4: Datenbankentwurf
SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe.
Inner Joins.
Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
Übung Datenbanksysteme SQL-Anfragen (2)
Der letzte Schliff für Abfragen Übersicht über die Aggregatfunktionen.
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
Abfragen – Tipps und Tricks Buch S102ff (Informatik I, Oldenbourg-Verlag) Nach einer Vorlage von Dieter Bergmann.
Universität Karlsruhe (TH) © 2009 Univ,Karlsruhe, IPD, Prof. LockemannDBI 10 Kapitel 10 Anfragebearbeitung.
Selektion: Beispiel 1 Alle in der Datenbasis enthaltenen deutschen Flughäfen: land = "D" (FLUGHAFEN) flughCode stadt land name.
B * -Baum vom Typ (3, 3, 2) DUS HEL LHR NRT SOF VIE ANC ATH ATL BOS DRS DUS EWR FRA GIG GRU HAM HEL JFK LAX LEJ LHR MIA MUC NRT ORD.
1 Beispiele (1) Anzeige aller Flughäfen: select fromFLUGHAFEN entspricht (trivialem) relationenalgebraischem Ausdruck FLUGHAFEN.
1 Beispiele (9) Mehrfach geschachtelte Anfrage: Suche alle Passagiere, die Flüge von Frankfurt gebucht haben: selectname fromTICKET whereticketNrin (selectticketNr.
1 Sichten (1) Oftmals ist es für Anwendungen einfacher, nicht mit dem Original- Datenbestand, sondern einem speziell zugeschnittenen Ausschnitt zu arbeiten.
Referenzarchitektur Externes Datenmodell Anfragebearbeitung Internes Datenmodell Satz- u. Satzmengenverwaltung Physische Datenstrukturen Zugriffsschicht.
Finde alle Flughäfen, auf denen Nachtflüge stattfinden: von ( abflugszeit > 2200 abflugszeit 2200 ankunftszeit < 0600 (FLUG)) flugNr von nach ftypId wochentage.
Projektion: Beispiel 1 Flughäfen unter Verzicht auf Zeitzonen-Info:
1 Gruppierung (1) Motivation: Bisher existierte nur die gesamte Relation als eine einzige Gruppe. Interessanter ist es, Aggregierungen über Teilmengen.
1 Theta-Verbindung: Beispiel Selektion der Buchungen für den 6. August 2000 mit den zugehörigen Passagieren: datum = 06-AUG-00 B.ticketNr = T.ticketNr.
Aufgabe Aufgabe: Einflussfaktoren: ?
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.
SQL-Datentypen INTEGER
Übung 1: SQL Übungen finden bei Bedarf anstelle der Vorlesungen statt
Datenbankentwicklung IV-LK
Lese-Schreib-Modell: Beispiele Relationen –TICKET (ticketNr, name)T –BUCHUNG (flugNr, ticketNr, platzCode, datum)B Transaktionen: –T 1 : Prüfen der Konsistenz.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein
SQL Überblick Abfragen aus einer Tabelle
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #6 SQL (Teil 3)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #7 SQL (Teil 2)
Vorlesung #4 SQL (Teil 1).
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #5 SQL (Teil 2)
Befehle in SQL Erläuterungen.
Datenbanksysteme für hörer anderer Fachrichtungen
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
Aggregatsfunktion SQL = Structured Query Language.
1 Gruppierung, Aggregierung und Sortierung (2) Abarbeitungsmodell bei Gruppierung: Werte from- und where-Klauseln aus wie bisher (Bildung von Kreuzprodukt.
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.
Am Beispiel der Tabelle Crew des Raumschiffes Enterprise
Verdichten von Daten mit Gruppenfunktionen
1 Beispielinstanz FLUGINFO mit Filmtiteln (div. Attribute weggelassen): FlugNr von nach Ftyp Filmtitel TicketNr Platz Datum Name
Datenbanksysteme II Vorlesung WS 2006 / 2007 Paul Manthey
Structured Query Language
Dritte Normalform Relationstyp R(A1,...,An) und Menge  von FDs und MVDs für R sei im Folgenden fest vorgegeben. R ist in dritter Normalform (3NF), wenn.
TA-Wechselwirkungen: Beispiel 1 selectcount (distinct ticketNr) fromBUCHUNG wheredatum = 12-AUG-00; drucke Anzahl der verkauften Tickets; selectname fromTICKET.
XQuery 1.0 – Arbeitsweise Mögl. Eingaben Das wird berücksichtigt: Typen von XPath und XML Schema Namensräume, Module Ergebnis: XML-Instanz.
Vorlesung #5 SQL (Teil 2).
1 Sichten-Änderungen (2) Weiteres Beispiel: Änderung eines Startflughafens: updateFRA_START setvon = "MUC" whereflugNr = "LH4616" Zugehörige Änderung von.
1 Sichten-Änderungen (1) Änderungen von Sichten sind i.d.R. problematisch, da sie in entsprechende Änderungen der Basisrelationen überführt werden müssen.
1 Differenzierte Verbindungsoperationen (1) Beobachtung: Einfach zu formulierende Verbindungen wie ein Natural Join sind nicht als solche dokumentiert.
Laufendes Beispiel: DB für Flugbuchungen
RelationentheorieObjektorientierte Datenbanken  AIFB SS Anfragen auf Sammlungen(1/29) OQL besteht aus einer Menge von Anfrageausdrücken, die.
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
Division: Beispiel Auf welchen Flughäfen starten alle Flugzeugtypen? Ermittle zunächst, welche Flugzeugtypen wo starten: TYP_START :=  von,ftypId (FLUG)
Modellierungsspezialisten DRITTE NORMALFORM! „Bei der Abfrage, können wir dann alles wieder zusammenfügen!“
Abfragen Wiederholung Manuel Friedrich Schiller-Gymnasium Hof.
Aggregatfunktionen bei mehreren Tabellen
Vorlesung #5 SQL (Teil 2).
Vorlesung #6 SQL (Teil 3).
Wirtschaftsinformatik
Nutzung und Modellierung von Datenbanken
2.3 Gruppierte Datensätze
 Präsentation transkript:

1 Gruppierung, Aggregierung und Sortierung (1) Finde für jeden Flugzeugtyp die Zahl aller von Frankfurt abgehenden Flüge und sortiere Ergebnis nach Flugzeugtyp: selectftypId, count (flugNr) fromFLUG wherevon = "FRA" group byftypId order byftypId

2 Auswertung der from- und where-Klauseln: Gruppierung, Aggregierung und Sortierung (3) selectftypId, count(flugNr) fromFLUG wherevon = "FRA" group byftypId order byftypId Auswertung der from- und where-Klauseln: flugNr von nach ftypId wochentage abflzt. ankzt. entfernung LH400 FRA JFK 747 MDMDFSS LH676 FRA ALY 319 -D--FSS LH208 FRA DUS 321 MDMDFSS LH4616 FRA LHR AB6 MDMDFSS LH710 FRA NRT 744 MDMDFSS LH778 FRA SIN 744 MDMDFSS LH454 FRA SFO 744 MDMDFSS LH3724 FRA VIE 320 MDMDFSS LH4080 FRA CDG 314 MDMDFSS LH500 FRA GIG 340 -D-D-S

3 Gruppierung, Aggregierung und Sortierung (3) selectftypId, count(flugNr) fromFLUG wherevon = "FRA" group byftypId order byftypId Gruppierung nach FtypId: flugNr von nach ftypId wochentage abflzt. ankzt. entfernung LH400 FRA JFK 747 MDMDFSS LH676 FRA ALY 319 -D--FSS LH208 FRA DUS 321 MDMDFSS LH4616 FRA LHR AB6 MDMDFSS LH710 FRA NRT 744 MDMDFSS LH778 FRA SIN 744 MDMDFSS LH454 FRA SFO 744 MDMDFSS LH3724 FRA VIE 320 MDMDFSS LH4080 FRA CDG 314 MDMDFSS LH500 FRA GIG 340 -D-D-S

4 Gruppierung, Aggregierung und Sortierung (3) selectftypId, count(flugNr) fromFLUG wherevon = "FRA" group byftypId order byftypId Projektion auf die Attribute der select-Klausel: ftypId flugNr LH LH LH208 AB6 LH LH LH LH LH LH LH500

5 selectftypId, count(flugNr) fromFLUG wherevon = "FRA" group byftypId order byftypId Auswertung der Funktion count(flugNr): ftypId count AB Gruppierung, Aggregierung und Sortierung (3) selectftypId, count(flugNr) fromFLUG wherevon = "FRA" group byftypId order byftypId Auswertung der Funktion count(flugNr): ftypId count AB

6 Gruppierung, Aggregierung und Sortierung (3) selectftypId, count(flugNr) fromFLUG wherevon = "FRA" group byftypId order byftypId Sortierung gemäß order by-Klausel: ftypId count AB6 1

7 Gruppierung, Aggregierung und Sortierung (4) Auswahl unter Gruppen: Beschränkung des vorigen Beispiels auf Flugzeugtypen mit mehr als einem Einsatz ab Frankfurt. selectftypId, count(flugNr) fromFLUG wherevon = "FRA" group byftypId havingcount(flugNr) > 1 order byftypId Ergebnis: FtypId Count

8 Gruppierung, Aggregierung und Sortierung (5) Weitere Aggregatfunktionen neben count:  Mittelwertbildung (avg),  Minimum (min),  Maximum (max),  Aufsummieren (sum). Anwendung stets auf die Tupel einer Gruppe. Argumente können Attributnamen oder auch arithmetische Ausdrücke sein, z.B. selectmax(first + business + economy) fromFLUGZEUGTYP max

9 Allgemeine Tabellenausdrücke (1) select-Anweisung ist wesentliches Konstrukt zur Bildung von Tabellen, aber es gibt weitere:  union, intersect, except dienen zur Bildung von Vereinigung, Durchschnitt und Differenz.  Beispiel: Suche nach Flügen, die noch keine Buchungen haben: (selectflugNr from FLUG) except (selectflugNr from BUCHUNG)

10 Allgemeine Tabellenausdrücke (2) select-Anweisung ist wesentliches Konstrukt zur Bildung von Tabellen, aber es gibt weitere:  [natural] [left | right | full] [outer] join und cross join - Klauseln ermöglichen Bildung von natürlicher Verbindung, Halbverbindung und Kreuzprodukt.  Beispiel: Reprise von „Suche Passagiere, die Buchungen für den 6. August 2000 haben“: selectBT.name from(BUCHUNG natural join TICKET) as BT whereBT.datum = 06-AUG-2000

11 Allgemeine Tabellenausdrücke (3) select-Anweisung ist wesentliches Konstrukt zur Bildung von Tabellen, aber es gibt weitere:  Direkte Eingabe von Tabellen ist ebenfalls möglich mit Konstrukt valuest 1,..., t n wobei t 1,..., t n Tupel sind.  Beispiel: values("Horcic_Mrs_V", "(0721) 608"), ("Goetz_Mrs_E", "(0721) 618") liefert zweizeilige Tabelle Horcic_Mrs_V (0721) 608 Goetz_Mrs_E (0721) 618