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 DuckBroadway95672... 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... 26120... 27550... hören MatrNrVorlNr 261205001 275505001 275504052 281065041 281065052 281065216 281065259 291205001 291205041 291205049 295555022 254035022 295555001 Vorlesungen VorlNr... 5001... 4052... 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 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 1 N lesen

17 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 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 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

19 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

20 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

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 24002Xenokrates18 25403Jonas12 Semester > 10 (Studenten) Selektion Rang (Professoren) Rang C4 C3 Rang (Professoren) Projektion

23 Die relationalen Algebra- Operatoren Professorenhören PersNrNameRangRaumMatrNrVorlNr 2125SokratesC4226261205001... 2125SokratesC4226295555001... 2137KantC47295555001 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üge42137 27550Jonas125022Glaube und Wissen22134 28106Carnap34052Wissenschftstheorie32126...

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 c2c2 -- -- 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