Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Einführung in die Informatik der 9. Jahrgangsstufe Teil 2: Datenmodellierung und Datenbanksystem.

Ähnliche Präsentationen


Präsentation zum Thema: "Einführung in die Informatik der 9. Jahrgangsstufe Teil 2: Datenmodellierung und Datenbanksystem."—  Präsentation transkript:

1 Einführung in die Informatik der 9. Jahrgangsstufe Teil 2: Datenmodellierung und Datenbanksystem

2 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

3 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

4 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 Rahmen 4. Komplexeres Anwendungsbeispiel Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz Unterrichtskonzept

5 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 Rahmen 4. Komplexeres Anwendungsbeispiel Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz Unterrichtskonzept

6 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 Rahmen 4. Komplexeres Anwendungsbeispiel Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz Unterrichtskonzept

7 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 Rahmen 4. Komplexeres Anwendungsbeispiel Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz Unterrichtskonzept

8 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 Rahmen 4. Komplexeres Anwendungsbeispiel Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz Unterrichtskonzept

9 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 Rahmen 4. Komplexeres Anwendungsbeispiel Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz Unterrichtskonzept

10 Folie 10 Motivation Wozu Datenbanken? Datenbanken im Alltag Kundendatenbank eines Telekommunikationsanbieters freedb.org Hochaktuelles Thema: Datenschutz Geschichte des Frank P. Schufa

11 Folie 11 Kurze Geschichte der Datenbanken Alle zehn Jahre: Volkszählung in den Vereinigten Staaten Zensus 1880 sehr umfangreich Hollerith: Lochkarte und Elektrisches Tabelliersystem

12 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

13 Folie 13 Beispiel: Fußball-Bundesliga fcb: V E R E I N Name = FC Bayern München Homepage = Gründungsdatum = Vereinsfarben = rot-weiß Präsident = Franz Beckenbauer Sportdirektor = Uli Hoeneß Cheftrainer = Ottmar Hitzfeld Bundesliga = 1 Objektkarte von Bayern-München V E R E I N Name Homepage Gründungsdatum Vereinsfarben Präsident Sportdirektor Cheftrainer Bundesliga Klassenkarte von VEREIN In einer Datenbank Bundesliga werden zunächst die wichtigsten Informationen über die Vereine der 1. Bundesliga gespeichert. Klassenkarte Die Informationen darüber, was gespeichert werden soll, werden in einer Klassenkarte notiert. Objektkarte Die Attributwerte eines speziellen Vereins werden in einer Objektkarte zusammengefasst. Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz

14 Folie 14 VEREIN Schema Datensatz Primär- schlüssel Klassenmodell Datenbankmodell Klasse Tabellenschema Klassenbezeichner Tabellenbezeichner Attribut Spaltenbezeichner Objekt Datensatz Objektbezeichner Primärschlüsselwert Attributwert Datum Anlegen von Tabellen - Schemadefinition V E R E I N Name Homepage Gründungsdatum Vereinsfarben Präsident Sportdirektor Cheftrainer Bundesliga Klassenkarte von VEREIN

15 Folie 15 Festlegung von Datentypen Je 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 Eingabe erforderlich nein Autowert ja Format0 Eingabe erforderlich nein Format tt.mm.jjjj Spaltenname Datentyp DATUM Gründungs- datum VID Name Homepage VereinsfarbenTEXT Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz

16 Folie 16 Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz 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

17 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 VEREIN WHERE Vereinsfarben = blau- weiß SELECT Name,Präsident FROM VEREIN WHERE Vereinsfarben = blau- weiß A b f r a g e VEREIN Vereinsfarben = blau-weiß [Name, Präsident] ERGEBNISTABELLE 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

18 Folie 18 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. Welche Spieler (Name, Vorname, Position) spielen in der Abwehr oder im Tor? Bedingung: Position= Abwehr OR Position= Tor Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz

19 Folie 19 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? Einfache Abfragen zur Gewinnung von Informationen Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz

20 Folie 20 SELECT Name,Vorname,Position FROM SPIELER WHERE Position=Abwehr OR Position=Tor SELECT Name,Vorname,Position FROM SPIELER WHERE Position=Abwehr OR Position=Tor Jede Abfrage kann als dreistellige Funktion verstanden werden. 1. Argument: Tabelle 2. Argument: Bedingung 3. Argument: Spaltenliste Die Ausgabe einer Abfrage ist eine Tabelle. Jede Abfrage kann als dreistellige Funktion verstanden werden. 1. Argument: Tabelle 2. 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? 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]

21 Folie 21 Redundanz und Konsistenz Anomalien INSERT DELETE UPDATE Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz

