Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

DATENBANKEN Aufbau, Theorie und Anwendung (im Unterricht) Johannes Gutenberg Universität Mainz Fachbereich 08: Informatik Seminar: Didaktik der Informatik,

Ähnliche Präsentationen


Präsentation zum Thema: "DATENBANKEN Aufbau, Theorie und Anwendung (im Unterricht) Johannes Gutenberg Universität Mainz Fachbereich 08: Informatik Seminar: Didaktik der Informatik,"—  Präsentation transkript:

1 DATENBANKEN Aufbau, Theorie und Anwendung (im Unterricht) Johannes Gutenberg Universität Mainz Fachbereich 08: Informatik Seminar: Didaktik der Informatik, SS09 Dozenten: Prof. Dr. Herbert Göttler mit OStR Martin Mattheis Referent: Christian Herres 26/

2 Verlaufsplan 1. Einordnung in den Lehrplan 2. Theoretische Einführung 3. Aufbau relationaler Datenbanken 4. Structured Query Language

3 Einordnung in den Lehrplan 1. Sensibilisierung (Wo gibt es DB ?) 2. Unterschiede: elektronisch  nicht elektr. 3. Aufbau und Darstellung von DB 4. Einführung des relationalen Modelles 5. Einführung von Schlüsselattributen 6. Normalisierung 7. Structured Query Language (SQL) 8. Modellierung eigener Datenbanken

4 Theoretische Einführung 1. Wo gibt es DB? 2. Was ist eine DB? 3. Das Database Management System (DBMS) 4. Bestandteile von Datenbanksystemen 5. Arten von Datenbanksystemen

5 Wo gibt es Datenbanken? Nicht elektronisch: - Zettelkasten in der Bibliothek - Telefonbuch Elektronisch: - ub.uni-mainz.de - Telefonbuch.de - Handy Unterschiede?

6 Was ist eine Datenbank? „Eine Datenbank ist eine geordnete, selbstbeschreibende Sammlung von Daten, die miteinander in Verbindung stehen.“ Geisler, Frank (2005).

7 Probleme von Datenbanken  Zugriffsrechte/Redundanz/Löschen von Daten  Lösung: DBMS

8 Bestandteile von DB Daten DBMS NutzerSpeicherRechner Ausgabe- Geräte ToolsOS Hardware Software

9 Arten von DB  Hierarchisch - Wurzel- / Kindknoten - i:M – Beziehungen  Beziehungen zwischen Knoten sind starr  Netzwerk - M:N Beziehungen - indirekte Beziehungen möglich  immer noch strukturell abhängig

10 Arten von DB  Objektorientiert - Möglichkeit der Abänderung bleibt bestehen - strukturell unabhängig - alle Vorteile der objektorientierten Programmierung - sehr schnell  aber schwer übertragbar, da keine Standards definiert  hohe Lernzeit für Nutzer

11 Arten von DB  ER-Methode (Entity Relationship) - Nicht implementativ, sondern konzeptionell - beschreibt Entitäten und Beziehungen - grafisch darstellbar BaumAst hat Blätter Vögel auf/hat iN i N N M

12 Relationales Modell  relation = Tabelle - Tabellarische Auflistungen von Entitäten - Verknüpfung beliebig über Schlüssel durchführbar - langsamer als Objektorientiertes Modell  oft nutzt man Mischformen zwischen objektorientierten und relationalen Ansätzen

13 Relationales Modell  Struktur - physikalische Speicherung hier uninteressant - Daten auf dem Datenträger müssen keine Tabellen sein  Code für die eigentliche DB nicht einsehbar  aber auch nicht von Interesse, da dieser nur im Performanzbereich wichtig wird

14 Relationales Modell Kunde KUNDE_IDNAMENACHNAME 1ChristianHerres 2MaxMustermann Primärschlüssel Zeile / Entität Spalte / Attribut Feld / Datum Metadaten Voraussetzungen: - Spaltennamen eindeutig innerhalb Tabelle - jedes Feld Muss eindeutig beschreibbar und adressierbar sein - Spaltennamen sind großgeschriebene Substantive - Nomenklatur der Primärschlüssel sollte einheitlich sein

15 Relationales Modell  Datentypen: - Felder haben festen Datentyp - die Domäne ist Wertebereich den Felder tatsächlich annehmen  Die Noten N= {1,2,3,4,5,6} sollen gespeichert werden.  Der Datentyp könnte INTEGER sein, also alle ganzen Zahlen. Die Domäne wäre aber nur eine Teilmenge von N.

