zu Sichten und Integritätsbedingungen Views und Constraints SQL-Kurs: abschliessender Paragraph mit zahlreichen weiterführenden Aspekten zu Sichten und Integritätsbedingungen 1. DDL-Konstrukte: Schemadefinition und -evolution 2. DML-Konstrukte: Anfrageformulierung 3. DML-Konstrukte: Änderungen und Transaktionen 4. Constraints und Views in SQL © 2000 Prof. Dr. Rainer Manthey Relationale Datenbanken SS 2000
"Bundesliga-DB": Modellierungsübung mit Views und Constraints als Nachtrag zu Kapitel 4: kleine "Übung" im Verwenden von Sichten und Integritätsbedingungen Datenbank für Spielergebnisse und Tabelle(n) der Fußball-Bundesliga wesentliches Ziel: Diskussion über pro und kontra verschiedener Weisen der Modellierung von Gesetzmäßigkeiten des Anwendungsbereichs bei der Daten- haltung Sichten oder Integritätsbedingungen ? (Alternative, Koexistenz?) Sollen beide Konzepte überhaupt verwendet werden? nebenbei: keineswegs offensichtlich, wie Sichtendarstellung aussehen soll Grundidee: Tabelle der Bundesliga besteht stets aus aggregierter Information, die aus Spielergebnissen vollständig herleitbar ist © 2000 Prof. Dr. Rainer Manthey Relationale Datenbanken SS 2000
Bundesligatabelle 32. Spieltag Torver- hältnis Tor- differenz Position Verein # Spiele g. u. v. Punkte 1. Bayer Leverkusen 32 20 10 2 70:33 70 2. Bayern München 32 20 7 5 67:27 67 3. Hamburger SV 32 15 10 7 59:38 55 4. Hertha BSC Berlin 32 13 11 8 38:41 50 5. TSV 1860 München 32 13 10 9 52:46 49 6. 1. FC Kaiserslautern 32 15 4 13 52:56 49 7. VfL Wolfsburg 32 11 13 8 49:55 46 8. Werder Bremen 32 12 8 12 60:49 44 9. VfB Stuttgart 32 13 5 14 37:43 44 10. Spvgg. Unterhaching 32 11 8 13 38:39 41 11. FC Schalke 04 32 8 14 10 41:41 38 12. Eintracht Frankfurt 32 11 5 16 39:39 38 13. SC Freiburg 32 9 10 13 42:47 37 14. Borussia Dortmund 32 8 12 12 37:37 36 15. Hansa Rostock 32 7 14 11 41:56 35 16. SSV Ulm 32 8 8 16 33:60 32 17. Arminia Bielefeld 32 7 8 17 37:55 29 18. MSV Duisburg 32 4 9 19 36:66 21 37 40 31 - 3 6 - 4 - 6 11 - 1 - 5 - 15 - 27 - 18 - 30 © 2000 Prof. Dr. Rainer Manthey Relationale Datenbanken SS 2000
Bundesliga: Ergebnisse 33. Spieltag Hamburger SV - Spvgg. Unterhaching 3:0 SSV Ulm - VfL Wolfsburg 2:0 SC Freiburg - 1. FC Kaiserslautern 2:1 TSV 1860 München - Hertha BSC 2:1 Borussia Dortmund - Schalke 04 1:1 Hansa Rostock - VfB Stuttgart 1:4 Arminia Bielefeld - Bayern München 0:3 Werder Bremen - MSV Duisburg 4:0 Bayer Leverkusen - Eintracht Frankfurt 4:1 © 2000 Prof. Dr. Rainer Manthey Relationale Datenbanken SS 2000
Integration von Ergebnissen in die Tabelle 1. Bayer Leverkusen 32 20 10 2 70:33 70 . . . . . . 12. Eintracht Frankfurt 32 11 5 16 39:39 38 Tabelle vor 33. Spieltag Spielergebnis am 33. Spieltag Bayer Leverkusen - Eintracht Frankfurt 4:1 1. Bayer Leverkusen 33 21 10 2 74:34 73 . . . . . . 13. Eintracht Frankfurt 33 11 5 17 40:43 38 Tabelle nach 33. Spieltag © 2000 Prof. Dr. Rainer Manthey Relationale Datenbanken SS 2000
Integration von Ergebnissen in die Tabelle 1. Bayer Leverkusen 32 20 10 2 70:33 70 . . . . . . 12. Eintracht Frankfurt 32 11 5 16 39:39 38 + 1 gewonnen Aufaddieren geschossener bzw. "kassierter" Tore + 1 Spiel Bayer Leverkusen - Eintracht Frankfurt 4:1 + 1 verloren + 3 Punkte für einen Sieg 1. Bayer Leverkusen 33 21 10 2 74:34 73 . . . . . . 13. Eintracht Frankfurt 33 11 5 17 40:43 38 (+ 1 Punkt für unentschieden) © 2000 Prof. Dr. Rainer Manthey Relationale Datenbanken SS 2000
Bundesligatabelle 33. Spieltag fortgeschriebene Tabelle nach Integration der Ergebnisse des 33. Spieltages: 1. Bayer Leverkusen 33 21 10 2 74:34 73 2. Bayern München 33 21 7 5 70:27 70 3. Hamburger SV 33 16 10 7 62:38 58 4. TSV 1860 München 33 14 10 9 54:47 52 5. Hertha BSC Berlin 33 13 11 9 39:43 50 6. 1. FC Kaiserslautern 33 15 4 14 53:58 49 7. Werder Bremen 33 13 8 12 64:49 47 8. VfB Stuttgart 33 14 5 14 41:44 47 9. VfL Wolfsburg 33 11 13 9 49:57 46 10. Spvgg. Unterhaching 33 11 8 14 38:42 41 11. SC Freiburg 33 10 10 13 44:48 40 12. FC Schalke 04 33 8 15 10 42:42 39 13. Eintracht Frankfurt 33 11 5 17 40:43 38 14. Borussia Dortmund 33 8 13 12 38:38 37 15. Hansa Rostock 33 7 14 12 42:60 35 16. SSV Ulm 33 9 8 16 35:60 35 17. Arminia Bielefeld 33 7 8 18 37:58 29 18. MSV Duisburg 33 4 9 20 36:70 21 40 43 24 7 - 4 - 5 15 - 3 - 8 - 3 - 18 - 25 - 21 - 34 © 2000 Prof. Dr. Rainer Manthey Relationale Datenbanken SS 2000
Bundesligatabelle: "Auswertung" Champions League 1. Bayer Leverkusen 33 21 10 2 74:34 73 2. Bayern München 33 21 7 5 70:27 70 3. Hamburger SV 33 16 10 7 62:38 58 4. TSV 1860 München 33 14 10 9 54:47 52 5. Hertha BSC Berlin 33 13 11 9 39:43 50 6. 1. FC Kaiserslautern 33 15 4 14 53:58 49 7. Werder Bremen 33 13 8 12 64:49 47 8. VfB Stuttgart 33 14 5 14 41:44 47 9. VfL Wolfsburg 33 11 13 9 49:57 46 10. Spvgg. Unterhaching 33 11 8 14 38:42 41 11. SC Freiburg 33 10 10 13 44:48 40 12. FC Schalke 04 33 8 15 10 42:42 39 13. Eintracht Frankfurt 33 11 5 17 40:43 38 14. Borussia Dortmund 33 8 13 12 38:38 37 15. Hansa Rostock 33 7 14 12 42:60 35 16. SSV Ulm 33 9 8 16 35:60 35 17. Arminia Bielefeld 33 7 8 18 37:58 29 18. MSV Duisburg 33 4 9 20 36:70 21 CL-Qualifikation UEFA-Cup UI-Cup Absteiger © 2000 Prof. Dr. Rainer Manthey Relationale Datenbanken SS 2000
Bundesligatabelle: interne Zusammenhänge Punkte = 3 * g. + u. # Spiele = g. + u. + v. Torver- hältnis Tor- differenz # Spiele g. u. v. Punkte 1. Bayer Leverkusen 32 20 10 2 70:33 70 2. Bayern München 32 20 7 5 67:27 67 3. Hamburger SV 32 15 10 7 59:38 55 4. Hertha BSC Berlin 32 13 11 8 38:41 50 5. TSV 1860 München 32 13 10 9 52:46 49 . . . . . . 37 40 31 - 3 6 Tordifferenz = geschossene Tore - "kassierte" Tore © 2000 Prof. Dr. Rainer Manthey Relationale Datenbanken SS 2000
Bundesligatabelle: Reihenfolgebestimmung wesentliches Kriterium für Tabellenplatz: Punktzahl bei Punktgleichheit: Tordifferenz maßgeblich bei gleicher Punktzahl und gleicher Tordifferenz: Anzahl geschossener Tore wenn alle drei Kriterien gleich: gleicher Tabellenplatz 1. Bayer Leverkusen 32 20 10 2 70:33 70 2. Bayern München 32 20 7 5 67:27 67 . . . . . . 5. TSV 1860 München 32 13 10 9 52:46 49 6. 1. FC Kaiserslautern 32 15 4 13 52:56 49 11. FC Schalke 04 32 8 14 10 41:41 38 12. Eintracht Frankfurt 32 11 5 16 39:39 38 37 40 . . - 3 6 - 1 © 2000 Prof. Dr. Rainer Manthey Relationale Datenbanken SS 2000
Ergebnistabelle: naheliegendes SQL-Format Hamburger SV - Spvgg. Unterhaching 3:0 SSV Ulm - VfL Wolfsburg 2:0 SC Freiburg - 1. FC Kaiserslautern 2:1 TSV 1860 München - Hertha BSC 2:1 Borussia Dortmund - Schalke 04 1:1 Hansa Rostock - VfB Stuttgart 1:4 Arminia Bielefeld - Bayern München 0:3 Werder Bremen - MSV Duisburg 4:0 Bayer Leverkusen - Eintracht Frankfurt 4:1 13.5.2000 Datum Verein1 Verein2 Tore1 Tore2 ? © 2000 Prof. Dr. Rainer Manthey Relationale Datenbanken SS 2000
Ergebnistabelle: anderes Format Hamburger SV - Spvgg. Unterhaching 3:0 SSV Ulm - VfL Wolfsburg 2:0 SC Freiburg - 1. FC Kaiserslautern 2:1 TSV 1860 München - Hertha BSC 2:1 Borussia Dortmund - Schalke 04 1:1 Hansa Rostock - VfB Stuttgart 1:4 Arminia Bielefeld - Bayern München 0:3 Werder Bremen - MSV Duisburg 4:0 Bayer Leverkusen - Eintracht Frankfurt 4:1 enthält bereits abgeleitete Information Tore + - Verein Punkte Hamburger SV 3 0 3 Spvgg. Unterhaching 0 3 0 SSV Ulm 2 0 3 VfL Wolfsburg 0 2 0 SC Freiburg 2 1 3 . . . . . . © 2000 Prof. Dr. Rainer Manthey Relationale Datenbanken SS 2000
(Bundesliga)-Tabelle als (SQL-)Tabelle 1. Bayer Leverkusen 32 20 10 2 70:33 70 2. Bayern München 32 20 7 5 67:27 67 3. Hamburger SV 32 15 10 7 59:38 55 4. Hertha BSC Berlin 32 13 11 8 38:41 50 5. TSV 1860 München 32 13 10 9 52:46 49 . . . . . . 37 40 31 - 3 6 ? Platz Verein absol- gewon- unent- ver- Tore Tore Punkte Tor- viert nen schieden loren + - differenz Basistabelle (mit Constraints) oder Sicht ? © 2000 Prof. Dr. Rainer Manthey Relationale Datenbanken SS 2000