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 DuckBroadway95672...

7 Telefonbuch NameStraßeTelefon# Mickey MouseMain Street4711 Mini MouseBroadway94725 Donald DuckBroadway95672... 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: 1000 -Attribute PersonalNummer Typ: Integer Länge: 8 Wertebereich: 0...99'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: 100 000 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 21... 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... 26120... 27550... hören MatrNrVorlNr 261205001 275505001 275504052 281065041 281065052 281065216 281065259 291205001 291205041 291205049 295555022 254035022 295555001 Vorlesungen VorlNr... 5001... 4052... 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 2125SokratesC4226 2126RusselC4232 2127KopernikusC3310 2133PopperC352 2134AugustinusC3309 2136CurieC436 2137KantC47 Vorlesungen VorlNrTitelSWSGelesen Von 5001Grundzüge42137 5041Ethik42125 5043Erkenntnistheorie32126 5049Mäeutik22125 4052Logik42125 5052Wissenschaftstheorie32126 5216Bioethik22126 5259Der Wiener Kreis22133 5022Glaube und Wissen22134 4630Die 3 Kritiken42137 Professoren Vorlesungen lesen 1 N

25 Vorsicht: So geht es NICHT Professoren PersNrNameRangRaumliest 2125SokratesC42265041 2125SokratesC42265049 2125SokratesC42264052... 2134AugustinusC33095022 2136CurieC436?? 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 2125SokratesC42265041 2125SokratesC42265049 2125SokratesC42264052... 2134AugustinusC33095022 2136CurieC436?? 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 2125SokratesC4226 2126RusselC4232 2127KopernikusC3310 2133PopperC352 2134AugustinusC3309 2136CurieC436 2137KantC47 Studenten MatrNrNameSemester 24002Xenokrates18 25403Jonas12 26120Fichte10 26830Aristoxenos8 27550Schopenhauer6 28106Carnap3 29120Theophrastos2 29555Feuerbach2 Vorlesungen VorlNrTitelSWSgelesen von 5001Grundzüge42137 5041Ethik42125 5043Erkenntnistheorie32126 5049Mäeutik22125 4052Logik42125 5052Wissenschaftstheorie32126 5216Bioethik22126 5259Der Wiener Kreis22133 5022Glaube und Wissen22134 4630Die 3 Kritiken42137 voraussetzen VorgängerNachfolger 50015041 50015043 50015049 50415216 50435052 50415052 5259 hören MatrNrVorlNr 261205001 275505001 275504052 281065041 281065052 281065216 281065259 291205001 291205041 291205049 295555022 254035022 Assistenten PerslNrNameFachgebietBoss 3002PlatonIdeenlehre2125 3003AristotelesSyllogistik2125 3004WittgensteinSprachtheorie2126 3005RhetikusPlanetenbewegung2127 3006NewtonKeplersche Gesetze2127 3007SpinozaGott und Natur2126 prüfen MatrNrVorlNrPersNrNote 28106500121261 25403504121252 27550463021372

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