16 Relationales Modell  Verknüpfung von Daten  erfolgt über Primärschlüssel M KundeBuch leiht N

17 Relationales Modell  Beziehungen zwischen Daten Kunde KUNDE_IDNAMENACHNAME 1ChristianHerres 2MaxMustermann Buch BUCH_IDBUCHNAME 1Datenbanken 2Campbell Ausleihe AUSLEIHE_IDKUNDE_IDBUCH_IDDATUMRUECKGABE NULL NULL

18 Relationales Modell  Primärschlüssel: - Primärschlüssel identifizieren Attribute P  A1,A2  Das Attribut A1 / A2 ist funktional abhängig vom Primärschlüssel P - der Primärschlüssel kann aus mehreren Feldern bestehen P1,P2  A1,A2 - kann künstlich / natürlich sein (eine ID wäre künstlich)

19 Normalisierung Normalisierung bezeichnet einen Prozess, an dessen Ende eine möglichst gute, sinnvolle und redundanzfreie Datenbank steht. Kunde KUNDE_IDANREDENACHNAME 1HerrHerres 2HerrMustermann 3FrauFröhlich 4FrauMeier Kunde KUNDE_IDID_ANREDENACHNAME 11Herres 21Mustermann 32Fröhlich 42Meier  Redundanz ist hier systemimmanent

20 Erste Normalform Leihe LEIHE_IDNAMEID_BUCHBUCHNAMEDATUM 1Max Mustermann Datenbanken Campbell Grundgesetz Herr der Ringe Leihe LEIHE_IDNAMEBUCH_IDBUCHNAMEDATUM 1Max Mustermann1Datenbanken Max Mustermann2Campbell Max Mustermann3Grundgesetz Max Mustermann4Herr der Ringe Eine Tabelle ist dann in der ersten Normalform, wenn es keine Wiederholungsgruppen, also Zellen mit Wertemengen mehr gibt und alle Schlüsselattribute vorhanden sind beziehungsweise alle Attribute vom Primärschlüssel abhängen.

21 Zweite Normalform Besitzt eine Tabelle nur ein Primärschlüsselattribut ist sie automatisch in der zweiten Normalform, wenn Sie sich in der ersten Normalform befindet. Leihe LEIHE_IDNAMEBUCH_IDBUCHNAMEDATUM 1Max Mustermann1Datenbanken Max Mustermann2Campbell funktionale Abhängigkeit Leihe LEIHE_IDKUNDE_IDBUCH_IDDATUM Kunde KUNDE_IDNAME 1Max Mustermann 2Christian Herres Buch BUCH_IDNAME 1Datenbanken 2Campbell

22 Dritte, vierte und fünfte Normalform Eine Tabelle befindet sich dann in der dritten Normalform, wenn sie keine transitiven oder funktionalen Abhängigkeiten mehr aufweist.  Transitive Abhängigkeit könnte zum Beispiel noch die Zuordnung von Leihkosten sein Vierte Normalform: - es liegen noch maximal 2 zusammenhängende Abhängigkeiten vor Fünfte Normalform: - jede Bedingung der Relation ist eine logische Folge der Definition der Schlüssel und der Domänen -  völlige Redundanzfreiheit  schnell, logisch, aber zu komplex

23 Structured Query Language  Data Definition Language (DDL)   Anlegen / Editieren / Löschen (Tabellenstruktur)  Data Control Language (DCL)   Steuerung der Zugriffsberechtigungen (Benutzer)  Data Manipulation Language (DML)   Erstellen / Bearbeiten / Löschen / Lesen (Entitäten)

24 SQL - DDL 1. CRATE TABLE Buch ( BUCH_ID INTEGER PRIMARY KEY, BUCHNAME TEXT ); 2. ALTER TABLEBuch ADD ERSCHIENEN TEXT; 3. DROP TABLE Buch; Buch BUCH_IDBUCHNAME Buch BUCH_IDBUCHNAMEERSCHIENEN

25 SQL - DCL  GRANT SELECT ON Buch TO herres; Berechtigungen für Nutzer in der DML  DENY SELECT ON Buch TO herres;

26 SQL – DML: INSERT  SELECT / INSERT / DELETE / UPDATE  INSERT INTO Buch VALUES (1‚‘Datenbanken‘);  INSERT INTO Buch SET ID_BUCH=1, BUCHNAME=‘Datenbanken‘; Buch BUCH_IDBUCHNAME Buch BUCH_IDBUCHNAME 1Datenbanken wirft Fehler wenn nicht eindeutig  Besser den Zusatz „auto increment“ bei Erstellung der Tabelle geben

