Datenbankentwurf Das Telefonbuch als Datenbasis

Slides:



Advertisements
Ähnliche Präsentationen
Access 2003 DB - Access Grundlagen (c) BS Vöcklabruck / J. Schmid.
Advertisements

Datenbankdesign mit ACCESS.
Datenbanken Beispiel: Musikverwaltungsdatenbank Daten: Musikstück
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Labor Datenbanken und Entscheidungssysteme
Datenbanken Einführung.
Relationaler Datenbankentwurf (II)
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Datenmodellierung Externe Phase Informationsstruktur
Objekt – Relationales – Modell Tomasz Makowski IN
Microsoft Access – Einführung – Allgemeine Technologien I
MS Office-Paket: Access
Ein Entity Relationship Diagramm zur ADB/NDB
Das Entity-Relationship-Modell
Franziska Schmidt Sarah Ahlheit
Colibi Bibliothekssystem der Computerlinguistik. Einführung Motivation Was braucht Colibi? Software Datenbankdesign.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
Themenschwerpunkte Übung 3:
Datenbankdesign und Normalisierung
Daten bank St. Wiedemann.
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Datenbanken Wenn du weiter willst, dann klicke
Access 2000 Datenbanken.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Buch S73ff (Informatik I, Oldenbourg-Verlag)
Datenbanken 2: Die relationale Datentabelle
© Katharina Brachmann Normalformen Oldenbourg S137, Klett S117
7.3 Hinweise für den Aufbau von ER-Schemata (1|7)
Relationale Datenbankmodelle
... und alles was dazugehört
Datenbanken IFB 2002 Klaus Becker.
Die Grundterminologie
Datenbanken?.
Einführung Access Einführung und Datenbankgrundbegriffe
Access 2000 Willkommen im Access-Kurs Oliver Mochmann.
Datenbanken Dantenbanksystem Data Base System Datenbasis (Daten)
Vorlesung #2 Datenbankentwurf
SS 2010 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #2 Datenbankentwurf.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Allgemeines zu Datenbanken
(D.h. „Hallo MausFans!“ auf Japanisch).
Freiwillige Feuerwehr der Stadt Perg
Ihr Trainer: Gerold Hämmerle
verstehen planen bearbeiten
Normalisierungsprozess
Datenverarbeitung MS-Access
MS Office Access 2007 UM für INI. Sie haben viele Daten? Entscheiden Sie sich für Access. Access verarbeitet Daten, und zwar alle Arten von Daten: Kundenkontakte,
Datenverarbeitung MS-Access
Einführung Dateisystem <-> Datenbanksystem
RelationentheorieObjektorientierte Datenbanken  AIFB SS C++-ODL (1/6) Erweiterung des deklarativen Teils einer C++-Klasse Datentypen d_String,
Datenbanken Eine Einführung.
(C) Hans Hutzler Microsoft Access Einführung (C) Hans Hutzler
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Datenbanken Maya Kindler 6c.
Datenbanken Einführung
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Entität Attribute Beziehung AUTOR CD M 1 N leihen erstellen N verfasst
Vom Konzept zur Datenbank
BHAK/BHAS 1 Salzburg KIDM 2ASBS Schuljahr 2004/05
Verknüpfung von Tabellen in MS-Access BHAK/BHAS 1 Salzburg WI II Schuljahr 2004/05.
CD BÜCHER FREUNDE INTERPRETAUTOR Entität Attribute Beziehung Preis TitelCd# Musikricht- ung von bis Handy PLZ Ort Straße Gdatum Vorname Nachname.
Was ist ein Datenbankprogramm?
15 Tabellen erstellen und Tabellenstruktur bearbeiten Grundlagen zu Tabellen l Tabelle l Enthält Daten zu einem bestimmten Thema l Beispiele:  Mitarbeiterdaten.
Veranstaltung: Datenbanken I Dozent: Ioannis Papakostas Belegarbeit 6 Online-Bestellung von Büchern Stefan Rüschenberg (Matrikel-Nr.: ) Sebastian.
SQL Basics Schulung –
Vorlesung #2 Datenbankentwurf
ER-Modell und Relationales Schema
Administrieren und Arbeiten mit Datenbanken und SQL
Informatik 9 – 2.Datenbanken – 2.5 Datenbankentwurf
 Präsentation transkript:

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 Hausnr Straße Vorname Name Vorwahl Nummer ER-Modell „Telefonbuch“

