Datenbankentwurf Das Telefonbuch als
Datenbasis
Das herkömmliche Telefonbuch...
... ist eine Ansammlung vieler Daten
... besteht aus einzelnen Teilnehmern als Datensätze
... ist nach festem Schlüssel sortiert (Ort, Name, Vorname, ...)
... enthält keine Möglichkeit zum Eintragen, Ändern, Löschen oder Umsortieren
... ist deshalb nur eine Datenbasis, keine Datenbank.
Eine Telefonbuch-CD...
... enthält exakt die gleiche Datenbasis wie das Telefonbuch
... ist durch die zusätzliche Software eine Datenbank
... kann durch Änderung der Sortierschlüssel wesentlich mehr Information bereitstellen:
landesweite Namensuche
Nachbarsuche (Adressbuch)
Rufnummeridentifikation (Datenschutzkonflikt!)
... hat (oft) keine Möglichkeit zum Ändern/Löschen/Hinzufügen von Datensätzen
Teilnehmer
Ort
HausnrStraße
Vorname
Name
VorwahlNummer
ER-Modell „Telefonbuch“
Früher: alles ist erlaubt, was nicht verboten ist! Heute: alles ist verboten, was nicht erlaubt ist!
Das Bundesdatenschutzgesetz unterscheidet Datenverarbeitung
bei Behörden und öffentlichen Stellen (z.B. Einwohnermeldeamt) bei nicht öffentlichen Stellen für eigene Zwecke (z.B. Banken) bei nicht öffentlichen Stellen für fremde Zwecke (z.B. Kundenkarte)
Jeder Bürger hat das Recht auf
Auskunft über die gespeicherten Daten Berichtigung bzw. Sperrung oder Löschung von fehlerhaften Daten
Recht auf informationelle Selbstbestimmung, d.h.Daten dürfen nur mit Einverständnis und für bestimmte Zwecke gespeichert werden!
Beispiel: Die Telekom darf Verbindungsdaten zum Zwecke der Rechnungsstellung speichern. Danach müssen sie gelöscht werden. Eine Verwendung für andere Zwecke ist nur in Ausnahmefällen erlaubt (Zugriff durch die Polizei?).
Datenbankentwurf
Datenschutz
Datenbankentwurf Datenbanken mit persönlichen
Inhalten
bei Behörden und öffentlichen Stellen
EinwohnermeldeamtPolizeiSozialamtFinanzamt...
bei nicht öffentlichen Stellen für eigene Zwecke
BankKrankenkasse, ÄrzteTelekommunikationsunternehmen, ProviderArbeitgeber, auch Schule?Maut...
bei nicht öffentlichen Stellen für fremde Zwecke
KundenkarteGewinnspiele...
Datenbankentwurf Eine Tabellenkalkulation als
Datenbankwerkzeug
Eine Tabellenkalkulation ist in Ansätzen als Datenbankwerkzeug einsetzbar:
Es können Tabellen für die Datensätze angelegt werden
Die Datenfelder sind (in Ansätzen) typisierbar
Es besteht die Möglichkeit zur Umsortierung bzw. Suche
Datensätze können direkt eingefügt/geändert und gelöscht werden
Es existieren spezielle Datenbankbenutzeroberflächen
Es existieren Schnittstellen zu anderen Datenbankwerkzeugen
Es besteht die Möglichkeit, eigene Oberflächen zu erschaffen
... aber:
es besteht in der Regel keine Möglichkeit, Tabellen zu verknüpfen, Rechte gezielt zu vergeben oder die Datenbank mehreren Nutzern gleichzeitig zur Verfügung zu stellen.
Datenbasis Die Gesamtmenge der abgespeicherten Daten.
Datenbank Datenbasis + Software zur Eingabe, Verwaltung und Ausgabeder Daten.
DBMS Datenbankmanagementsystem: Datenbank + vorgeschalteteSoftware zum Regeln der Zugriffsrechte usw.
Datum Eine Einzelinformation.
Datenfeld Spalte einer Datentabelle.
Datensatz Zeile einer Datentabelle.
Datenfeldname Überschrift einer Spalte der Datentabelle.
ER-Diagramm Entity-Relationship-Diagramm: grafisches Werkzeug zumModellieren einer Miniwelt (Objekte, Attribute und Beziehungen).
Primärschlüssel Datenfeld, das für jeden Datensatz der Tabelle einen unter-schiedlichen Wert annehmen muss.
Fremdschlüssel Datenfeld, dessen Wert in einer anderen Tabelle alsPrimärschlüssel vorkommen muss.
Relationale DB Datenbankentwurf, bei dem einzelne Tabellen miteinander inBeziehung stehen (durch Fremd- und Primärschlüssel).
Sortierschlüssel Datenfeld, nach dem die Datensätze sortiert vorliegen.
SQL Structured Query Language: Datenbanksprache zurKommunikation des Anwenders mit dem DBMS.
Datenbankentwurf kleines Begriffslexikon
Datenbankentwurf allgemeine Vorgehensweise
• Aufgabenstellung konkretisieren (Analyse der Realität/Miniwelt)– Charakteristische Vorgänge, benötigte Informationen, ...
• Erstellen eines ER-Modells der Miniwelt– Bestimmung der Objekte, Attribute, Relationen und Schlüssel
• Wahl des (Datenbank-) Werkzeugs– Excel, Access, MySQL, ...
• Erstellen der Tabellen und Strukturen– Tabellen und Felder anlegen, Attribute mit geeignetem Typ
festlegen, Schlüssel festlegen, ...
• evtl. Erstellung von Oberflächen– Excel: Maske / SVERWEIS
– Access: Abfragen / Formulare / Berichte
– MySQL: phpMyAdmin als Standardoberfläche
– MySQL: eigene PHP-Internetseiten zum Eintragen / Abfragen / ...
• Daten eintragen, abfragen, ändern, auswerten, ...
Datenbankentwurf ER-Diagramm CD-Liste Versuch
1
CD Laenge
InterpretTitel
CDnr
Liedzahl
CDnr Titel Interpret Laenge Liedzahl
1 Waterloo Abba 49:32 9
2 The Wall Pink Floyd 66:12 5
3 ... ... ... ...
Zahl Text Text Zahl/Zeit Zahl
Probleme:
1.Die einzelnen Lieder sind nicht aufgeführt!
2.Jede CD kann nur Lieder von einem Interpreten enthalten!
CDnr
CD
leitet
1
Interpret
Allgemeines zu ER-Diagrammen(entity-relationship)
Attribut eines Objekts
Schlüsselattribut eines Objekts, muss für jedes
Objekt unterschiedlich sein!
Beziehung (relation) zwischen 2 Objekten
Kardinalität der Beziehung
(1:1, 1:n, n:1 oder n:m)
Objekt (entity)
Datenbankentwurf ER-Diagramm CD-Liste Versuch
2
CD
Laenge
InterpretTitel
CDnr
Liedzahl LiedLaenge
InterpretTitel
Liednr
Redundanz! Die Information
steht schon in der CD-Liste!
enthält1 n
CDnr Titel Interpret Laenge Liedzahl
1 To the bone Kinks 49:32 12
2 So far Bryan Adams 67:12 14
3 ... ... ... ...
Zahl Text Text Zahl/Zeit Zahl
Liednr CDnr Titel Laenge Interpret
1 2 Summer of `69 3:35 B.Adams
2 2 Heaven 4:03 B.Adams
3 1 Apeman 4:06 Kinks
Zahl Zahl Text Zahl/Zeit Text
Probleme:
1.Jede CD kann nur Lieder von einem Interpreten enthalten!
2.Jedes Lied kann nur auf einer CD sein!
Fremdschlüssel „CDnr“:
Der Eintrag im Datenfeld CDnr der Tabelle Lied muss als Primärschlüssel in der Tabelle CD vorkommen!
Datenbankentwurf ER-Diagramm CD-Liste Versuch
3
CD
Laenge
InterpretTitel
CDnr
Liedzahl LiedLaenge
InterpretTitel
Liednr
enthält 1 nm
Auf jeder CD können mehrere Interpreten sein!
CDnr Titel Interpret Laenge Liedzahl
1 To the bone Kinks 49:32 12
2 So far Bryan Adams 67:12 14
3 ... ... ... ...
Zahl Text Text Zahl/Zeit Zahl
Liednr CDnr Titel Laenge Interpret
1 2 Summer of `69 3:35 B.Adams
2 2 Heaven 4:03 B.Adams
3 1 Apeman 4:06 Kinks
Zahl Zahl Text Zahl/Zeit Text
Cdnr Liednr
2 1
2 2
1 3
... ...
Jedes Lied kann auf mehreren CDs sein!
Jede m:n - Relation bekommt ihre eigene Zuordnungstabelle!
Datenbankentwurf ER-Diagramm CD-Liste Versuch
4
CD
LaengeTitel
CDnr
Liedzahl LiedLaenge
Interpret
Titel
Liednr
enthältm n
InterpretAlter
NameAdresse
Intnr
Ich will mehr Information über den Interpreten!
Position
Eine m:n - Relation kann auch Attribute besitzen!
ver-treibt
1
n
Plattenfirma
Umsatz
NameAdresse
Pnr
nimmt auf
1
n
enga-giert
m n
Raum
raumnrraumart
sitze
Lehrer fach2
fach1name
kuerzel
Schüler
snr
jahrgangwohnort
name
Unterricht
fach
stunde
tag
unr
leitet
1
1
findet statt in
n
1
ge-hört
1
1
hat
1
n
hält
1
n
gehört zu
1
n
Klasse
klassenname schülerzahl
Datenbankentwurf ER-Diagramm der Miniwelt Schule
Datenbankentwurf Beispiel aus Datenbanken.pps (Dr.Becker)
Aufgabe: Worin besteht der Unterschied zwischen den beiden
Modellen?
LNr
LNr
Leser Ausleihe Buch
Name AutorSigDatum...
Leser Ausleihe Buch
Name AutorSigDatum...
Datenbankentwurf Aufgabe zu ER-
Diagrammen
Rückgabedatum
Buch Benutzerleiht
aus
Standort
Jahr
Leihdatum
BNummer
Name
Wohnort
Titel
AutorAlter
n m
Miniwelt Sportverein
Ein Sportverein besteht aus Mitgliedern (z.B. Heike Drechsler, geb.23.3.1966, Karlsruhe), die zu bestimmten Trainingszeiten (z.B. Montag, 19 Uhr, Leichtathletik, Frauen) teilnehmen und Sport treiben. Für das Training stehen dem Verein verschiedene Sportstätten (z.B. Rasenplatz, große Halle, kleine Halle, Tennisplatz , ...) zur Verfügung. Jede Sportstätte befindet sich an einem bestimmten Ort und hat Öffnungszeiten (z.B. Schwimmbad, Herxheim, 9-21 Uhr). Aufgabe: Erstellen Sie aus der obigen Beschreibung die Miniwelt Sportverein als ER-Diagramm! Sorgen Sie bei den Objekten für sinnvolle Primärschlüssel und geben Sie auch jeweils die Art der
Relation (1:1,1:n,...) an. Miniwelt Bibliothek
Warum ist die Relation “leiht aus” eine m:n-Relation?Welche Tabellen müssen anhand dieses Modells angelegt werden? Geben Sie für jede Tabelle den Tabellennamen und die Namen und Typen der Datenfelder an. Sorgen Sie für geeignete Primärschlüssel für die Tabellen!
• Jedes Objekt braucht eine eigene Tabelle– Die Attribute des Objekts sind die Datenfelder.
– Jedes Datenfeld bekommt einen Datentyp: Speicherbedarf, Vorgriff auf die Variablentypen der Programmiersprachen.
– Ist das Objekt auf der „n-Seite“ einer (1:n) - Beziehung, so kommt der Primärschlüssel des Beziehungsobjekts als Fremdschlüssel hinzu.
– Ist das Objekt Teil einer (1:1) - Beziehung, so kommt (zur Redundanzvermeidung) nur bei einem der beiden Objekte der Primärschlüssel des jeweils anderen Objekts hinzu.
– Bei (m:n) - Beziehungen kommt nichts hinzu, denn:
• Jede (m:n) - Beziehung braucht eine eigene Tabelle– Die Primärschlüssel der beiden dazugehörigen Objekte tauchen als
Fremdschlüssel auf.
– Alle weiteren Attribute der Beziehung tauchen als Datenfeld auf.
Datenbankentwurf Umsetzung eines ER-Diagramms in
Tabellen
Datenbanksystem
AnwenderDatenbanksystem
Ein Datenbanksystem ist eine systematisch strukturierte, langfristig verfügbare Sammlung von Daten (DB) einschließlich der zur sicheren Bearbeitung und Verwaltung dieser Daten erforderlichen Software (DBVS).
DB
Anwender
Sammlung von Daten
DBVS
Software zur Verwaltung der Daten
Datenbanksysteme sind überallBeispiele:
- Bibliothek
- Bank
- Reisebüro: Buchungssystem
- Bahn: Auskunftssystem
- Suchmaschine im Internet
- ...
Das Modellierungsproblem
Ziel: Repräsentation von Information
?
Zustand:Gerd Müller ist registrierter Leser der Bibliothek. Er hat am 12.2.2002 das Buch „Fußball ist mein Leben“ von Franz Beckenbauer ausgeliehen. ...
Vorgang:Gerd Müller gibt das Buch ... zurück.
Miniwelt DB-Modellwelt
Informationen über die Miniwelt
Repräsentation mit TabellenInformation:
Gerd Müller ist registrierter Leser der Bibliothek. Er hat am 12.2.2002 das Buch „Fußball ist mein Leben“ von Franz Beckenbauer ausgeliehen.
Sig Autor Titel Jahr Name Vorname Wohnort Straße AusleihdatumF1 Beckenbauer Fußball ist 1980 Müller Gerd München Kirchstr. 13 02.02.02I2 Gaardner Sofies Welt 1995 Müller Peter Landstuhl Hauptstr. 7 18.01.02...
Repräsentation:
Redundanz und Inkonsistenz
Das Tabellenmodell ist redundant: Informationen werden hier z. T. mehrfach repräsentiert.
Eine Transaktion (Ändern) führt leicht zu inkonsistenten Modellen: Informationen werden auf unterschiedliche Weise repräsentiert.
Sig Autor Titel Jahr Ausleihdatum Name Vorname Wohnort Straße
I1 Balzert Informatik 1999 02.02.2002 Schreiner Rudolf Bann Kirchstr. 13I2 Gaardner Sofies Welt 1995 18.01.2002 Müller Peter Landstuhl Hauptstr. 7D1 Musil Der Mann
ohne1978 16.02.2002 Schreiner Rudi Bann Kichstr. 13
D2 Kafka Das Schloß 1990 31.12.2001 Müller Peter Landstuhl Hauptstraße 7
Ausleihen
Verknüpfte TabellenLNr Name Vorname GebJahr Stamm
kursleit0 Christ Benjamin 83 ROE1 Eberle Gerrit 84 TM2 Friedrich Andy 83 HB3 Frisch Johannes 84 TM...13 Teubner Ruth 84 HEI14 Thielen Clemens 84 TM15 Wollenweber Lisa 84 TM
Sig Autor Titel Jahr Fachbereich LNr Ausleihdatum
D1 Goethe Faust 1973 DeutschD2 Mann Dr. Faustus 1937 Deutsch 2 16.01.02D3 Mann Der
Zauberberg1940 Deutsch
D4 Kafka Das Schloss 1930 Deutsch 5 30.12.01D5 Grass Ein weites Feld 1997 DeutschM1 Euklid Die Elemente 1970 MathematikM2 Singh Fermats letzter
Satz1998 Mathematik
M3 Padberg ElementareZahlentheorie
1999 Mathematik 3 25.02.02P1 Heisenberg Der Teil und
das Ganze1955 Physik
P2 Einstein Relativitätstheorie
1960 Physik 12 03.03.02P3 Weinberg Die ersten drei
Minuten1989 Physik
Ph1 Gardner Sofies Welt 1995 Philosophie 2 18.01.02Ph2 Kant Kritik der
reinen1958 Philosophie
Ph3 Russell Geschichte derPhilosophie
1952 Philosophie
PrimärschlüsselFremd-schlüssel
Die Verknüpfung von Tabellen erfolgt mit Hilfe von Schlüsseln.
Verknüpfte TabellenLNr Name Vorname GebJahr Stamm
kursleit0 Christ Benjamin 83 ROE1 Eberle Gerrit 84 TM2 Friedrich Andy 83 HB3 Frisch Johannes 84 TM...13 Teubner Ruth 84 HEI14 Thielen Clemens 84 TM15 Wollenweber Lisa 84 TM
Sig Autor Titel Jahr Fachbereich
D1 Goethe Faust 1973 DeutschD2 Mann Dr. Faustus 1937 DeutschD3 Mann Der Zauberberg 1940 Deutsch...Ph1 Gardner Sofies Welt 1995 PhilosophiePh2 Kant Kritik der reinen Vernunft 1958 PhilosophiePh3 Russell Geschichte der
Philosophie1952 Philosophie
LNr Sig Datum
4 D2 29.10.018 M1 03.11.01
11 P1 16.08.0113 D5 12.09.0113 Ph2 12.09.0114 D1 06.12.0115 M3 12.10.01
Leser
Buch
Ausleihe
TabellenspezifikationLeser:
Das logische Schema einer Tabelle wird durch eine endliche Menge von Attributspezifikationen (Attributname; Datentyp) festgelegt.
TABELLE LeserLNr: ZahlName: ZeichenketteVorname:ZeichenketteGebJahr: ZahlStammkurs: Zeichenkette
LNr Name Vorname GebJahr Stammkursleit0 Christ Benjamin 83 ROE
1 Eberle Gerrit 84 TM2 Friedrich Andy 83 HB3 Frisch Johannes 84 TM...13 Teubner Ruth 84 HEI14 Thielen Clemens 84 TM15 Wollenweber Lisa 84 TM
Datentypen / DatenstrukturenEin Datentyp legt einen Wertebereich fest einschließlich der Operationen, die auf die Werte angewandt werden dürfen.
Bsp.: Datentyp Zahl
Eine Datenstruktur legt den Aufbau von komplexen Wertebereichen aus elementaren Wertebereichen fest.
Bsp.: Datenstruktur Tabelle (bzw. Relation)
RelationEine Relation kann in Tabellenform dargestellt werden.{ (1; “Meier”; “Karin”), (2; “Schmitt”; “Otto”), (3; “Breuer”; “Hans”) }
Beachte:Die Reihenfolge der Zeilen (Tupel) ist ohne Bedeutung.Die Reihenfolge der Spalten (Attribute) ist ohne Bedeutung.
LNr Name Vorname1 Meier Karin2 Schmitt Otto3 Breuer Hans
Relationale DatenbankEine relationale Datenbank besteht aus einer endlichen Menge von Relationen.
Bem.: Das relationale Datenmodell wurde 1970 von E. F. Codd entwickelt.
Datenbank Bibliothek:- Relation Leser- Relation Buch- Relation Ausleihe
SchlüsselPrimärschlüssel:
Ein (Primär-) Schlüssel für eine Tabelle ist ein Attribut oder eine Attributkombination, mit dem / mit der jeder Datensatz der Tabelle eindeutig identifiziert werden kann. Schlüssel müssen immer minimal gewählt werden; d. h. man kann auf kein Attribut verzichten.
LNr Sig Datum
4 D2 29.10.018 M1 03.11.01
11 P1 16.08.0113 D5 12.09.0113 Ph2 12.09.0114 D1 06.12.0115 M3 12.10.01
Ausleihe
LNr Name Vorname GebJahr Stammkursleit0 Christ Benjamin 83 ROE
1 Eberle Gerrit 84 TM2 Friedrich Andy 83 HB3 Frisch Johannes 84 TM...13 Teubner Ruth 84 HEI14 Thielen Clemens 84 TM15 Wollenweber Lisa 84 TM
Leser
SchlüsselFremdschlüssel:
Wird ein Primärschlüssel einer Tabelle in einer anderen Tabelle benutzt, so stellt er dort einen Fremdschlüssel dar. Mit Hilfe von Fremdschlüsseln werden Bezüge zwischen Tabellen hergestellt.
LNr Sig Datum
4 D2 29.10.018 M1 03.11.01
11 P1 16.08.0113 D5 12.09.0113 Ph2 12.09.0114 D1 06.12.0115 M3 12.10.01
Ausleihe
Referentielle IntegritätSig Autor Titel Jahr Fachbereich
D1 Goethe Faust 1973 DeutschD2 Mann Dr. Faustus 1937 DeutschD3 Mann Der Zauberberg 1940 Deutsch...Ph1 Gardner Sofies Welt 1995 PhilosophiePh2 Kant Kritik der reinen Vernunft 1958 PhilosophiePh3 Russell Geschichte der
Philosophie1952 Philosophie
LNr Sig Datum
4 D0 29.10.018 M1 03.11.01
11 P1 16.08.0113 D5 12.09.0113 Ph2 12.09.0114 D1 06.12.0115 M3 12.10.01
Buch
Ausleihe
Referentielle Integrität
Wenn in einer Tabelle ein Fremdschlüssel vorhanden ist, dann muss jeder Fremdschlüsselwert auch als Primärschlüsselwert in der korrespondierenden Tabelle vorkommen.
Übungen - Aufgabe 1 Miniwelt „Schule“
Herr P. Müller (MP) unterrichtet die Klasse 5a (Raum M21) in den Fächern Mathematik und NWU. Frau A. Albrecht (AL) unterrichtet die 5a in Französisch. Sie ist auch Klassenlehrerin der 5a. Die Französischstunden finden Mo 3 | Di 2 | Mi 6 | Fr 1 statt. (...)
Entwerfen Sie ein relationales Datenmodell zu dieser Miniwelt und implementieren Sie es mit Access. Erstellen Sie hierzu die entsprechenden Tabellen (in der Entwurfsansicht), geben Sie einige Testdaten ein und verknüpfen Sie die Tabellen (Primärschlüssel festlegen und Beziehungen knüpfen).
Aufgabe 1 - LösungsvorschlagMiniwelt „Schule“
Herr P. Müller (MP) unterrichtet die Klasse 5a (Raum M21) in den Fächern Mathematik und NWU. Frau A. Albrecht (AL) unterrichtet die 5a in Französisch. Sie ist auch Klassenlehrerin der 5a. Die Französischstunden finden Mo 3 | Di 2 | Mi 6 | Fr 1 statt. (...)
Bez Stufe Klassenlehrer
5a 5 AL5b 5 MP5c 5 BEC...
Kürzel Name Vorname Telefon
AL Albrecht Anni 45678BEC Becker Klaus 12345MP Müller Peter 23456...
Klasse Fach Lehrer Tag Stunde
5a FR AL DI 35a FR AL FR 25a FR AL MI 65a FR AL MO 15a NWU MP MI 1...