27 SQL – DML: UPDATE / DELETE Buch BUCH_IDBUCHNAME 1Datenbanken 2Campbell 3Muster 4Maler UPDATE Buch SET BUCHNAME=‘Fahrer‘ WHERE ID_BUCH=’2’; Buch BUCH_IDBUCHNAME 1Datenbanken 2Fahrer 3Muster 4Maler DELETE FROM Buch WHERE ID_BUCH=’4’;

28 SQL – DML: SELECT Buch BUCH_IDBUCHNAMEWERT 1Datenbanken35 2Campbell50 3Muster12 4Muster13 SELECT FROM Buch WHERE NAME=’Muster’;

29 SQL – DML: AND Buch BUCH_IDBUCHNAMEWERT 1Datenbanken35 2Campbell50 3Muster12 4Muster13 SELECT FROM Buch WHERE NAME=’Muster’ AND WERT> ’12’; ’

30 SQL – DML: ORDER BY Buch BUCH_IDBUCHNAMEWERT 1Datenbanken35 2Campbell50 3Muster12 4Muster13 SELECT FROM Buch WHERE NAME=’Muster’ ORDER BY WERT ; ’ ASC / DESC  Standard ist ASC (aufsteigend)

31 SQL – DML: (equi) JOIN Leihe LEIHE_IDKUNDE_IDBUCH_IDDATUM Kunde KUNDE_IDNAME 1Max Mustermann 2Christian Herres Buch BUCH_IDNAME 1Datenbanken 2Campbell SELECT Leihe.DATUM, Buch.BUCHNAME, Kunde.NAME FROM Leihe L, Buch B, Kunde K WEHRE L.KUNDE_ID = K.KUNDE_ID AND L.BUCH_ID = B.BUCH_ID >>Ausgabe<< NAMEBUCHNAMEDATUM Max MustermannDatenbanken Max MustermannCampbell

32  Ende des theoretischen Teils.

33 Konzeption Unterrichtsreihe  Ziel: Jeder Schüler soll den Aufbau einer relationalen Datenbank kennen, sowie mit SQL und einer Umgebung einfache Abfragen erstellen können.  Antinomie: „Wenn man konzeptionelle Fragen diskutiert, werden ‚Hacker‘ unter den Schülern, die jedes Bit vom Rechner beim Vornamen kennenlernen wollen, eher abgeschreckt.“ Wittem, H. zitiert in: Baumann, Rüdiger (1997), S.293. Konzeptionelle Sicht aber sehr wichtig für die Entwicklung und das Verständnis von Datenbanksystemen.

34 Grober Verlauf der Reihe  Einführung (1) Was sind DB / Beispiele / Bezug zu realen Welt  Grundlagen (1) DBMS / Bestandteile / ER-Modell  Relationales Modell (2-3) Andere Modelle / Tabellenschema / Datentyp / Domäne / Redundanz  Modellierung (2-4) PhPMyAdmin / SQL – DDL – DML – (DCL) / Abfragen  Überprüfung (1) HA / Umsetzen Normalisierung / Einfache SQL-Abfragen Nach Test: Überleitung zum Datenschutz  Problematisierung

35 Stunde IDTITELAKTIONZEIT 1BrainstormingWo gibt es überall Datenbanken?5 2EinstiegsphaseWas ist eine Datenbank? Bestandteile? Vorteile elektronischer DB? 5-10 Tafel

36 Stunde IDTITELAKTIONZEIT 3Ergebnis- findungsphase I Was sind die Probleme an einer gemeinsamen Datenbasis? 5 4Ergebnis- sicherungsphase I Übertragen des Tafelanschriebs in das Heft5 Tafel

37 Stunde IDTITELAKTIONZEIT 5Ergebnis- findungsphase II Vorstellung ER-Modell10 6Ergebnis- sicherungsphase II Eigene, kleine Modellierung der Schüler.5-10 Tafel

38 Diskussion Sollte, anders als im Lehrplan und wie von Baumann gefordert, die konzeptionelle Sicht stärker betont werden als die implementative Methode?


Herunterladen ppt "DATENBANKEN Aufbau, Theorie und Anwendung (im Unterricht) Johannes Gutenberg Universität Mainz Fachbereich 08: Informatik Seminar: Didaktik der Informatik,"

Ähnliche Präsentationen


Google-Anzeigen