Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Historische Entwicklung relationaler DBMS. Grundlagen des relationalen Modells Seien D 1, D 2,..., D n Domänen (~Wertebereiche) Relation: R D 1 x... x.

Ähnliche Präsentationen


Präsentation zum Thema: "Historische Entwicklung relationaler DBMS. Grundlagen des relationalen Modells Seien D 1, D 2,..., D n Domänen (~Wertebereiche) Relation: R D 1 x... x."—  Präsentation transkript:

1 Historische Entwicklung relationaler DBMS

2 Grundlagen des relationalen Modells Seien D 1, D 2,..., D n Domänen (~Wertebereiche) Relation: R D 1 x... x D n Bsp.: Telefonbuch string x string x integer Tupel: t R Bsp.: t = (Mickey Mouse, Main Street, 4711) Schema: legt die Struktur der gespeicherten Daten fest Bsp.: Telefonbuch: {[Name: string, Adresse: string, Telefon#:integer]}

3 Telefonbuch NameStraßeTelefon# Mickey MouseMain Street4711 Minnie MouseBroadway94725 Donald DuckBroadway Ausprägung: der aktuelle Zustand der Datenbasis 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 Hat eine besondere Bedeutung bei der Referenzierung von Tupeln

4 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 in ER 1 N 1 1 N N N M M MN

5 Uni-Schema in UML

6 Uni-Schema in UML -- Schlüssel

7

8 Relationale Darstellung von Objekttypen 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]}

9 Relationale Darstellung von Assoziationen R:{[ ]} E1 A11 A12 … A1k1 B1 … Bn … E2 A21 A22 … A2k2 C1 … Cn … R

10 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]} Studenten Vorlesungen many-to-many, N:M MatrNr Name Semester VorlNr Titel SWS (1,*) hören (0,*) … …

11 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]} Professoren Vorlesungen one-to-many, 1:N PersNr Name Rang VorlNr Titel SWS (1,1) lesen (0,*) … …

12 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]}

13 Ausprägung der Beziehung hören Studenten MatrNr hören MatrNrVorlNr Vorlesungen VorlNr StudentenVorlesungen NM hören

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

15 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!

16 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 1 N lesen

17 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 1 N lesen

18 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

19 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

20 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

21 Die relationale Algebra Selektion Pojektion x Kreuzprodukt A Join (Verbund) Umbenennung Mengendifferenz Division Vereinigung Mengendurchschnitt F Semi-Join (linker) E Semi-Join (rechter) C linker äußerer Join D rechter äußerer Join

22 Die relationalen Algebra- Operatoren Semester > 10 (Studenten) MatrNrNameSemester 24002Xenokrates Jonas12 Semester > 10 (Studenten) Selektion Rang (Professoren) Rang C4 C3 Rang (Professoren) Projektion

23 Die relationalen Algebra- Operatoren Professorenhören PersNrNameRangRaumMatrNrVorlNr 2125SokratesC SokratesC KantC Kartesisches Produkt Professoren x hören Problem: riesige Zwischenergebnisse Beispiel: (Professoren x hören) "bessere" Operation: Join (siehe unten)

24 Die relationalen Algebra- Operatoren Umbenennung Umbenennung von Relationen Beispiel: Ermittlung indirekter Vorgänger 2. Stufe der Vorlesung 5216 V1. Vorgänger( V2. Nachfolger=5216 V1.Nachfolger = V2.Vorgänger ( V1 (voraussetzen) x V2 (voraussetzen))) Umbennung von Attributen Voraussetzung Vorgänger (voraussetzen)

25 Formale Definition der Algebra Basisausdrücke Relation der Datenbank oder konstante Relationen Operationen Selektion: p (E 1 ) Projektion: S (E 1 ) Kartesisches Produkt: E 1 x E 2 Umbenennung: V (E 1 ), A B (E 1 ) Vereinigung: E 1 E 2 Differenz: E 1 - E 2

26 Der natürliche Verbund (Join) Gegeben seien: R(A 1,..., A m, B 1,..., B k ) S(B 1,..., B k, C 1,..., C n ) R A S = A1,..., Am, R.B1,..., R.Bk, C1,..., Cn ( R.B1=S. B1... R.Bk = S.Bk (RxS)) R A S R S S R A1A1 A2A2...AmAm B1B1 B2B2 BkBk C1C1 C2C2 CnCn

27 Drei-Wege-Join (Studenten A hören) A Vorlesungen MatrNrNameSemesterVorlNrTitelSWSgelesenVon 26120Fichte105001Grundzüge Jonas125022Glaube und Wissen Carnap34052Wissenschftstheorie

28 Allgemeiner Join (Theta-Join) Gegeben seien folgende Relationen(-Schemata) R(A1,..., An) und S(B1,..., Bm) R A S RS A1A1 A2A2... AnAn B1B1 B2B2 BmBm R A S R A S = (R x S)

29 Andere Join-Arten natürlicher Join L ABC a1a1 b1b1 c1c1 a2a2 b2b2 c2c2 R CDE c1c1 d1d1 e1e1 c3c3 d2d2 e2e2 A = Resultat ABCDE a1a1 b1b1 c1c1 d1d1 e1e1 L ABC a1a1 b1b1 c1c1 a2a2 b2b2 c2c2 C = linker äußerer Join R CDE c1c1 d1d1 e1e1 c3c3 d2d2 e2e2 Resultat ABCDE a1a1 b1b1 c1c1 d1d1 e1e1 a2a2 b2b2 c2c2 --

30 L ABC a1a1 b1b1 c1c1 a2a2 b2b2 c2c2 D = rechter äußerer Join R CDE c1c1 d1d1 e1e1 c3c3 d2d2 e2e2 Resultat ABCDE a1a1 b1b1 c1c1 d1d1 e1e1 -- c3c3 d2d2 e2e2

31 Andere Join-Arten L ABC a1a1 b1b1 c1c1 a2a2 b2b2 c2c2 B = äußerer Join L ABC a1a1 b1b1 c1c1 a2a2 b2b2 c2c2 R CDE c1c1 d1d1 e1e1 c3c3 d2d2 e2e2 E = Semi-Join von L mit R R CDE c1c1 d1d1 e1e1 c3c3 d2d2 e2e2 Resultat ABCDE a1a1 b1b1 c1c1 d1d1 e1e1 a2a2 b2b2 c2c c3c3 d2d2 e2e2 ABC a1a1 b1b1 c1c1

32 Andere Join-Arten (Forts.) L ABC a1a1 b1b1 c1c1 a2a2 b2b2 c2c2 R CDE c1c1 d1d1 e1e1 c3c3 d2d2 e2e2 Resultat CDE c1c1 d1d1 e1e1 F = Semi-Join von R mit L

33 Andere Join-Arten (Forts.) L ABC a1a1 b1b1 c1c1 a2a2 b2b2 c2c2 R CDE c1c1 d1d1 e1e1 c3c3 d2d2 e2e2 Resultat ABC a2a2 b2b2 c2c2 = Anti-Semi-Join von L mit R


Herunterladen ppt "Historische Entwicklung relationaler DBMS. Grundlagen des relationalen Modells Seien D 1, D 2,..., D n Domänen (~Wertebereiche) Relation: R D 1 x... x."

Ähnliche Präsentationen


Google-Anzeigen