22 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 SNr Name Vorname Geburtsdat Position … VEREIN VID Name Homepage Präsident … < spielt_in 1n (FC Bayern München) (Lahm Philipp) (Kahn Oliver) (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

23 Folie 23 Wie entwirft man eine Datenbank? 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 Relationale Modellierung Realisierung Systeminformationen Graph Abfrage Tabellen gewünschte Daten Normalisierung

24 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

25 Folie 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

26 Folie 26 Objekt Buch 1 AttributbezeichnerAttributwert TitelFräulein Smillas Gespür für Schnee AutorPeter Høeg VerlagCarl Hanser OrtMünchen Jahr1994 ISBN x Preis19,90 Exemplare3 Zustandgut, sehr gut, gut StandortZimmer 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

27 Folie 27 Objekt Autor 1 AttributbezeichnerAttributwert NameHøeg VornamePeter LandDänemark andere BuchtitelDer 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

28 Folie 28 Objekt Kunde 1 AttributbezeichnerAttributwert NameMeier VornamePeter Geburtsdatum StraßeTegtmüllerweg 9 PLZ80089 OrtMünchen Telefon(089) Ausleihsperrekeine © Prof. Dr. Peter Hubwieser Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz

29 Folie 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

30 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 Schema: KLASSENBEZEICHNER (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

31 Folie Schritt: Beziehungen Festlegung 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 Titel Autor Verlag Ort Jahr ISBN … EXEMPLAR Bezeichnung Zustand Aufnahmedatum ist_vorhanden >

32 Folie 32 Ergebnis: Klassendiagramm (ohne Kardinalitäten) Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz BUCHTITELAUTOR KUNDEEXEMPLAR STANDORT < ausgeliehen_von ist_vorhanden > verfasst_von > steht_in >

33 Folie 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_inStandort Zimmer 2, Regal 2, Fach 12, Platz Zimmer 3, Regal 3, Fach 1, Platz Zimmer 1, Regal 12, Fach 12, Platz 2 Exemplar steht_in > Standort 1 1 © Prof. Dr. Peter Hubwieser Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz

34 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. Buchtitelist_vorhandenExemplar (Nr.) Fräulein Smillas Gespür für Schnee Fräulein Smillas Gespür für Schnee Fräulein Smillas Gespür für Schnee Buchtitel ist_vorhanden > Exemplar 1 n © Prof. Dr. Peter Hubwieser Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz

35 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. Buchtitelverfasst_vonAutor 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 Buchtitel verfasst_von > Autor m n © Prof. Dr. Peter Hubwieser Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz

36 Folie 36 Ergebnis: vollständiges Klassendiagramm Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz BUCHTITELAUTOR KUNDEEXEMPLAR STANDORT < ausgeliehen_von ist_vorhanden > verfasst_von > steht_in > 1 n 1n 1 1 nm

37 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 Objektorientierte Datenmodellierung Relationale Modellierung Realisierung Systeminformationen Graph Abfrage Tabellen gewünschte Daten Normalisierung

38 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 KUNDE Straße PLZ KundeNrNameVorname Stra ß e PLZ M ü ller AnnaSudetenstr HuberKarlKnallerweg MeierAmelie K ö rberweg HanserKurtK ä stnerstr. 10 A83022 KUNDE Attribute © Prof. Dr. Peter Hubwieser Entitäten (Objekte)

39 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 R L-ID Name Vorname DB FKT Fach1 Fach2 Fach3 S C H U L E SchulNr Bezeichnung Adresse K U R S KursNr Bezeichnung Fachgebiet Ort Termin L E H R E R S C H U L EK U R S < besuchtgehört-zu > NM N1 Weiteres Beispiel: Modell einer Fortbildungsdatenbank Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz

40 Folie 40 Jede Klasse wird als Tabelle repräsentiert. L E H R E R K U R S S 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

41 Folie 41 Objektdiagramm: 4 Beziehungen 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) (RLFB Klenze-Gym) 356 (Seminarlehrerfort- bildung, ALP Dillingen) < besucht Beziehungstabelle: 4 Datensätze KursTeilnehmer Die N:M-Beziehung wird als Beziehungstabelle BESUCHT gespeichert. L E H R E RK U R S < besucht NM 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

42 Folie 42 K U R S L E H R E R Primärschlüssel der Beziehungstabelle ist hier (Kurs; Teilnehmer) Kurs verweist auf den Schlüssel KursNr in der Tabelle KURS. Teilnehmer verweist auf den Schlüssel L-ID der Tabelle LEHRER. KursTeilnehmer Kurs 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

43 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. Beziehungstabelle: 3 Datensätze LehrerSchule Objektdiagramm: 3 Beziehungen 1 (Huber Max) 2 (Meier Iris) 3 (Ritter Franziska) 100 (Gymnasium Immenstadt) 101 (Gymnasium Königsbrunn) gehört-zu > L E H R E RS C H U L E gehört-zu > N1 G E H O E R T – Z U Beziehungen im Datenbankmodell

44 Folie 44 G E H O E R T – Z U LehrerSchule 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 R L E H R E R S Beziehungen im Datenbankmodell

45 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) TRAINERVEREIN ist_Cheftrainer_von > 11