Datenbankentwurf Datenschutz 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 Datenbanken mit persönlichen Inhalten bei Behörden und öffentlichen Stellen Einwohnermeldeamt Polizei Sozialamt Finanzamt ... bei nicht öffentlichen Stellen für eigene Zwecke Bank Krankenkasse, Ärzte Telekommunikationsunternehmen, Provider Arbeitgeber, auch Schule? Maut bei nicht öffentlichen Stellen für fremde Zwecke Kundenkarte Gewinnspiele

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.

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 Laenge Interpret Titel CDnr Liedzahl Probleme: 1.Die einzelnen Lieder sind nicht aufgeführt! 2.Jede CD kann nur Lieder von einem Interpreten enthalten! Allgemeines zu ER-Diagrammen (entity-relationship) CD Objekt (entity) Interpret Attribut eines Objekts 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 Schlüsselattribut eines Objekts, muss für jedes Objekt unterschiedlich sein! CDnr leitet Beziehung (relation) zwischen 2 Objekten 1 Kardinalität der Beziehung (1:1, 1:n, n:1 oder n:m)

Die Information steht schon in der CD-Liste! Datenbankentwurf ER-Diagramm CD-Liste Versuch 2 Redundanz! Die Information steht schon in der CD-Liste! CD Laenge Interpret Titel CDnr Liedzahl Lied Laenge Interpret Titel Liednr enthält 1 n Probleme: 1.Jede CD kann nur Lieder von einem Interpreten enthalten! 2.Jedes Lied kann nur auf einer CD 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 Fremdschlüssel „CDnr“: Der Eintrag im Datenfeld CDnr der Tabelle Lied muss als Primärschlüssel in der Tabelle CD vorkommen!

Auf jeder CD können mehrere Interpreten sein! Datenbankentwurf ER-Diagramm CD-Liste Versuch 3 Auf jeder CD können mehrere Interpreten sein! CD Laenge Interpret Titel CDnr Liedzahl Lied Laenge Interpret Titel Liednr enthält 1 n m Jede m:n - Relation bekommt ihre eigene Zuordnungstabelle! Jedes Lied kann auf mehreren CDs 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 Cdnr Liednr 2 1 3 ... 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

Ich will mehr Information über den Interpreten! Datenbankentwurf ER-Diagramm CD-Liste Versuch 4 Plattenfirma Umsatz Name Adresse Pnr Interpret Alter Name Adresse Intnr enga-giert m n ver-treibt 1 n nimmt auf 1 n Ich will mehr Information über den Interpreten! Lied Laenge Interpret Titel Liednr CD Laenge Titel CDnr Liedzahl enthält m n Position Eine m:n - Relation kann auch Attribute besitzen!

Datenbankentwurf ER-Diagramm der Miniwelt Schule Lehrer fach2 fach1 name kuerzel Raum raumnr raumart sitze leitet 1 findet statt in n 1 hält 1 n ge-hört 1 Klasse klassenname schülerzahl gehört zu 1 n hat 1 n Schüler snr jahrgang wohnort name Unterricht fach stunde tag unr

Datenbankentwurf Beispiel aus Datenbanken.pps (Dr.Becker) Aufgabe: Worin besteht der Unterschied zwischen den beiden Modellen? LNr Leser Ausleihe Buch Name Autor Sig Datum ...

Datenbankentwurf Aufgabe zu ER-Diagrammen 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! Rückgabedatum Buch Benutzer leiht aus Standort Jahr Leihdatum BNummer Name Wohnort Titel Autor Alter n m

Datenbankentwurf Umsetzung eines ER-Diagramms in 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.

Datenbanksystem DB DBVS Sammlung von Daten Software zur Verwaltung der Daten Anwender Anwender Datenbanksystem 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).

Datenbanksysteme sind überall Beispiele: - Bibliothek - Bank - Reisebüro: Buchungssystem - Bahn: Auskunftssystem - Suchmaschine im Internet - ...

Das Modellierungsproblem Miniwelt DB-Modellwelt 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. ? Informationen über die Miniwelt Ziel: Repräsentation von Information

Repräsentation mit Tabellen Information: 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. Repräsentation:

Redundanz und Inkonsistenz Ausleihen 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.

Verknüpfte Tabellen Fremd-schlüssel Primärschlüssel Die Verknüpfung von Tabellen erfolgt mit Hilfe von Schlüsseln.

Verknüpfte Tabellen Leser Buch Ausleihe

Tabellenspezifikation Leser: Das logische Schema einer Tabelle wird durch eine endliche Menge von Attributspezifikationen (Attributname; Datentyp) festgelegt. TABELLE Leser LNr: Zahl Name: Zeichenkette Vorname: Zeichenkette GebJahr: Zahl Stammkurs: Zeichenkette

Datentypen / Datenstrukturen Ein 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)

Relation Eine 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.

Relationale Datenbank Eine 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üssel Primä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. Leser Ausleihe

Schlüssel Fremdschlü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. Ausleihe

Referentielle Integrität 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ösungsvorschlag 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. (...)