Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Aufbau, Theorie und Anwendung (im Unterricht)

Ähnliche Präsentationen


Präsentation zum Thema: "Aufbau, Theorie und Anwendung (im Unterricht)"—  Präsentation transkript:

1 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 Datenbanken Aufbau, Theorie und Anwendung (im Unterricht) 26/

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

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

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

5 Wo gibt es Datenbanken? Nicht elektronisch:
Zettelkasten in der Bibliothek Telefonbuch Elektronisch: ub.uni-mainz.de Telefonbuch.de Handy Unterschiede? Schneller, gerodneter, redundanzfrei, Zugriffsrechte gewährleistet etc.

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

7 Probleme von Datenbanken
Zugriffsrechte/Redundanz/Löschen von Daten Lösung: DBMS Physikalische Abspeicherung der Daten unwichtig und wird normalerweise nicht bekannt gegeben

8 Bestandteile von DB Hardware Software Daten DBMS Nutzer Speicher
Rechner Ausgabe- Geräte Tools OS

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 Baum Ast hat Blätter Vögel auf/hat i 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 Spalte / Attribut Primärschlüssel Kunde KUNDE_ID
NAME NACHNAME 1 Christian Herres 2 Max Mustermann Metadaten Zeile / Entität Feld / Datum 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
Kunde leiht Buch

17 Relationales Modell Beziehungen zwischen Daten Kunde KUNDE_ID NAME
NACHNAME 1 Christian Herres 2 Max Mustermann Buch BUCH_ID BUCHNAME 1 Datenbanken 2 Campbell Ausleihe AUSLEIHE_ID KUNDE_ID BUCH_ID DATUM RUECKGABE 1 2 NULL 3

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_ID ANREDE NACHNAME 1 Herr Herres 2 Mustermann 3 Frau Fröhlich 4 Meier Kunde KUNDE_ID ID_ANREDE NACHNAME 1 Herres 2 Mustermann 3 Fröhlich 4 Meier  Redundanz ist hier systemimmanent

20 Erste Normalform Leihe LEIHE_ID NAME ID_BUCH BUCHNAME DATUM 1 Max Mustermann 2 3 4 Datenbanken Campbell Grundgesetz Herr der Ringe Leihe LEIHE_ID NAME BUCH_ID BUCHNAME DATUM 1 Max Mustermann Datenbanken 2 Campbell 3 Grundgesetz 4 Herr 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. funktionale Abhängigkeit Leihe LEIHE_ID NAME BUCH_ID BUCHNAME DATUM 1 Max Mustermann Datenbanken 2 Campbell Leihe LEIHE_ID KUNDE_ID BUCH_ID DATUM 1 2 Kunde KUNDE_ID NAME 1 Max Mustermann 2 Christian Herres Buch BUCH_ID NAME 1 Datenbanken 2 Campbell

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 CRATE TABLE Buch ( BUCH_ID INTEGER PRIMARY KEY, BUCHNAME TEXT ); ALTER TABLE Buch ADD ERSCHIENEN TEXT; DROP TABLE Buch; Buch BUCH_ID BUCHNAME Buch BUCH_ID BUCHNAME ERSCHIENEN

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 Buch BUCH_ID
INSERT INTO Buch VALUES (1‚‘Datenbanken‘); INSERT INTO Buch SET ID_BUCH=1, BUCHNAME=‘Datenbanken‘; Buch BUCH_ID BUCHNAME 1 Datenbanken Buch BUCH_ID BUCHNAME wirft Fehler wenn nicht eindeutig  Besser den Zusatz „auto increment“ bei Erstellung der Tabelle geben

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

28 SQL – DML: SELECT SELECT FROM Buch WHERE NAME=’Muster’; Buch BUCH_ID
BUCHNAME WERT 1 Datenbanken 35 2 Campbell 50 3 Muster 12 4 13

29 SQL – DML: AND SELECT FROM Buch WHERE NAME=’Muster’ AND WERT> ’12’;
BUCH_ID BUCHNAME WERT 1 Datenbanken 35 2 Campbell 50 3 Muster 12 4 13

30 SQL – DML: ORDER BY SELECT FROM Buch WHERE NAME=’Muster’ ORDER BY WERT ; ASC / DESC  Standard ist ASC (aufsteigend) Buch BUCH_ID BUCHNAME WERT 1 Datenbanken 35 2 Campbell 50 3 Muster 12 4 13

31 >>Ausgabe<<
SQL – DML: (equi) JOIN Leihe LEIHE_ID KUNDE_ID BUCH_ID DATUM 1 2 Kunde KUNDE_ID NAME 1 Max Mustermann 2 Christian Herres Buch BUCH_ID NAME 1 Datenbanken 2 Campbell 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<< NAME BUCHNAME DATUM Max Mustermann Datenbanken Campbell

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 Stunde ID TITEL AKTION ZEIT 1 Brainstorming
Wo gibt es überall Datenbanken? 5 2 Einstiegsphase Was ist eine Datenbank? Bestandteile? Vorteile elektronischer DB? 5-10 Tafel

36 Stunde Stunde ID TITEL AKTION ZEIT 3 Ergebnis-findungsphase I
Was sind die Probleme an einer gemeinsamen Datenbasis? 5 4 Ergebnis- sicherungsphase I Übertragen des Tafelanschriebs in das Heft Tafel

37 Stunde Stunde ID TITEL AKTION ZEIT 5 Ergebnis-findungsphase II
Vorstellung ER-Modell 10 6 Ergebnis- 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 "Aufbau, Theorie und Anwendung (im Unterricht)"

Ähnliche Präsentationen


Google-Anzeigen