46 Folie 46 Zusammenfassung KURS[KursNr; Bezeichnung; Fachgebiet; Ort; Termin] L E H R E R S C H U L EK U R S < besuchtgehört-zu > NM N1 LEHRER[L-ID; Name; Vorname; DB; FKT; Fach1; Fach2; Fach3; ; Schule] SCHULE[SchulNr; Bezeichnung; Adresse] BESUCHT[Kurs; Teilnehmer] Klassendiagramm Datenbankschema Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz

47 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? 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 S S C H U L E

48 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. Nicht alle Datensätze der Kreuzprodukt- tabelle sind immer sinnvoll!!! SELECT * FROM TABELLE1, TABELLE2; SELECT * FROM TABELLE1, TABELLE2; Ausgabe der Kreuzprodukttabelle in SQL: Kreuzprodukt zweier Tabellen

49 Folie 49 SELECT Spalte1, Spalte2, Spalte3,... FROM TABELLE1, TABELLE2 WHERE TABELLE2.Fremdschlüssel=TABELLE1.Primärschlüssel; SELECT Spalte1, Spalte2, Spalte3,... FROM TABELLE1, TABELLE2 WHERE 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

50 Folie 50 L E H R E RS S 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? Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz Abfragen mit mehreren Tabellen

51 Folie 51 L E H R E R S S C H U L E Wie lauten Name, Vorname und Schuladresse aller Lehrer? SELECT LEHRERS.Name, LEHRERS.Vorname, SCHULE.Adresse FROM LEHRERS, SCHULE WHERE LEHRERS.Schule=SCHULE.SchulNr; SELECT LEHRERS.Name, LEHRERS.Vorname, SCHULE.Adresse FROM LEHRERS, SCHULE WHERE 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

52 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. E R W E I T E R U N G (NEnglisch+ NDeutsch+ NMathematik) / 3 Schnitt 1,33 2,33 2,66 1,66 3,00 3,66 3,33 2,00 S C H U E L E R Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz

53 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 R Die Tabelle SCHUELER wird nach der Spalte Klasse gruppiert. 8 Datensätze 2 Datensätze Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz

54 Folie 54 Tabellen gruppieren 5b 8a SELECT Klasse FROM SCHUELER GROUP BY Klasse; SELECT Klasse FROM SCHUELER GROUP BY Klasse; Klasse A B F R A G E 5b 8a Klasse 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

55 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?

56 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 5b 8a Klasse ESchnitt 5b 8a 1,50 3,25 1,50 3,25 ESchnitt 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?

57 Folie 57 Gegeben ist die Schülertabelle mit den Zeugnisnoten in E, D und M. S 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 erweitern Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz Klasse Bekenntnis Geschlecht COUNT(S-Nr) MIN(Datum) MAX(NMathematik) - COUNT(S-Nr) AVG(NDeutsch)

58 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

59 Folie 59 Neue Informationen durch Verknüpfung von Daten Anonymität von Fragebögen??? Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz

60 Folie 60 Manipulation von Daten DELETE FROM EVALUATION WHERE (F1=- -) OR (F2=- -) DELETE FROM EVALUATION WHERE (F1=- -) OR (F2=- -) Löschanweisung: Löschen EVALUATION (F1=-- ) OR (F2=--) Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz

61 Folie 61 Einfügeanweisung: Einfügen EVALUATION [9;w;Master;5,ja,++,++,++,++] INSERT INTO EVALUATION VALUES [9;w;Master;5,ja,++,++,++,++] INSERT INTO EVALUATION VALUES [9;w;Master;5,ja,++,++,++,++] Manipulation von Daten Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz

62 Folie 62 Änderungsanweisung: Ändern EVALUATION F4=++ UPDATE EVALUATION SET F4=++ WHERE F4=0 UPDATE EVALUATION SET F4=++ WHERE F4=0 F4=0 Manipulation von Daten Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz

63 Folie 63 CREATE VIEW BEWERTUNG AS SELECT F1,F2,F3,F4 FROM EVALUATION CREATE VIEW BEWERTUNG AS SELECT F1,F2,F3,F4 FROM EVALUATION Manipulation von Daten Tabellen als Bausteine relationaler Datenbanken Einfache Abfragen Objektorientierte Datenmodellierung Das relationale Datenbankmodell Komplexe Abfragen Datenmanipulation und Datenschutz


Herunterladen ppt "Einführung in die Informatik der 9. Jahrgangsstufe Teil 2: Datenmodellierung und Datenbanksystem."

Ähnliche Präsentationen


Google-Anzeigen