DATENBANKEN Aufbau, Theorie und Anwendung (im Unterricht) Johannes Gutenberg Universität Mainz...

38
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/27.06.2009

Transcript of DATENBANKEN Aufbau, Theorie und Anwendung (im Unterricht) Johannes Gutenberg Universität Mainz...

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

DATENBANKEN

Aufbau, Theorie und Anwendung (im Unterricht)

Johannes Gutenberg Universität MainzFachbereich 08: InformatikSeminar: Didaktik der Informatik, SS09Dozenten: Prof. Dr. Herbert Göttler mit OStR Martin MattheisReferent: Christian Herres

26/27.06.2009

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

Verlaufsplan

1. Einordnung in den Lehrplan

2. Theoretische Einführung

3. Aufbau relationaler Datenbanken

4. Structured Query Language

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

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

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

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

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

Wo gibt es Datenbanken?

Nicht elektronisch:- Zettelkasten in der Bibliothek- Telefonbuch

Elektronisch:- ub.uni-mainz.de - Telefonbuch.de- Handy

Unterschiede?

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

Was ist eine Datenbank?

„Eine Datenbank ist eine geordnete, selbstbeschreibende Sammlung von Daten,

die miteinander in Verbindung stehen.“

Geisler, Frank (2005).

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

Probleme von Datenbanken

Zugriffsrechte/Redundanz/Löschen von Daten

Lösung: DBMS

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

Bestandteile von DB

Daten

DBMS

Nutzer Speicher Rechner Ausgabe-Geräte

Tools OS

Hardware

Software

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

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

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

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

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

Arten von DB

ER-Methode (Entity Relationship)- Nicht implementativ, sondern konzeptionell- beschreibt Entitäten und Beziehungen- grafisch darstellbar

Baum Asthat

hat

BlätterVögel

auf/hat

i N

i

NN

M

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

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

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

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

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

Relationales Modell

Kunde

KUNDE_ID NAME NACHNAME

1 Christian Herres

2 Max Mustermann

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

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

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.

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

Relationales Modell

Verknüpfung von Daten

erfolgt über Primärschlüssel

MKunde Buchleiht

N

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

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 1 2 2009-01-01 2009-02-22

2 1 1 2009-01-01 NULL

3 2 2 2009-02-23 NULL

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

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)

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

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 Herr Mustermann

3 Frau Fröhlich

4 Frau Meier

Kunde

KUNDE_ID ID_ANREDE NACHNAME

1 1 Herres

2 1 Mustermann

3 2 Fröhlich

4 2 Meier

Redundanz ist hier systemimmanent

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

Erste Normalform

Leihe

LEIHE_ID NAME ID_BUCH BUCHNAME DATUM

1 Max Mustermann

1234

DatenbankenCampbellGrundgesetzHerr der Ringe

2009-01-012009-01-012009-02-022009-02-02

Leihe

LEIHE_ID NAME BUCH_ID BUCHNAME DATUM

1 Max Mustermann 1 Datenbanken 2009-01-01

2 Max Mustermann 2 Campbell 2009-01-01

3 Max Mustermann 3 Grundgesetz 2009-02-02

4 Max Mustermann 4 Herr der Ringe 2009-02-02

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.

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

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_ID NAME BUCH_ID BUCHNAME DATUM

1 Max Mustermann 1 Datenbanken 2009-01-01

2 Max Mustermann 2 Campbell 2009-01-01

funktionale Abhängigkeit

Leihe

LEIHE_ID KUNDE_ID BUCH_ID DATUM

1 1 1 2009-01-01

2 1 2 2009-01-01

Kunde

KUNDE_ID NAME

1 Max Mustermann

2 Christian Herres

Buch

BUCH_ID NAME

1 Datenbanken

2 Campbell

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

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

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

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)

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

SQL - DDL

1. CRATE TABLE Buch ( BUCH_ID INTEGER PRIMARY KEY, BUCHNAME TEXT );

2. ALTER TABLE Buch ADD ERSCHIENEN TEXT;

3. DROP TABLE Buch;

Buch

BUCH_ID BUCHNAME

Buch

BUCH_ID BUCHNAME ERSCHIENEN

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

SQL - DCL

GRANT SELECT ON Buch TO herres;

Berechtigungen für Nutzer in der DML

DENY SELECT ON Buch TO herres;

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

SQL – DML: INSERT

SELECT / INSERT / DELETE / UPDATE

INSERT INTO Buch VALUES (1‚‘Datenbanken‘); INSERT INTO Buch SET ID_BUCH=1,

BUCHNAME=‘Datenbanken‘;

Buch

BUCH_ID BUCHNAME

Buch

BUCH_ID BUCHNAME

1 Datenbanken

wirft Fehler wenn nicht eindeutig Besser den Zusatz „auto increment“ bei Erstellung der Tabelle geben

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

SQL – DML: UPDATE / DELETE

Buch

BUCH_ID BUCHNAME

1 Datenbanken

2 Campbell

3 Muster

4 Maler

UPDATE Buch SET BUCHNAME=‘Fahrer‘ WHERE ID_BUCH=’2’;

Buch

BUCH_ID BUCHNAME

1 Datenbanken

2 Fahrer

3 Muster

4 Maler

DELETE FROM Buch WHERE ID_BUCH=’4’;

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

SQL – DML: SELECT

Buch

BUCH_ID BUCHNAME WERT

1 Datenbanken 35

2 Campbell 50

3 Muster 12

4 Muster 13

SELECT FROM Buch WHERE NAME=’Muster’;

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

SQL – DML: AND

Buch

BUCH_ID BUCHNAME WERT

1 Datenbanken 35

2 Campbell 50

3 Muster 12

4 Muster 13

SELECT FROM Buch WHERE NAME=’Muster’ AND WERT> ’12’;

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

SQL – DML: ORDER BY

Buch

BUCH_ID BUCHNAME WERT

1 Datenbanken 35

2 Campbell 50

3 Muster 12

4 Muster 13

SELECT FROM Buch WHERE NAME=’Muster’ ORDER BY WERT ;

ASC / DESC

Standard ist ASC (aufsteigend)

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

SQL – DML: (equi) JOIN

Leihe

LEIHE_ID KUNDE_ID BUCH_ID DATUM

1 1 1 2009-01-01

2 1 2 2009-01-01

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 2009-01-01

Max Mustermann Campbell 2009-01-01

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

Ende des theoretischen Teils.

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

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.

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

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

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

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

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

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 5

Tafel

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

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

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

Diskussion

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

Methode?