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

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

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Einführung in die Informatik der 9. Jahrgangsstufe 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Folie 10

Motivation

Wozu Datenbanken? Datenbanken im Alltag

Kundendatenbank eines Telekommunikationsanbieters

freedb.org

Hochaktuelles Thema: Datenschutz

Geschichte des „Frank P.“ Schufa

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

Folie 11

Kurze Geschichte der Datenbanken

Alle zehn Jahre: Volkszählung in den Vereinigten Staaten

Zensus 1880 sehr umfangreich

Hollerith: Lochkarte und „Elektrisches Tabelliersystem“

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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… … …

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 >

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

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 >

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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?

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

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?

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

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)

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

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

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

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

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

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

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

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

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

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

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

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