1 / 38

Datenbanken

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/27.06.2009. Verlaufsplan.

thanh
Télécharger la présentation

Datenbanken

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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/27.06.2009

  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?

  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 Hardware Ausgabe- Geräte Speicher Rechner Nutzer Daten Tools OS DBMS 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 i N Baum hat Ast i M hat auf/hat N N Blätter Vögel

  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 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 M N Kunde leiht Buch

  17. Relationales Modell • Beziehungen zwischen Daten

  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.  Redundanz ist hier systemimmanent

  20. Erste Normalform 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

  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 • CRATETABLEBuch ( BUCH_ID INTEGERPRIMARYKEY, BUCHNAME TEXT ); • ALTER TABLE Buch ADD ERSCHIENEN TEXT; • DROPTABLE Buch;

  25. SQL - DCL • GRANT SELECT ON Buch TOherres; • Berechtigungen für Nutzer in der DML • DENY SELECT ON Buch TOherres;

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

  27. SQL – DML: UPDATE / DELETE UPDATE Buch SET BUCHNAME=‘Fahrer‘ WHERE ID_BUCH=’2’; DELETE FROM Buch WHERE ID_BUCH=’4’;

  28. SQL – DML: SELECT SELECT FROM Buch WHERE NAME=’Muster’;

  29. SQL – DML: AND SELECT FROM Buch WHERE NAME=’Muster’ AND WERT> ’12’; ’

  30. SQL – DML: ORDER BY SELECT FROM Buch WHERE NAME=’Muster’ ORDER BY WERT ; ’ ASC / DESC  Standard ist ASC (aufsteigend)

  31. SQL – DML: (equi) JOIN 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

  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 Tafel

  36. Stunde Tafel

  37. Stunde Tafel

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

More Related