Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Relationale Datenbanken I Datenbankdesign mit dem Entity-Relashionship-Modell.

Ähnliche Präsentationen


Präsentation zum Thema: "Relationale Datenbanken I Datenbankdesign mit dem Entity-Relashionship-Modell."—  Präsentation transkript:

1 Relationale Datenbanken I Datenbankdesign mit dem Entity-Relashionship-Modell

2

3 Was sind relationale Datenbanken? Relationale Datenbanken sind der am weitesten verbreitete Typ von Datenbanken. Relationale Datenbanken speichern Daten in Tabellen. Bei der Suche nach bestimmten Informationen können die Inhalte verschiedener Tabellen miteinander verknüpft werden. Tabellen, die nicht verknüpft werden können, bilden keine Datenbank

4 Beispiel Welche Fächer besucht eine bestimmte Schülerin? Mit unverknüpfbaren Tabellen (z.B. Excel) liesse sich das nicht (oder nur von Hand) herausfinden.

5 Wo benutzt man Datenbanken? Behörden (Steuer, Einwohner, Verkehr, Polizei, Schulen, Sozialämter, Spitäler, Justiz usw.) Unternehmen (Kundenverwaltung, Lagerverwaltung, Rechnungswesen, Lieferantenverwaltung, Angestelltenverwaltung usw.) Detailhandel (Kaufverhalten) Vereine (Mitglieder, Anlässe, Rechnungen) Archive, Bibliotheken, Museen Wissenschaft (Geographie, Biologie (insb. Genetik), Medizin, Geschichte, Literatur usw.) Internet (Suchmaschinen, soziale Netzwerke usw. an vielen weiteren Orten

6 Aufbau einer Tabelle Einzelne Einträge werden Tupel genannt Bsp.: (Mickey Mouse, Main Street, 4711) Schema: legt die Struktur der gespeicherten Daten fest Bsp.: Telefonbuch: {[Name:String, Adresse:String, Telefonnummer:Integer]} (String = Zeichenkette, Integer = Ganzzahl) Telefonbuch NameStraßeTelefon# Mickey MouseMain Street4711 Mini MouseBroadway94725 Donald DuckBroadway

7 Telefonbuch NameStraßeTelefon# Mickey MouseMain Street4711 Mini MouseBroadway94725 Donald DuckBroadway Schlüssel: minimale Menge von Attributen, deren Werte ein Tupel eindeutig identifizieren Primärschlüssel: wird unterstrichen Einer der Schlüsselkandidaten wird als Primärschlüssel ausgewählt Wird für die Referenzierung von Tupeln (also Verweise auf Tabellenzeilen) verwendet Ausprägung: der aktuelle Inhalt einer Tabelle

8 Objektbeschreibung: Beispiel Universität Uni-Angestellte -Anzahl: Attribute PersonalNummer Typ: Integer Länge: 8 Wertebereich: '999'999 Anzahl Wiederholungen: 0 Identifizierend: ja Gehalt Typ: Dezimalzahl Länge: (8,2) Anzahl Wiederholung: 0 Identifizierend: nein Rang Typ: String Länge: 4 Anzahl Wiederholung: 0 Identifizierend: nein

9 Beziehungsbeschreibung: prüfen Beteiligte Objekte: -Professor als Prüfer -Student als Prüfling -Vorlesung als Prüfungsstoff Attribute (Eigenschaften) der Beziehung: -Datum -Uhrzeit -Note Anzahl: pro Jahr

10 Prozessbeschreibungen Prozessbeschreibung: Zeugnisausstellung -Häufigkeit: halbjährlich -benötigte Daten Prüfungsnoten Fächer Studenten... -Priorität: hoch -Zu verarbeitende Datenmenge 500 Studenten 3000 Prüfungen 10 Studienordnungen

11 Entity/Relationship-Modellierung Entity (Gegenstandstyp) Relationship (Beziehungstyp) Attribut (Eigenschaft) Schlüssel (Identifikation) Rolle

12 Entity/Relationship-Modellierung Entity (Gegenstandstyp) Relationship (Beziehungstyp) Attribut (Eigenschaft) Schlüssel (Identifikation) Rolle Studenten hören MatrNr Name Hörer

13 Entity/Relationship-Modellierung Entity (Gegenstandstyp) Relationship (Beziehungstyp) Attribut (Eigenschaft) Schlüssel (Identifikation) Rolle Studenten Vorlesungen hören VorlNrTitelSWS MatrNrNameSemester Hörer Lehrveranstaltung

14 Studenten Assistenten MatrNr PersNr Semester Name Fachgebiet Note hören prüfen arbeitenFür Professoren Vorlesungen lesen voraussetzen SWS VorlNr Titel Raum Rang PersNr Nach- folger Vorgänger Name Uni-Schema

15 Universitätsschema in deutsch Studenten haben eine MatrNr, Name und Semester. Die MatrNr identifiziert einen Studenten eindeutig. Vorlesungen haben eine VorlNr, SWS und Titel. Die VorlNr identifiziert eine Vorlesung eindeutig. Professoren haben eine PersNr, Name, Rang und Raum. Die PersNr identifiziert einen Professor eindeutig. Assistenten haben eine PersNr, Name und Fachgebiet. Die PersNr identifizier einen Assistenten eindeutig. Studenten hören Vorlesungen. Vorlesungen setzen andere Vorlesungen voraus. Professoren lesen Vorlesungen. Assistenten arbeiten für Professoren. Studenten werden von Professoren über Vorlesungen geprüft. Sie erhalten hierbei eine Note.

16 Eigenschaften von ER Anforderungen ER Diagramme sind einfach zu erstellen ER Diagramme sind einfach zu ändern ER Diagramme sind intuitiv verständlich (auch vom Laien!) ER Diagramme drücken das Wesentliche aus Technische Anforderung Einfachheit Unterstützung durch Tools (z.B. Visio) Graphisch Informationstheoretische Mächtigkeit

17 Relationale Darstellung von Entitytypen Studenten:{[MatrNr:integer, Name: string, Semester: integer]} Vorlesungen: {[VorlNr:integer, Titel: string, SWS: integer]} Professoren: {[PersNr:integer, Name: string, Rang: string, Raum: integer]} Assistenten: {[PersNr:integer, Name: string, Fachgebiet: string]}

18 Relationale Darstellung von Beziehungen A 11 E1E1 R... AR1AR1 EnEn E2E2 An1An1 A R:{[]}

19 Beziehungen unseres Beispiel- Schemas hören : {[MatrNr: integer, VorlNr: integer]} lesen : {[PersNr: integer, VorlNr: integer]} arbeitenFür : {[AssistentenPersNr: integer, ProfPersNr: integer]} voraussetzen : {[Vorgänger: integer, Nachfolger: integer]} prüfen : {[MatrNr: integer, VorlNr: integer, PersNr: integer, Note: decimal]}

20 Schlüssel der Relationen hören : {[MatrNr: integer, VorlNr: integer]} lesen : {[PersNr: integer, VorlNr: integer]} arbeitenFür : {[AssistentenPersNr: integer, ProfPersNr: integer]} voraussetzen : {[Vorgänger: integer, Nachfolger: integer]} prüfen : {[MatrNr: integer, VorlNr: integer, PersNr: integer, Note: decimal]}

21 Ausprägung der Beziehung hören Studenten MatrNr hören MatrNrVorlNr Vorlesungen VorlNr Studenten hören Vorlesungen M N MatrNr VorlNr

22 Verfeinerung des relationalen Schemas 1:N-Beziehung Initial-Entwurf Vorlesungen : {[VorlNr, Titel, SWS]} Professoren : {[PersNr, Name, Rang, Raum]} lesen: {[VorlNr, PersNr]} Professoren Vorlesungen lesen 1 1 N

23 Verfeinerung des relationalen Schemas 1:N-Beziehung Initial-Entwurf Vorlesungen : {[VorlNr, Titel, SWS]} Professoren : {[PersNr, Name, Rang, Raum]} lesen: {[VorlNr, PersNr]} Verfeinerung durch Zusammenfassung Vorlesungen : {[VorlNr, Titel, SWS, gelesenVon]} Professoren : {[PersNr, Name, Rang, Raum]} Regel Relationen mit gleichem Schlüssel kann man zusammenfassen aber nur diese und keine anderen!

24 Ausprägung von Professoren und Vorlesung Professoren PersNrNameRangRaum 2125SokratesC RusselC KopernikusC PopperC AugustinusC CurieC KantC47 Vorlesungen VorlNrTitelSWSGelesen Von 5001Grundzüge Ethik Erkenntnistheorie Mäeutik Logik Wissenschaftstheorie Bioethik Der Wiener Kreis Glaube und Wissen Die 3 Kritiken42137 Professoren Vorlesungen lesen 1 N

25 Vorsicht: So geht es NICHT Professoren PersNrNameRangRaumliest 2125SokratesC SokratesC SokratesC AugustinusC CurieC436?? Vorlesungen VorlNrTitelSWS 5001Grundzüge4 5041Ethik4 5043Erkenntnistheorie3 5049Mäeutik2 4052Logik4 5052Wissenschaftstheorie3 5216Bioethik2 5259Der Wiener Kreis2 5022Glaube und Wissen2 4630Die 3 Kritiken4 Professoren Vorlesungen lesen 1 N

26 Vorsicht: So geht es NICHT: Folgen Anomalien Update-Anomalie: Was passiert wenn Sokrates umzieht Lösch-Anomalie: Was passiert wenn Glaube und Wissen wegfällt Einfügeanomalie: Curie ist neu und liest noch keine Vorlesungen Professoren PersNrNameRangRaumliest 2125SokratesC SokratesC SokratesC AugustinusC CurieC436?? Vorlesungen VorlNrTitelSWS 5001Grundzüge4 5041Ethik4 5043Erkenntnistheorie3 5049Mäeutik2 4052Logik4 5052Wissenschaftstheorie3 5216Bioethik2 5259Der Wiener Kreis2 5022Glaube und Wissen2 4630Die 3 Kritiken4

27 Relationstypen E1E1 E2E2 R... R E 1 x E 2 1:N N:MN:M E1E1 E 2 1:1 N:1

28 Mehrfach-Relationen: Beispiel: betreuen Studenten betreuen Note Seminarthemen Professoren 1 1 N

29 Ausprägung der Beziehung betreuen Professoren Seminarthemen p1p1 p2p2 p3p3 p4p4 t1t1 t2t2 t3t3 t4t4 s1s1 s2s2 s3s3 s4s4 b1b1 b2b2 b3b3 b4b4 b5b5 b6b6 Studenten Gestrichelte Linien markieren illegale Ausprägungen

30 Dadurch erzwungene Konsistenzbedingungen 1.Studenten dürfen bei demselben Professor bzw. derselben Professorin nur ein Seminarthema "ableisten" (damit ein breites Spektrum abgedeckt wird). 2.Studenten dürfen dasselbe Seminarthema nur einmal bearbeiten – sie dürfen also nicht bei anderen Professoren ein schon einmal erteiltes Seminarthema nochmals bearbeiten. Es sind aber folgende Datenbankzustände nach wie vor möglich: Professoren können dasselbe Seminarthema wiederverwenden – also dasselbe Thema auch mehreren Studenten erteilen. Ein Thema kann von mehreren Professoren vergeben werden – aber an unterschiedliche Studenten.

31 Studenten Assistenten MatrNr PersNr Semester Name Fachgebiet Note hören prüfen arbeitenFür Professoren Vorlesungen lesen voraussetzen SWS VorlNr Titel Raum Rang PersNr Nach- folger Vorgänger Name 1 N 1 1 N N N M M MN

32 Die relationale Uni-DB Professoren PersNrNameRangRaum 2125SokratesC RusselC KopernikusC PopperC AugustinusC CurieC KantC47 Studenten MatrNrNameSemester 24002Xenokrates Jonas Fichte Aristoxenos Schopenhauer Carnap Theophrastos Feuerbach2 Vorlesungen VorlNrTitelSWSgelesen von 5001Grundzüge Ethik Erkenntnistheorie Mäeutik Logik Wissenschaftstheorie Bioethik Der Wiener Kreis Glaube und Wissen Die 3 Kritiken42137 voraussetzen VorgängerNachfolger hören MatrNrVorlNr Assistenten PerslNrNameFachgebietBoss 3002PlatonIdeenlehre AristotelesSyllogistik WittgensteinSprachtheorie RhetikusPlanetenbewegung NewtonKeplersche Gesetze SpinozaGott und Natur2126 prüfen MatrNrVorlNrPersNrNote

33 Relationale Modellierung der Generalisierung Fachgebiet Assistenten Professoren RaumRang is_a Angestellte PersNrName Angestellte: {[PersNr, Name]} Professoren: {[PersNr, Rang, Raum]} Assistenten: {[PersNr, Fachgebiet]}

34 Studenten MatrNr Semester Name hören Vorlesungen voraussetzen SWS VorlNr Titel Nach- folger Vorgänger Note prüfen lesen Name Fachgebiet Assistenten arbeitenFür Professoren Raum Rang is-a Angestellte PersNr NM N M N M N N 1 1 1


Herunterladen ppt "Relationale Datenbanken I Datenbankdesign mit dem Entity-Relashionship-Modell."

Ähnliche Präsentationen


Google-Anzeigen