Einführung in die Informatik der 9. Jahrgangsstufe Teil 2: Datenmodellierung und Datenbanksystem.
-
Upload
barthold-reff -
Category
Documents
-
view
153 -
download
3
Transcript of Einführung in die Informatik der 9. Jahrgangsstufe Teil 2: Datenmodellierung und Datenbanksystem.
Einführung in die Informatik der 9. JahrgangsstufeTeil 2:Teil 2: Datenmodellierung und Datenbanksystem
Folie 2
Lehrplan Inf 9.2 Datenmodellierung und Datenbanksysteme (ca. 38 Std.)
1. Objektorientiertes Datenmodell, Datenbankschema, Datenbanksystem
– Objekt (Entität), Klasse, Attribut und Wertebereich – Beziehungen zwischen Klassen, Kardinalität, graphische Darstellung – Realisierung von Objekten, Klassen und Beziehungen in einem
relationalen Datenbanksystem: Datensatz, Tabelle, Wertebereich, Schlüsselkonzept
– Einfügen, Ändern, Löschen von Datensätzen mit Hilfe der Sprache des verwendeten Datenbankmanagementsystems
– einfache Abfragen einer Tabelle durch Projektion und Selektion, Ergebnistabelle; Abfragen über mehrere Tabellen durch Verknüpfungen (Join; kartesisches Produkt als Denkhilfe)
2. Anforderungen an ein Datenbankschema– referentielle Integrität, Integritätsbedingungen auf Feld- und
Tabellenebene – Redundanz und Konsistenz von Daten, Problem von Mehrdeutigkeiten
3. Datensicherheit und Datenschutz– Datensicherheit, Einschränkung der Sicht auf Daten (View),
Mehrbenutzerproblematik – Datenschutz, gesetzlicher Rahmen
4. Komplexeres Anwendungsbeispiel
Folie 3
Unterrichtskonzept
Verzahnung von Modellierung und Abfrage
Keine sequentielle Abarbeitung der Lehrplanpunkte
Empfehlung: nicht alle Konzepte anhand des gleichen Beispiels umsetzen (Abwechslung)
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 4
1. Objektorientiertes Datenmodell, Datenbankschema, Datenbanksystem
– Objekt (Entität), Klasse, Attribut und Wertebereich – Beziehungen zwischen Klassen, Kardinalität, graphische
Darstellung – Realisierung von Objekten, Klassen und Beziehungen in einem
relationalen Datenbanksystem: Datensatz, Tabelle, Wertebereich, Schlüsselkonzept
– Einfügen, Ändern, Löschen von Datensätzen mit Hilfe der Sprache des verwendeten Datenbankmanagementsystems
– einfache Abfragen einer Tabelle durch Projektion und Selektion, Ergebnistabelle; Abfragen über mehrere Tabellen durch Verknüpfungen (Join; kartesisches Produkt)
2. Anforderungen an ein Datenbankschema– referentielle Integrität, Integritätsbedingungen auf Feld- und
Tabellenebene – Redundanz und Konsistenz von Daten, Problem von
Mehrdeutigkeiten 3. Datensicherheit und Datenschutz
– Datensicherheit, Einschränkung der Sicht auf Daten (View), Mehrbenutzerproblematik
– Datenschutz, gesetzlicher Rahmen4. Komplexeres Anwendungsbeispiel
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Unterrichtskonzept
Folie 5
1. Objektorientiertes Datenmodell, Datenbankschema, Datenbanksystem
– Objekt (Entität), Klasse, Attribut und Wertebereich – Beziehungen zwischen Klassen, Kardinalität, graphische
Darstellung – Realisierung von Objekten, Klassen und Beziehungen in einem
relationalen Datenbanksystem: Datensatz, Tabelle, Wertebereich, Schlüsselkonzept
– Einfügen, Ändern, Löschen von Datensätzen mit Hilfe der Sprache des verwendeten Datenbankmanagementsystems
– einfache Abfragen einer Tabelle durch Projektion und Selektion, Ergebnistabelle; Abfragen über mehrere Tabellen durch Verknüpfungen (Join; kartesisches Produkt)
2. Anforderungen an ein Datenbankschema– referentielle Integrität, Integritätsbedingungen auf Feld- und
Tabellenebene – Redundanz und Konsistenz von Daten, Problem von
Mehrdeutigkeiten 3. Datensicherheit und Datenschutz
– Datensicherheit, Einschränkung der Sicht auf Daten (View), Mehrbenutzerproblematik
– Datenschutz, gesetzlicher Rahmen4. Komplexeres Anwendungsbeispiel
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Unterrichtskonzept
Folie 6
1. Objektorientiertes Datenmodell, Datenbankschema, Datenbanksystem
– Objekt (Entität), Klasse, Attribut und Wertebereich – Beziehungen zwischen Klassen, Kardinalität, graphische
Darstellung – Realisierung von Objekten, Klassen und Beziehungen in einem
relationalen Datenbanksystem: Datensatz, Tabelle, Wertebereich, Schlüsselkonzept
– Einfügen, Ändern, Löschen von Datensätzen mit Hilfe der Sprache des verwendeten Datenbankmanagementsystems
– einfache Abfragen einer Tabelle durch Projektion und Selektion, Ergebnistabelle; Abfragen über mehrere Tabellen durch Verknüpfungen (Join; kartesisches Produkt)
2. Anforderungen an ein Datenbankschema– referentielle Integrität, Integritätsbedingungen auf Feld- und
Tabellenebene – Redundanz und Konsistenz von Daten, Problem von
Mehrdeutigkeiten 3. Datensicherheit und Datenschutz
– Datensicherheit, Einschränkung der Sicht auf Daten (View), Mehrbenutzerproblematik
– Datenschutz, gesetzlicher Rahmen4. Komplexeres Anwendungsbeispiel
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Unterrichtskonzept
Folie 7
1. Objektorientiertes Datenmodell, Datenbankschema, Datenbanksystem
– Objekt (Entität), Klasse, Attribut und Wertebereich – Beziehungen zwischen Klassen, Kardinalität, graphische
Darstellung – Realisierung von Objekten, Klassen und Beziehungen in einem
relationalen Datenbanksystem: Datensatz, Tabelle, Wertebereich, Schlüsselkonzept
– Einfügen, Ändern, Löschen von Datensätzen mit Hilfe der Sprache des verwendeten Datenbankmanagementsystems
– einfache Abfragen einer Tabelle durch Projektion und Selektion, Ergebnistabelle; Abfragen über mehrere Tabellen durch Verknüpfungen (Join; kartesisches Produkt)
2. Anforderungen an ein Datenbankschema– referentielle Integrität, Integritätsbedingungen auf Feld- und
Tabellenebene – Redundanz und Konsistenz von Daten, Problem von
Mehrdeutigkeiten 3. Datensicherheit und Datenschutz
– Datensicherheit, Einschränkung der Sicht auf Daten (View), Mehrbenutzerproblematik
– Datenschutz, gesetzlicher Rahmen4. Komplexeres Anwendungsbeispiel
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Unterrichtskonzept
Folie 8
1. Objektorientiertes Datenmodell, Datenbankschema, Datenbanksystem
– Objekt (Entität), Klasse, Attribut und Wertebereich – Beziehungen zwischen Klassen, Kardinalität, graphische
Darstellung – Realisierung von Objekten, Klassen und Beziehungen in einem
relationalen Datenbanksystem: Datensatz, Tabelle, Wertebereich, Schlüsselkonzept
– Einfügen, Ändern, Löschen von Datensätzen mit Hilfe der Sprache des verwendeten Datenbankmanagementsystems
– einfache Abfragen einer Tabelle durch Projektion und Selektion, Ergebnistabelle; Abfragen über mehrere Tabellen durch Verknüpfungen (Join; kartesisches Produkt)
2. Anforderungen an ein Datenbankschema– referentielle Integrität, Integritätsbedingungen auf Feld- und
Tabellenebene – Redundanz und Konsistenz von Daten, Problem von
Mehrdeutigkeiten 3. Datensicherheit und Datenschutz
– Datensicherheit, Einschränkung der Sicht auf Daten (View), Mehrbenutzerproblematik
– Datenschutz, gesetzlicher Rahmen4. Komplexeres Anwendungsbeispiel
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Unterrichtskonzept
Folie 9
1. Objektorientiertes Datenmodell, Datenbankschema, Datenbanksystem
– Objekt (Entität), Klasse, Attribut und Wertebereich – Beziehungen zwischen Klassen, Kardinalität, graphische
Darstellung – Realisierung von Objekten, Klassen und Beziehungen in einem
relationalen Datenbanksystem: Datensatz, Tabelle, Wertebereich, Schlüsselkonzept
– Einfügen, Ändern, Löschen von Datensätzen mit Hilfe der Sprache des verwendeten Datenbankmanagementsystems
– einfache Abfragen einer Tabelle durch Projektion und Selektion, Ergebnistabelle; Abfragen über mehrere Tabellen durch Verknüpfungen (Join; kartesisches Produkt)
2. Anforderungen an ein Datenbankschema– referentielle Integrität, Integritätsbedingungen auf Feld- und
Tabellenebene – Redundanz und Konsistenz von Daten, Problem von
Mehrdeutigkeiten 3. Datensicherheit und Datenschutz
– Datensicherheit, Einschränkung der Sicht auf Daten (View), Mehrbenutzerproblematik
– Datenschutz, gesetzlicher Rahmen4. Komplexeres Anwendungsbeispiel
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Unterrichtskonzept
Folie 10
Motivation
Wozu Datenbanken? Datenbanken im Alltag
Kundendatenbank eines Telekommunikationsanbieters
freedb.org
Hochaktuelles Thema: Datenschutz
Geschichte des „Frank P.“ Schufa
Folie 11
Kurze Geschichte der Datenbanken
Alle zehn Jahre: Volkszählung in den Vereinigten Staaten
Zensus 1880 sehr umfangreich
Hollerith: Lochkarte und „Elektrisches Tabelliersystem“
Folie 12
Kurze Geschichte der Datenbanken
Zensus 1890: Endergebnis zwei Jahre früher als geplant, fünf Millionen Dollar Kosten gespart
Geschickte Vermarktungsstrategie Holleriths
1924 entsteht „International Business Machines“ aus Holleriths ehemaliger Firma
Folie 13
Beispiel: Fußball-Bundesliga
fcb: V E R E I NName = FC Bayern MünchenHomepage = www.fcbayern.deGründungsdatum = 27.02.1900Vereinsfarben = rot-weißPräsident = Franz BeckenbauerSportdirektor = Uli HoeneßCheftrainer = Ottmar HitzfeldBundesliga = 1
Objektkarte von Bayern-München
V E R E I N
NameHomepageGründungsdatumVereinsfarbenPräsidentSportdirektorCheftrainerBundesliga
Klassenkarte von VEREIN
In einer Datenbank Bundesliga werden zunächst die wichtigsten Informationen über die Vereine der 1. Bundesliga gespeichert.
Die Informationen darüber, was gespeichert werden soll, werden in einer KlassenkarteKlassenkarte notiert.
Die Attributwerte eines speziellen Vereins werden in einer ObjektkarteObjektkarte zusammengefasst.
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 14
VID Name Homepage GründungsdatumVereinsfarben Präsidentvfb VfB Stuttgart e.V. www.vfb-stuttgart.de 09.09.1893 weiß-rot Erwin Staudtfcb FC Bayern München www.fcbayern.de 27.02.1900 rot-weiß Franz Beckenbauerhertha Hertha BSC Berlin www.hertabsc.de 25.07.1892 blau-weiß Bernd Schiphorstwerder Werder Bremen www.werder.de 04.02.1899 grün-weiß Jürgen L. Bornmainz05 1. FSV Mainz 05 e.V. www.mainz05.de 16.03.1905 rot-weiß Harald Strutzbvb Borussia Dortmund www.bvb.de 19.12.1909 schwarz-gelb Dr. Reinhard Rauballvfl-b VfL Bochum e.V. www.vfl-bochum.de 26.07.1848 blau-weiß Werner Altegoer
VEREIN
Schema
Datensatz
Primär-schlüssel
Klassenmodell Datenbankmodell
Klasse TabellenschemaKlassenbezeichner TabellenbezeichnerAttribut Spaltenbezeichner
Objekt DatensatzObjektbezeichner PrimärschlüsselwertAttributwert Datum
Anlegen von Tabellen - Schemadefinition
V E R E I N
NameHomepageGründungsdatumVereinsfarbenPräsidentSportdirektorCheftrainerBundesliga
Klassenkarte von VEREIN
Folie 15
Festlegung von DatentypenFestlegung von DatentypenJe nach Werkzeug können verschiedene Datentypen bzw. Wertemengen und weitere statische Integritätsbedingungen festgelegt werden.
Das Öffnen einer Tabelle ist möglich:-im Bearbeitungsmodus zur Schemadefinition-im Einfügemodus zum Einfügen von Datensätzen
Anlegen von Tabellen - Schemadefinition
VID Name Homepage GründungsdatumVereinsfarben Präsidentvfb VfB Stuttgart e.V. www.vfb-stuttgart.de 09.09.1893 weiß-rot Erwin Staudtfcb FC Bayern München www.fcbayern.de 27.02.1900 rot-weiß Franz Beckenbauerhertha Hertha BSC Berlin www.hertabsc.de 25.07.1892 blau-weiß Bernd Schiphorstwerder Werder Bremen www.werder.de 04.02.1899 grün-weiß Jürgen L. Bornmainz05 1. FSV Mainz 05 e.V. www.mainz05.de 16.03.1905 rot-weiß Harald Strutzbvb Borussia Dortmund www.bvb.de 19.12.1909 schwarz-gelb Dr. Reinhard Rauballvfl-b VfL Bochum e.V. www.vfl-bochum.de 26.07.1848 blau-weiß Werner Altegoer
Eingabeerforderlich
nein
Autowert jaFormat 0
Eingabeerforderlich nein
Format tt.mm.jjjj
Spaltenname
Datentyp
DATUMGründungs-datum
VID
Name
Homepage
Vereinsfarben TEXT
TEXT
TEXT
TEXT
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 16
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
VID Name Homepage GründungsdatumVereinsfarben Präsidentvfb VfB Stuttgart e.V. www.vfb-stuttgart.de 09.09.1893 weiß-rot Erwin Staudtfcb FC Bayern München www.fcbayern.de 27.02.1900 rot-weiß Franz Beckenbauerhertha Hertha BSC Berlin www.hertabsc.de 25.07.1892 blau-weiß Bernd Schiphorstwerder Werder Bremen www.werder.de 04.02.1899 grün-weiß Jürgen L. Bornmainz05 1. FSV Mainz 05 e.V. www.mainz05.de 16.03.1905 rot-weiß Harald Strutzbvb Borussia Dortmund www.bvb.de 19.12.1909 schwarz-gelb Dr. Reinhard Rauballvfl-b VfL Bochum e.V. www.vfl-bochum.de 26.07.1848 blau-weiß Werner Altegoer
VEREIN
Von welcher Tabelle stammen die Informationen? von der Tabelle VEREIN
Welche Bedingung müssen die Datensätze (Zeilen) erfüllen? Vereinsfarben = ‘blau-weiß‘
Welche Attribute (Spaltenliste) sollen angezeigt werden? [Name, Präsident]
Einfache Abfragen zur Gewinnung von Informationen
Folie 17
Abfrage in SQL (Structured Query Language)
1. Von welcher Tabelle stammen die Informationen?
von der Tabelle VEREIN
2. Welche Bedingung müssen die Datensätze (Zeilen) erfüllen?
Vereinsfarben = ‘blau-weiß‘
3. Welche Attribute (Spaltenliste) sollen angezeigt werden?
[Name, Präsident]
1. Von welcher Tabelle stammen die Informationen?
von der Tabelle VEREIN
2. Welche Bedingung müssen die Datensätze (Zeilen) erfüllen?
Vereinsfarben = ‘blau-weiß‘
3. Welche Attribute (Spaltenliste) sollen angezeigt werden?
[Name, Präsident]
SELECT Name,Präsident FROM VEREINWHERE Vereinsfarben = ‘blau-
weiß‘
SELECT Name,Präsident FROM VEREINWHERE Vereinsfarben = ‘blau-
weiß‘
A b f r a g e
VEREINVereinsfarben = ‘blau-weiß‘
[Name, Präsident]
ERGEBNISTABELLE
Wie lauten Name und Präsident der Vereine mit den Vereinsfarben „blau-weiß“?
Wie lauten Name und Präsident der Vereine mit den Vereinsfarben „blau-weiß“?
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 18
SNr Name Vorname GeburtsdatumPosition TrikotnummerVerein64447 Achenbach Timo 03.09.1982 Abwehr 32 greuther50202 Adler Nicky 23.05.1985 Angriff 23 tsv186024800 Altintop Hamit 08.12.1982 Mittelfeld 6 schalke0429982 Beauchamp Michel 08.03.1981 Abwehr 3 fcn50206 Bender Sven 27.04.1989 Mittelfeld 17 tsv186050207 Bender Lars 27.04.1989 Mittelfeld 22 tsv186050203 Cerny Harald 13.09.1973 Mittelfeld 13 tsv186050201 di Salvo Antonio 05.06.1979 Angriff 9 tsv1860
SPIELER
Einfache Abfragen zur Gewinnung von Informationen
Durch Verknüpfung mit den Operatoren AND (UND) bzw. OR (ODER) können zwei oder mehrere Bedingungen zu einer Bedingung verknüpft werden.
Durch Verknüpfung mit den Operatoren AND (UND) bzw. OR (ODER) können zwei oder mehrere Bedingungen zu einer Bedingung verknüpft werden.
Welche Spieler (Name, Vorname, Position) spielen in der Abwehr oder im Tor?
Welche Spieler (Name, Vorname, Position) spielen in der Abwehr oder im Tor?
Bedingung: Position= ‘Abwehr‘ OR Position= ‘Tor‘Bedingung: Position= ‘Abwehr‘ OR Position= ‘Tor‘
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 19
SNr Name Vorname GeburtsdatumPosition TrikotnummerVerein64447 Achenbach Timo 03.09.1982 Abwehr 32 greuther50202 Adler Nicky 23.05.1985 Angriff 23 tsv186024800 Altintop Hamit 08.12.1982 Mittelfeld 6 schalke0429982 Beauchamp Michel 08.03.1981 Abwehr 3 fcn50206 Bender Sven 27.04.1989 Mittelfeld 17 tsv186050207 Bender Lars 27.04.1989 Mittelfeld 22 tsv186050203 Cerny Harald 13.09.1973 Mittelfeld 13 tsv186050201 di Salvo Antonio 05.06.1979 Angriff 9 tsv1860
SPIELER
1. Von welcher Tabelle stammen die Informationen? von der Tabelle SPIELER
2. Welche Bedingung müssen die Datensätze (Zeilen) erfüllen? Position= ‘Abwehr‘ OR Position= ‘Tor‘
3. Welche Attribute (Spaltenliste) sollen angezeigt werden? [Name, Vorname, Position]
1. Von welcher Tabelle stammen die Informationen? von der Tabelle SPIELER
2. Welche Bedingung müssen die Datensätze (Zeilen) erfüllen? Position= ‘Abwehr‘ OR Position= ‘Tor‘
3. Welche Attribute (Spaltenliste) sollen angezeigt werden? [Name, Vorname, Position]
Welche Spieler (Name, Vorname, Position) spielen in der Abwehr oder im Tor?
Welche Spieler (Name, Vorname, Position) spielen in der Abwehr oder im Tor?
Einfache Abfragen zur Gewinnung von Informationen
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 20
SELECT Name,Vorname,Position FROM SPIELERWHERE Position=‘Abwehr‘ OR Position=‘Tor‘
SELECT Name,Vorname,Position FROM SPIELERWHERE Position=‘Abwehr‘ OR Position=‘Tor‘
Jede Abfrage kann als dreistellige Funktion verstanden werden.
1. Argument: Tabelle2. Argument: Bedingung 3. Argument: Spaltenliste
Die Ausgabe einer Abfrage ist eine Tabelle.
Jede Abfrage kann als dreistellige Funktion verstanden werden.
1. Argument: Tabelle2. Argument: Bedingung 3. Argument: Spaltenliste
Die Ausgabe einer Abfrage ist eine Tabelle.
Abfrage in SQL (Structured Query Language)
Welche Spieler (Name, Vorname, Position) spielen in der Abwehr oder im Tor?
Welche Spieler (Name, Vorname, Position) spielen in der Abwehr oder im Tor?
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
A b f r a g e
SPIELER
Position=‘Abwehr‘ OR Position=‘Tor‘
[Name, Vorname, Position]
Name Vorname PositionAchenbach Timo AbwehrBeauchamp Michel AbwehrHoffmann Torben AbwehrKahn Oliver Tor… … …
Folie 21
Redundanz und Konsistenz
Anomalien INSERT DELETE UPDATE
BESTKdNr Name Vorname Adresse Telefon ArtNr Artikel Preis Anzahl Bestelldatum... ... ... ... ... ... ... ... ... ...
123 Müller Max Postweg 8 555180 3434 Hemd 22,90 € 1 12.07.05123 Müller Max Postweg 8 555180 2827 Jeans 69,95 € 1 12.07.05123 Müller Max Postweg 8 555180 6001 Rasierer 49,00 € 1 12.07.05224 Nowak Beate Goldstr. 7 555788 3434 Hemd 22,90 € 2 13.07.05224 Nowak Beate Goldstr .7 555788 1007 Bluse 43,50 € 1 13.07.05
... ... ... ... ... ... ... ... ... ...
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 22
Folgende Fragen müssen geklärt werden:
- Welche Klassen müssen zu unserem Modell noch hinzugefügt werden? - Welche Attribute beschreiben die einzelnen Klassen ausreichend? Festlegung eines Schlüssels. - Objekte sind nicht autonom: sie stehen in Beziehung zueinander. Welche Beziehungen sind für uns relevant? SPIELER
SNrNameVornameGeburtsdatPosition…
VEREINVIDNameHomepagePräsident…
< spielt_in
1 n(FC Bayern München) 10999
(Lahm Philipp)
10000
(Kahn Oliver)
50202
(Adler Nicky)
fcb
tsv1860
(TSV 1860 München)
< spielt_in
Modell einer Bundesliga-Datenbank
Jeder einzelne Spieler steht bei genau einem (1) Verein unter Vertrag.
Jeder Verein hat mehrere (n) Spieler im Kader.
Jeder einzelne Spieler steht bei genau einem (1) Verein unter Vertrag.
Jeder Verein hat mehrere (n) Spieler im Kader.
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 23
Wie entwirft man eine Datenbank?
Schemata für Tabellen
Schemata für Tabellen
© Prof. Dr. Peter Hubwieser
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Objektorientierte Datenmodellierung
RelationaleModellierung
Realisierung
Systeminformationen
Graph
Abfrage
Tabellen
gewünschte Daten
Normalisierung
Folie 24
Beispiel: Bibliothek
© Prof. Dr. Peter Hubwieser
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 25
1. Schritt: Objekte.
Der erste Schritt besteht in der Identifizierung der beteiligten Objekte.
Hierbei handelt es sich um individuelle und identifizierbare Elemente, Individuen, Sachen, Begriffe, Ereignisse o.ä. innerhalb des Systems, die durch ihre Eigenschaften (Attribute) beschrieben werden.
© Prof. Dr. Peter Hubwieser
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 26
Objekt Buch 1Attributbezeichner Attributwert
Titel Fräulein Smillas Gespür für Schnee
Autor Peter Høeg
Verlag Carl Hanser
Ort München
Jahr 1994
ISBN 3-499-13599-x
Preis 19,90
Exemplare 3
Zustand gut, sehr gut, gut
Standort Zimmer 3, Regal 5, Fach 7,7 und 8, Platz 3, 15,12
© Prof. Dr. Peter Hubwieser
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 27
Objekt Autor 1
Attributbezeichner Attributwert
Name Høeg
Vorname Peter
Land Dänemark
andere Buchtitel Der Plan von der Abschaffung des Dunkels,
Die Frau und der Affe
© Prof. Dr. Peter Hubwieser
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 28
Objekt Kunde 1
Attributbezeichner Attributwert
Name Meier
Vorname Peter
Geburtsdatum 24.4.1966
Straße Tegtmüllerweg 9
PLZ 80089
Ort München
Telefon (089) 383 245 12
Ausleihsperre keine© Prof. Dr. Peter Hubwieser
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 29
2. Schritt: Entitätsklassen
Objekte (Entitäten) mit gleicher Attributstruktur werden dann unter einem Oberbegriff zu Klassen (Entitätsmengen) zusammengefasst.
In unserem Beispiel: stellen wir u.a. fest, dass die Möglichkeit, mehrere
Exemplare eines Buchtitels zu verwalten, bei der Klassifizierung Probleme macht,
führen wir daher eine eigene Klasse für die Exemplare ein,
stellen wir bei den Personen Unterschiede bei den Attributen von Autoren und Kunden fest.
© Prof. Dr. Peter Hubwieser
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 30
Ergebnis 2: Entitätsklassen
BUCHTITEL (Titel, Autor, Verlag, Ort, Jahr, ISBN, Preis),
EXEMPLAR (Bezeichnung, Zustand, Aufnahmedatum),
STANDORT(Zimmer, Regal, Fach, Platz),
AUTOR (Name, Vorname, Land, andere),
KUNDE (Name, Vorname, Geburtsdatum, Straße, PLZ, Ort, Telefon, Sperre).
Kompakte Darstellung durch Kompakte Darstellung durch SchemaSchema: :
KLASSENBEZEICHNERKLASSENBEZEICHNER (Attributbez. 1, Attributbez. 2, ...): (Attributbez. 1, Attributbez. 2, ...):
© Prof. Dr. Peter Hubwieser
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 31
3. Schritt: BeziehungenFestlegung der Beziehungen (relationships) zwischen
den Klassen: Buchtitel und Autor werden durch die Beziehung
verfasst_von verbunden. Damit erübrigt sich gleichzeitig die Verwaltung von „weiteren Exemplaren“.
Buchtitel und Exemplar können durch die Beziehung ist_vorhanden verknüpft werden,
Exemplar und Kunde durch die Beziehung ausgeliehen_von,
Exemplar und Standort durch steht_in.
© Prof. Dr. Peter Hubwieser
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
BUCHTITEL
TitelAutorVerlagOrtJahrISBN…
EXEMPLAR
BezeichnungZustandAufnahmedatum
ist_vorhanden >
Folie 32
Ergebnis: Klassendiagramm (ohne Kardinalitäten)
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
BUCHTITEL AUTOR
KUNDE EXEMPLAR
STANDORT
< ausgeliehen_von
ist_vorhanden >
verfasst_von >steh
t_in >
Folie 33
4. Schritt: Kardinalitäten: Kardinalität 1:1
• Einem Objekt der einen Seite wird genau ein Objekt der anderen Seite zugeordnet und umgekehrt.
Exemplar (Nr.) steht_in Standort
10220 Zimmer 2, Regal 2, Fach 12, Platz 14
12110 Zimmer 3, Regal 3, Fach 1, Platz 12
23311 Zimmer 1, Regal 12, Fach 12, Platz 2
Exemplar steht_in > Standort1
1
© Prof. Dr. Peter Hubwieser
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 34
Kardinalität 1:n
• Einem Objekt der einen Seite können mehrere Objekte der anderen Seite zugeordnet werden, umgekehrt aber höchstens ein Objekt.
Buchtitel ist_vorhanden Exemplar (Nr.)
Fräulein Smillas Gespür für Schnee 10223
Fräulein Smillas Gespür für Schnee 10224
Fräulein Smillas Gespür für Schnee 10225
Buchtitelist_vorhanden >
Exemplar1
n
© Prof. Dr. Peter Hubwieser
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 35
Kardinalität m:n• Einem Objekt der einen Seite können mehrere Objekte der anderen
Seite zugeordnet werden und umgekehrt.
• Dieser Fall kann immer in zwei Beziehungen mit den Kardinalitäten 1:m bzw. n:1 aufgelöst werden.
Buchtitel verfasst_von Autor
Physik, Jahrgangsstufe 8 Herbert Knauth
Physik, Jahrgangsstufe 8 Siegfried Kühnel
Physik, Jahrgangsstufe 8 Hubert Schafbauer
Fräulein Smillas Gespür für Schnee Peter Høeg
Der Plan von der Abschaffung des Dunkels Peter Høeg
Buchtitelverfasst_von >
Autorm
n
© Prof. Dr. Peter Hubwieser
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 36
Ergebnis: vollständiges Klassendiagramm
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
BUCHTITEL AUTOR
KUNDE EXEMPLAR
STANDORT
< ausgeliehen_von
ist_vorhanden >
verfasst_von >steh
t_in >
1
n
1 n1
1
n m
Folie 37
Vom ER-Modell zum relationalen Modell
© Prof. Dr. Peter Hubwieser
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Schemata für Tabellen
Schemata für Tabellen
Objektorientierte Datenmodellierung
RelationaleModellierung
Realisierung
Systeminformationen
Graph
Abfrage
Tabellen
gewünschte Daten
Normalisierung
Folie 38
Umsetzung von Entitäten• Entitätsmengen (Klassen) werden zu Tabellen und
Attribute zu Spalten. • In jeder Tabelle wird ein Attribut (oder eine
Kombination von Attributen) als Schlüssel definiert. • Die Entitäten (Objekte) entsprechen dann den Zeilen
(Datensätzen) der Tabellen. Aus den Klassen unseres ER-Modells aus Abb. 3.1 erhalten wir die folgenden Tabellenschemata:
Name
Vorname
KUNDEStraße
PLZ
KundeNr Name Vorname Straße PLZ
00012 Müller Anna Sudetenstr. 18 83022
00013 Huber Karl Knallerweg 19 86321
00014 Meier Amelie Körberweg 18 83022
00015 Hanser Kurt Kästnerstr. 10 A 83022
KUNDEAttribute
© Prof. Dr. Peter Hubwieser
Entitäten (Objekte)
Folie 39
Das Klassen-Beziehungs-Modell besteht aus:- Angabe der Klassen mit zugehörigen Attributen (z. B. in Klassenkarten)- Beziehungsstruktur mit Angabe der Kardinalitäten (Klassendiagramm)
L E H R E RL-IDNameVornameDBFKTFach1Fach2Fach3EMail
S C H U L ESchulNrBezeichnungAdresse
K U R SKursNrBezeichnungFachgebietOrtTermin
L E H R E R S C H U L EK U R S< besucht gehört-zu >
N M N 1
Weiteres Beispiel: Modell einer Fortbildungsdatenbank
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 40
Jede Klasse wird als Tabelle repräsentiert. Jede Klasse wird als Tabelle repräsentiert.
L E H R E RL E H R E R
K U R SK U R S
S C H U L ES C H U L E
Klassen im Datenbankmodell
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 41
Objektdiagramm: 4 Beziehungen
Die Beziehungstabelle speichert die zusammengehörigen Beziehungspartner und hält damit fest, welche Lehrer welchen Kurs besuchen.
Die Beziehungstabelle speichert die zusammengehörigen Beziehungspartner und hält damit fest, welche Lehrer welchen Kurs besuchen.
(Bader Josef)
3(Ritter Franziska)
5(Uhl Anna)
6
212
(RLFB Klenze-Gym)
356(Seminarlehrerfort-bildung, ALP Dillingen)
< besucht
Beziehungstabelle: 4 Datensätze
Kurs Teilnehmer
212 3
212 5
212 6
356 3
Die N:M-Beziehung wird als Beziehungstabelle BESUCHT gespeichert.
Die N:M-Beziehung wird als Beziehungstabelle BESUCHT gespeichert.L E H R E RK U R S
< besucht
N M
B E S U C H T
Beziehungen im Datenbankmodell
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 42
K U R SK U R S
L E H R E RL E H R E R
Primärschlüssel der Beziehungstabelle ist hier (Kurs; Teilnehmer)
Primärschlüssel der Beziehungstabelle ist hier (Kurs; Teilnehmer)
Kurs verweist auf den Schlüssel KursNr in der Tabelle KURS.
Kurs verweist auf den Schlüssel KursNr in der Tabelle KURS.
Teilnehmer verweist auf den Schlüssel L-ID der Tabelle LEHRER.
Teilnehmer verweist auf den Schlüssel L-ID der Tabelle LEHRER.
Kurs Teilnehmer
1 3
1 5
1 6
3 3
Kurs und Teilnehmer sind FremdschlüsselKurs und Teilnehmer sind Fremdschlüssel
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Beziehungen im Datenbankmodell
Folie 43
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Bei N:1-Beziehungen kann auf eine eigene Beziehungstabelle verzichtet werden.
Bei N:1-Beziehungen kann auf eine eigene Beziehungstabelle verzichtet werden.
Beziehungstabelle: 3 Datensätze
Lehrer Schule
1 100
2 100
3 101
Objektdiagramm: 3 Beziehungen
1
(Huber Max)
2
(Meier Iris)
3
(Ritter Franziska)
100
(Gymnasium Immenstadt)
101
(Gymnasium Königsbrunn)
gehört-zu >
gehört-zu >
gehört-zu >
L E H R E R S C H U L Egehört-zu >
N 1
G E H O E R T – Z U
Beziehungen im Datenbankmodell
Folie 44
G E H O E R T – Z U Lehrer Schule
1 100
2 100
3 101
4 103
5 103
6 100
7 102
Die N:1-Beziehung braucht nicht als eigene Beziehungstabelle gespeichert werden. Da zu jedem Lehrer genau eine Schule gehört, kann die Beziehung in die Lehrertabelle integriert werden.
Die N:1-Beziehung braucht nicht als eigene Beziehungstabelle gespeichert werden. Da zu jedem Lehrer genau eine Schule gehört, kann die Beziehung in die Lehrertabelle integriert werden.
L E H R E RL E H R E R
L E H R E R SL E H R E R S
Beziehungen im Datenbankmodell
Folie 45
1:1-Beziehung
Die Beziehung ist_Cheftrainer_von kann auf zwei Wegen aufgelöst werden: Erweiterung von TRAINER:
TRAINER(TNr; Name; …; CheftrainerVonVerein) Erweiterung von VEREIN:
VEREIN(VNr; VName; …; Cheftrainer) Meist eine Variante geschickter (NULL-Werte
bei Trainern, die bei keinem Verein momentan Cheftrainer sind)
TRAINER VEREIN
ist_Cheftrainer_von >
1 1
Folie 46
Zusammenfassung
KURS[KursNr; Bezeichnung; Fachgebiet; Ort; Termin]KURS[KursNr; Bezeichnung; Fachgebiet; Ort; Termin]
L E H R E R S C H U L EK U R S< besucht gehört-zu >
N M N 1
LEHRER[L-ID; Name; Vorname; DB; FKT; Fach1; Fach2; Fach3; EMail; Schule]
LEHRER[L-ID; Name; Vorname; DB; FKT; Fach1; Fach2; Fach3; EMail; Schule]
SCHULE[SchulNr; Bezeichnung; Adresse]SCHULE[SchulNr; Bezeichnung; Adresse]
BESUCHT[Kurs; Teilnehmer]BESUCHT[Kurs; Teilnehmer]
Klassendiagramm
Datenbankschema
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 47
Die gesuchten Informationen sind in zwei Tabellen enthalten.Durch das Kreuzprodukt bringt man Daten aus zwei Tabellen in
eine Tabelle, der Kreuzprodukttabelle.
Die gesuchten Informationen sind in zwei Tabellen enthalten.Durch das Kreuzprodukt bringt man Daten aus zwei Tabellen in
eine Tabelle, der Kreuzprodukttabelle.
Wie lauten Name, Vorname und Schuladresse aller Lehrer?
Wie lauten Name, Vorname und Schuladresse aller Lehrer?
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Abfragen mit mehreren Tabellen
L E H R E R SL E H R E R S
S C H U L ES C H U L E
Folie 48
Das Kreuzprodukt kombiniert jeden Datensatz der ersten Tabelle mit jedem Datensatz der zweiten Tabelle.
TABELLE1 hat 2, TABELLE2 hat 5 Datensätze die Kreuzprodukttabelle hat 2*5=10 Datensätze.
Das Kreuzprodukt kombiniert jeden Datensatz der ersten Tabelle mit jedem Datensatz der zweiten Tabelle.
TABELLE1 hat 2, TABELLE2 hat 5 Datensätze die Kreuzprodukttabelle hat 2*5=10 Datensätze.
TABELLE1
Kreuzprodukt
AB
123
AAB
45 A
123
AAB
45 A123
AAB
45 A
ABABABABAB
KREUZPRODUKTTABELLE
TABELLE2
Nicht alle Datensätze der Kreuzprodukt-tabelle sind immer sinnvoll!!!
Nicht alle Datensätze der Kreuzprodukt-tabelle sind immer sinnvoll!!!
SELECT * FROM TABELLE1, TABELLE2;SELECT * FROM TABELLE1, TABELLE2;
Ausgabe der Kreuzprodukttabelle in SQL:
Ausgabe der Kreuzprodukttabelle in SQL:
Kreuzprodukt zweier Tabellen
Folie 49
TABELLE1
Abfrage
TABELLE2
Kreuzprodukt
Join
AB
123
AAB
45 A
123
AAB
45 A123
AAB
45 A
ABABABABAB
152
AAA
3 B
AAAB
Bedingung
TABELLE2.Fremdschlüssel=TABELLE1.Primärschlüssel
SpaltenlisteTABELLE1
Abfrage
TABELLE2
Kreuzprodukt
Join
AB
123
AAB
45 A
123
AAB
45 A123
AAB
45 A
ABABABABAB
152
AAA
3 B
AAAB
Bedingung
TABELLE2.Fremdschlüssel=TABELLE1.Primärschlüssel
Spaltenliste
SELECT Spalte1, Spalte2, Spalte3, ... FROM TABELLE1, TABELLE2WHERE TABELLE2.Fremdschlüssel=TABELLE1.Primärschlüssel;
SELECT Spalte1, Spalte2, Spalte3, ... FROM TABELLE1, TABELLE2WHERE TABELLE2.Fremdschlüssel=TABELLE1.Primärschlüssel;
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Join zur Selektierung sinnvoller Daten
Folie 50
L E H R E RSL E H R E RS
S C H U L ES C H U L E
1. Von welchen Tabellen stammen die Informationen? von den Tabellen LEHRERS, SCHULE
2. Welche Bedingung müssen die sinnvollen Datensätze erfüllen? LEHRERS.Schule = SCHULE.SchulNr
3. Welche Spaltenliste soll angezeigt werden? [LEHRERS.Name, LEHRERS.Vorname, SCHULE.Adresse]
1. Von welchen Tabellen stammen die Informationen? von den Tabellen LEHRERS, SCHULE
2. Welche Bedingung müssen die sinnvollen Datensätze erfüllen? LEHRERS.Schule = SCHULE.SchulNr
3. Welche Spaltenliste soll angezeigt werden? [LEHRERS.Name, LEHRERS.Vorname, SCHULE.Adresse]
Wie lauten Name, Vorname und Schuladresse aller Lehrer?
Wie lauten Name, Vorname und Schuladresse aller Lehrer?
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Abfragen mit mehreren Tabellen
Folie 51
L E H R E R SL E H R E R S
S C H U L ES C H U L E
Wie lauten Name, Vorname und Schuladresse aller Lehrer?
Wie lauten Name, Vorname und Schuladresse aller Lehrer?
SELECT LEHRERS.Name, LEHRERS.Vorname, SCHULE.Adresse FROM LEHRERS, SCHULEWHERE LEHRERS.Schule=SCHULE.SchulNr;
SELECT LEHRERS.Name, LEHRERS.Vorname, SCHULE.Adresse FROM LEHRERS, SCHULEWHERE LEHRERS.Schule=SCHULE.SchulNr;
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Abfragen mit mehreren Tabellen
Folie 52
Tabellen erweitern
Gegeben ist die Schülertabelle mit den Zeugnisnoten in E, D und M.
Welchen Notendurchschnitt hat jeder Schüler in den drei Fächern?
Gegeben ist die Schülertabelle mit den Zeugnisnoten in E, D und M.
Welchen Notendurchschnitt hat jeder Schüler in den drei Fächern?
Die Tabelle SCHUELER wird um die Spalte Schnitt erweitert.
Die Tabelle SCHUELER wird um die Spalte Schnitt erweitert.
E R W E I T E R U N G
(NEnglisch+NDeutsch+NMathematik) / 3‘Schnitt‘
Schnitt
1,33
2,33
2,66
1,66
3,00
3,66
3,33
2,00
S C H U E L E RS C H U E L E R
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 53
5b
8a
G R U P P I E R U N G
Klasse
Tabellen gruppieren
Gegeben ist die Schülertabelle mit den Zeugnisnoten in E, D und M.
Welchen Notendurchschnitt haben die Klassen im Fach Englisch?
Gegeben ist die Schülertabelle mit den Zeugnisnoten in E, D und M.
Welchen Notendurchschnitt haben die Klassen im Fach Englisch? S C H U E L E RS C H U E L E R
Die Tabelle SCHUELER wird nach der Spalte Klasse gruppiert.
Die Tabelle SCHUELER wird nach der Spalte Klasse gruppiert.
8
Date
ns
ätz
e
8
Date
ns
ätz
e
2
Date
ns
ätz
e
2
Date
ns
ätz
e
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 54
Tabellen gruppieren
5b
8a
SELECT Klasse FROM SCHUELERGROUP BY Klasse;
SELECT Klasse FROM SCHUELERGROUP BY Klasse;
Klasse
A B F R A G E
““
5b
8a
Klasse
Mit einer Abfrage kann man zunächst nur die Klasse ausgeben.
Mit einer Abfrage kann man zunächst nur die Klasse ausgeben.
Gegeben ist die Schülertabelle mit den Zeugnisnoten in E, D und M.
Welchen Notendurchschnitt haben die Klassen im Fach Englisch?
Gegeben ist die Schülertabelle mit den Zeugnisnoten in E, D und M.
Welchen Notendurchschnitt haben die Klassen im Fach Englisch?
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 55
Tabellen gruppieren und erweitern
Die gruppierte Tabelle wird um eine Spalte ‘ESchnitt‘ erweitert.
Daten werden datensatzweise durch den Term AVG(NEnglisch) be-rechnet.
Die gruppierte Tabelle wird um eine Spalte ‘ESchnitt‘ erweitert.
Daten werden datensatzweise durch den Term AVG(NEnglisch) be-rechnet.
5b
8a
ESchnitt
5b
8a
E R W E I T E R U N G
AVG(NEnglisch)
1,50
3,25
‘ESchnitt‘
Gegeben ist die Schülertabelle mit den Zeugnisnoten in E, D und M.
Welchen Notendurchschnitt haben die Klassen im Fach Englisch?
Gegeben ist die Schülertabelle mit den Zeugnisnoten in E, D und M.
Welchen Notendurchschnitt haben die Klassen im Fach Englisch?
Folie 56
Tabellen gruppieren und erweitern
SELECT Klasse, AVG(NEnglisch) AS ‘ESchnitt‘ FROM SCHUELER GROUP BY Klasse;
SELECT Klasse, AVG(NEnglisch) AS ‘ESchnitt‘ FROM SCHUELER GROUP BY Klasse;
[ESchnitt; Klasse]
A B F R A G E
““
5b8a
Klasse
ESchnitt
5b
8a
1,50
3,25
1,503,25
ESchnitt
Mit einer Abfrage kann man nun neben Klasse auch ESchnitt ausgeben.
Mit einer Abfrage kann man nun neben Klasse auch ESchnitt ausgeben.
Gegeben ist die Schülertabelle mit den Zeugnisnoten in E, D und M.
Welchen Notendurchschnitt haben die Klassen im Fach Englisch?
Gegeben ist die Schülertabelle mit den Zeugnisnoten in E, D und M.
Welchen Notendurchschnitt haben die Klassen im Fach Englisch?
Folie 57
Gegeben ist die Schülertabelle mit den Zeugnisnoten in E, D und M.
Gegeben ist die Schülertabelle mit den Zeugnisnoten in E, D und M.
S C H U E L E RS C H U E L E R
Abfrage Gruppieren nach Aggregatfunktion
Wie viele Schüler sind in jeder Klasse?
Höchstalter in jeder Klasse?
Schlechteste Mathenote in jeder Klasse
Welche Bekenntnisse sind vertreten?
Anzahl der Schüler in den jeweiligen Bekenntnissen.
Durchschnittliche Deutschnote bei den Mädchen bzw. Jungen.
Tabellen gruppieren und erweiternTabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Klasse
Klasse
Klasse
Bekenntnis
Bekenntnis
Geschlecht
COUNT(S-Nr)
MIN(Datum)
MAX(NMathematik)
-COUNT(S-Nr)
AVG(NDeutsch)
Folie 58
Gesucht ist die durchschnittliche Sprunghöhe jeder Altersklasse in der Tabelle HOCHSPRINGER
SELECT Altersklasse, AVG(Sprunghöhe) AS ‘Durchschnittssprunghöhe‘
FROM HOCHSPRINGER GROUP BY Altersklasse
SELECT Altersklasse, AVG(Sprunghöhe) AS ‘Durchschnittssprunghöhe‘
FROM HOCHSPRINGER GROUP BY Altersklasse
Folie 59
Neue Informationen durch Verknüpfung von Daten
Anonymität von Fragebögen???Anonymität von Fragebögen???Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 60
Manipulation von Daten
DELETE FROM EVALUATION WHERE (F1=‘- -‘) OR (F2=‘- -‘)
DELETE FROM EVALUATION WHERE (F1=‘- -‘) OR (F2=‘- -‘)
Löschanweisung: Löschanweisung:
Löschen
EVALUATION
(F1=‘-- ‘) OR (F2=‘--‘)Nr
1
2
3
4
m/w
m
m
w
m
Studien-gang
Master
Bachelor
Master
Master
5
6
w
w
Master
Lehramt
Semester
5
5
4
5
5
7
zur Übunggemeldet
ja
ja
nein
ja
nein
ja
F1
0
--
0
--
-
--
F2
+
-
-
--
-
--
F3
++
+
++
+
+
++
F4
+
0
-
+
0
-
Nr
13
m/w
mw
Studien-gang
MasterMaster
5 w Master
Semester
54
5
zur Übunggemeldet
janein
nein
F1
00
-
F2
+-
-
F3
++++
+
F4
+-
0
Tabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 61
Einfügeanweisung: Einfügeanweisung:
Einfügen
EVALUATION
Nr
1
2
3
4
m/w
m
m
w
m
Studien-gang
Master
Bachelor
Master
Master
5
6
w
w
Master
Lehramt
Semester
5
5
4
5
5
7
zur Übunggemeldet
ja
ja
nein
ja
nein
ja
F1
0
--
0
--
-
--
F2
+
-
-
--
-
--
F3
++
+
++
+
+
++
F4
+
0
-
+
0
-
[9;‘w‘;‘Master‘;5,‘ja‘,‘++‘,‘++‘,‘++‘,‘++‘]
INSERT INTO EVALUATION VALUES [9;‘w‘;‘Master‘;5,‘ja‘,‘++‘,‘++‘,‘++‘,‘++‘]
INSERT INTO EVALUATION VALUES [9;‘w‘;‘Master‘;5,‘ja‘,‘++‘,‘++‘,‘++‘,‘++‘]
Nr
1
2
3
4
m/w
m
m
w
m
Studien-gang
Master
Bachelor
Master
Master
5
6
w
w
Master
Lehramt
Semester
5
5
4
5
5
7
zur Übunggemeldet
ja
ja
nein
ja
nein
ja
F1
0
--
0
--
-
--
F2
+
-
-
--
-
--
F3
++
+
++
+
+
++
F4
+
0
-
+
0
-
9 w Master 5 ja ++ ++ ++ ++
Manipulation von DatenTabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 62
Änderungsanweisung:
Änderungsanweisung:
Ändern
EVALUATION
Nr
1
2
3
4
m/w
m
m
w
m
Studien-gang
Master
Bachelor
Master
Master
5
6
w
w
Master
Lehramt
Semester
5
5
4
5
5
7
zur Übunggemeldet
ja
ja
nein
ja
nein
ja
F1
0
--
0
--
-
--
F2
+
-
-
--
-
--
F3
++
+
++
+
+
++
F4
+
0
-
+
0
-
F4=‘++‘
UPDATE EVALUATION SET F4=‘++‘ WHERE F4=‘0‘
UPDATE EVALUATION SET F4=‘++‘ WHERE F4=‘0‘
F4=‘0‘
Nr
1
2
3
4
m/w
m
m
w
m
Studien-gang
Master
Bachelor
Master
Master
5
6
w
w
Master
Lehramt
Semester
5
5
4
5
5
7
zur Übunggemeldet
ja
ja
nein
ja
nein
ja
F1
0
--
0
--
-
--
F2
+
-
-
--
-
--
F3
++
+
++
+
+
++
F4
+
++
-
+
++
-
Manipulation von DatenTabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz
Folie 63
CREATE VIEW BEWERTUNG AS SELECT F1,F2,F3,F4FROM EVALUATION
CREATE VIEW BEWERTUNG AS SELECT F1,F2,F3,F4FROM EVALUATION
Nr
1
2
3
4
m/w
m
m
w
m
Studien-gang
Master
Bachelor
Master
Master
5
6
w
w
Master
Lehramt
Semester
5
5
4
5
5
7
zur Übunggemeldet
ja
ja
nein
ja
nein
ja
EVALUATION
F1
0
--
0
--
-
--
F2
+
-
-
--
-
--
F3
++
+
++
+
+
++
F4
+
0
-
+
0
-
Sicht BEWERTUNG
F1
0
--
0
--
-
--
F2
+
-
-
--
-
--
F3
++
+
++
+
+
++
F4
+
0
-
+
0
-
Manipulation von DatenTabellen als Bausteine relationaler Datenbanken
Einfache Abfragen
Objektorientierte Datenmodellierung
Das relationale Datenbankmodell
Komplexe Abfragen
Datenmanipulation und Datenschutz