Aufbau, Theorie und Anwendung (im Unterricht)

Slides:



Advertisements
Ähnliche Präsentationen
ER-Datenmodell und Abfragen in SQL
Advertisements

Datenbankdesign mit ACCESS.
Datenbanken Einführung.
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
Relationaler Datenbankentwurf (II)
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Datenmodellierung Externe Phase Informationsstruktur
Objekt – Relationales – Modell Tomasz Makowski IN
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
MySQL.
Bauinformatik II Softwareanwendungen 1
Prof. Dr. Andreas Schmietendorf
Microsoft Access – Einführung – Allgemeine Technologien I
Ein Entity Relationship Diagramm zur ADB/NDB
Das Entity-Relationship-Modell
Allgemeine Technologien II
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Kapitel 3: Das Relationenmodell
Franziska Schmidt Sarah Ahlheit
SQL als Abfragesprache
SQL als Abfragesprache
Datenbankdesign und Normalisierung
MySQL Der Einstieg.
Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
Access 2000 Datenbanken.
Normalformen Normalisieren Schlüssel
Datenintegrität Referentielle Integrität create table
Einführung Dateisystem <-> Datenbanksystem
Datenbanken 13: Objekt-Klasse-Datenbank
Relationale Datenbankmodelle
... und alles was dazugehört
Datenbankentwicklung IV-LK
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Datenbanken?.
Datenbank-entwicklungsprozess
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Normalisierung Referat zur Veranstaltung: Datenbanktechnologie, mit praktischen Übungen in eXist und XQuery Datum: 18. April 2011 (3.Sitzung) Dozent: Daniel.
Semantisches Datenmodell Entity-Relationship-Modell Normalformen
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #4 SQL (Teil 1).
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
(D.h. „Hallo MausFans!“ auf Japanisch).
Datenbanksysteme für hörer anderer Fachrichtungen
DI (FH) DI Roland J. Graf MSc (GIS) U N I V E R S I T Ä T S L E H R G A N G Geographical Information Science & Systems UNIGIS.
Einführung in Datenbankmodellierung und SQL
Freiwillige Feuerwehr der Stadt Perg
Relationales Datenmodell und DDL
Das relationale Modell
verstehen planen bearbeiten
Normalisierungsprozess
Structured Query Language
Einführung Dateisystem <-> Datenbanksystem
Termin Festlegung Einführung MySQL Runterladen MySQL, Pentaho Design Studio Betrachtung Pentaho
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Datenbank System (DBS) - Warum?
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Datenbanken erstellen mit PostgreSQL
Datenbanken abfragen mit SQL
SQL Structured Query Language Enzio Thiem. INHALT CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel.
SQL Basics Schulung –
Sprachumfang von SQL Vier Kategorien DDL (Data Definition Language)
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Create Table, Rechte und Rollen
Kapitel 6: Datenbanksysteme
(Structured Query Language)
 Präsentation transkript:

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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.

Relationales Modell Verknüpfung von Daten erfolgt über Primärschlüssel Kunde leiht Buch

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 2009-01-01 2009-02-22 NULL 3 2009-02-23

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)

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

Erste Normalform Leihe LEIHE_ID NAME ID_BUCH BUCHNAME DATUM 1 Max Mustermann 2 3 4 Datenbanken Campbell Grundgesetz Herr der Ringe 2009-01-01 2009-02-02 Leihe LEIHE_ID NAME BUCH_ID BUCHNAME DATUM 1 Max Mustermann Datenbanken 2009-01-01 2 Campbell 3 Grundgesetz 2009-02-02 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.

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 2009-01-01 2 Campbell Leihe LEIHE_ID KUNDE_ID BUCH_ID DATUM 1 2009-01-01 2 Kunde KUNDE_ID NAME 1 Max Mustermann 2 Christian Herres Buch BUCH_ID NAME 1 Datenbanken 2 Campbell

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

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)

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

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

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

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’;

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

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 ’

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 ’

>>Ausgabe<< SQL – DML: (equi) JOIN Leihe LEIHE_ID KUNDE_ID BUCH_ID DATUM 1 2009-01-01 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 2009-01-01 Campbell

Ende des theoretischen Teils.

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.

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

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

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

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

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