Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Thema Bedeutung des relationalen Datenbankmodells von Edgar Frank Codd und die Entwicklung.

Ähnliche Präsentationen


Präsentation zum Thema: "B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Thema Bedeutung des relationalen Datenbankmodells von Edgar Frank Codd und die Entwicklung."—  Präsentation transkript:

1 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Thema Bedeutung des relationalen Datenbankmodells von Edgar Frank Codd und die Entwicklung der B-Bäume von Rudolf Bayer für die Informatik Matthias Reusche

2 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Gliederung 1.Einleitung 2. B-Bäume 3. relationales Datenbankmodell 4. Zusammenfassung 2

3 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd 1. Einleitung - Datenbanken sind heutzutage überall anzutreffen Wirtschaft, Forschung und Privathaushalt - den größten Marktanteil haben relationale Datenbanken - in allen Datenbanksystemen werden B-Bäume als Indexstruktur verwendet 3

4 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd - Geboren am 7.Mai Studierte Mathematik in München Titel Ph.D. University of Illinois Ordinarius für Informatik an der TU München - Bundesverdienstkreuz 1. Klasse - SIGMOD Innovations Award 2001 Prof. Dr. Rudolf Bayer 4 1. Einleitung

5 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd - Berater: IBM, Siemens, Amdahl, DEC, Deutsche Telekom - Gastprofessor: IBM, Palo Alto Research Center, Universitäten in Japan, Australien, USA, Singapur - B-Bäume 1969, B*-Bäume, UB-Bäume 90er - Datenbankprotokoll Mehrbenutzertransaktionen Organisation und Wartung von großen Indexordnungen - Deutschen Datenschutz - Synchronisation, Parallelisieren und Wiederherstellung von Datenbanken - Expertensysteme - OODBS 5 1. Einleitung Prof. Dr. Rudolf Bayer (2)

6 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd - geboren am 23. August 1923 in Portland - studierte Mathematik in Oxford Wissenschaftlicher Mitarbeiter bei IBM - starb am 18. April 2003 in Williams Island - relationales Datenbankmodell ALPHA, Rendezvous Normalisierungstheorie - Turing-Award 1981 Dr. Edgar Frank Codd 6 1. Einleitung

7 - neue Märkte für Informatik: Raumfahrt, Industrie und Wirtschaft - 60er erste Direktspeicher - Speicherkapazität begrenzt und teuer - Pseudo-Random-Access-Speicher (Platten, Trommeln) - Überwindung der Zugriffszeit auf eine Seite - Entartungsmöglichkeit anderer Baumarten  Methode mit wenig Seitenzugriffen B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd 2. B-Bäume Beweggründe 7

8 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd B-Baum der Klasse τ( k, h) ist entweder ein leerer Baum oder ein geordneter Baum mit folgenden Eigenschaften: - vollkommen ausbalanciert - Knoten hat zwischen k und 2k Einträge (außer Wurzel 1…2k) - Einträge sind geordnet - ein Eintrag besteht aus einem Schlüssel und einem Datum - innere Knoten mit n Einträgen haben n+1 Kindknoten - Kindknoten werden über geordnete Verweise gehalten - Kindknoten enthalten alle >,< Schlüssel Definition 8 2. B-Bäume

9 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Für folgende Operationen: Suchen, Einfügen und Löschen - der Klasse τ( 2, 2) Beispielbaum - natürliche Zahlen 0, 2, 3, 5, 6, 9, 10, 11, 13, 14, 20, 25, 26, 27 Wurzel Blätter 9 2. B-Bäume

10 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Erfolgreiches Suchen nach S(13): Suchen in B-Bäumen  Nicht jeder Knoten muss vollständig durchgegangen werden B-Bäume

11 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Erfolgloses Suchen nach S(15): Suchen in B-Bäumen (2) Suchkosten:F min = 1,F max = h, h-1/k ≤ F avg ≤ h-1/2k B-Bäume

12 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd - Zuerst „Zielknoten“ suchen  Unterscheidung in 2 Fälle: mit und ohne Splitten Einfügen in B-Bäumen - Einfügen S(7) ohne Splitten da noch Plätze im Zielknoten vorhanden B-Bäume

13 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd - Einfügen von S(23) mit Splitten damit Baumeigenschaft erfüllt bleibt Einfügen in B-Bäumen (2) - Knoten wird gesplittet und Meridian S(14) an Vaterknoten gegeben B-Bäume

14 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd - Splitten kann iterativ bis zur Wurzel fortgesetzt werden Einfügen in B-Bäumen (3) Einfügekosten: F min = h und W min = 1,F avg = h und W avg < 1+2/k B-Bäume

15 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd - Einfügen von S(8), wodurch Baum wächst, da Splitten bis zur Wurzel nötig Einfügen in B-Bäumen (4) - Zweiter Knoten und Wurzel wurden gesplittet - Baum wächst an der Wurzel  Klasse τ( 2, 3) B-Bäume

16 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd - Unterscheidung ob Element in einem inneren Knoten oder in einem Blatt ist - Folge des Löschens kann unterbesetzter Knoten sein - Ausgleich mit Nachbarknoten oder Verschmelzung mit Nachbarknoten - Verschmelzung kann iterativ bis zu Wurzel nötig werden Löschen in B-Bäumen nach erster Verschmelzung, löschen S(11) B-Bäume

17 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd - Verschmelzung auf der 2. Stufe wurde nötig  neue Wurzel  Klasse τ( 2, 2) Löschen in B-Bäumen (2) nach zweiter Verschmelzung - löschen eines inneren Knotens, erfordert Beibehaltung der Verweise zu den Kindknoten - deshalb muss Element als Ersatz für gelöschtes Element aus dem Kindknoten einspringen - löschen vom inneren Knoten S(10) B-Bäume

18 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd - S(13) ist aus Kindknoten aufgerückt Löschen in B-Bäumen (3) - andere Möglichkeit mindestens k Elemente zu halten ist der Ausgleich - löschen von S(26)  Unterlauf in V B-Bäume

19 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd - S(23) aus Nachbarknoten wurde zum Ausgleich verwendet Löschen in B-Bäumen (4) Löschkosten: bester Fall F min = h und W min = 1, obere Schranke F avg ≤ F 1 + F 2 + F 3 < h+1+1/k W avg ≤ W 1 + W 2 + W 3 < 2+2+1/k = 4+1/k wobei F 1, F 2, F 3 und W 1, W 2, W 3 jeweils die Kostenanteile für Löschen, Ausgleich und Verschmelzen sind B-Bäume

20 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd - Knotenanzahl n nach Formel: n min = 1+2 [(k+1) 0 +(k+1) (k+1) h-2 ] = 1+ 2/k[(k+1) h-1 -1] - Höhe h entspricht der Gleichung: für n = 0  h=0 für n ≥ 1  log 2k+1 (n+1) ≤ h ≤ log k+1 [(n+1)/2]+1 - gute Skalierbarkeit - gute Abschätzung der Operationskosten - Selbstbalancierend bei jeder Operation - zur Balancierung nur Lokale Betrachtung nötig - Balancierung: unabhängig von Schlüsselmenge oder Einfügereihenfolge - Suchkosten hängen überwiegend von Höhe (!!) des Baumes und nicht von Knotenanzahl ab (k>400 : O(log k n) ) Eigenschaften von B-Bäumen B-Bäume

21 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd - Speicherausnutzung im „Worst Case“ 50%  Realität: 83% - Wachstumseigenschaft von der Wurzel her - Herbst 69 erforscht, aber erst bei E.Knuth 1972 publiziert Mentale Hürden des B-Baumes B*-Baum (hohler Baum) - τ( k n, k m, h) - Speicherung der Daten nur noch in Blättern - innere Knoten besitzen nur noch Schlüssel und Verweise - Blätter besitzen Verweise zum Vorgänger und Nachfolgerblatt B-Bäume

22 - auf B* aufbauender Baum - es wird kein vollständiger Schlüssel in den inneren Knoten gespeichert, sondern nur noch Anfang des Schlüssels - Schlüssel in inneren Knoten müssen nicht real sein, sind besser ausbalanciert B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd B*-Präfix Bäume UB-Bäume - für Multidimensional Indexe (jedes DBS) - Partitionierung mehrdimensionaler Räume durch Raumfüllende Kurve - man erhält lineare Ordnung, welche man in klassischen B-Bäumen ablegt - durch Tupel-Clusterung und Seiten-Clusterung ist Antwortzeit direkt proportional zur Größe der Antwort Beispiel: 2D B-Bäume

23 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Gliederung 1.Einleitung 2. B-Bäume 3. relationales Datenbankmodell 4. Zusammenfassung 23

24 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd 3. relationales Datenbankmodell - basierte auf mathematischen Grundlagen der relationalen Algebra - Mengen: S 1, S 2,..., S n - Relation R sind alle geordneten Mengen r mit Elementen aus S 1 ×S 2 ×...×S n - Informationen lassen sich in unterscheidbare Mengen gruppieren und dann als Tupel verwalten (Domain / Entitäten) - Mengen haben Relationen zueinander, welche die Informationen enthalten - Ordnung der Zeilen ist beliebig - Sätze sind verschieden voneinander - Ordnung der Spalten ist wichtig Relation 24

25 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Relation (2) - 80-stellige Relationen nichts ungewöhnliches - Codd fügt dem Domain-Name einen Rollenname hinzu (Bedeutung) - Relation selber besitzt eindeutigen Bezeichner - kein zusammengesetztes Datum im Feld (Atomar) Weitere Konzepte für die Implementierung - Primärschlüssel: eindeutige Identifikation des Satzes (aus 1..n Spalten) - Fremdschlüssel: einbinden von Informationen aus anderer Relation - referentielle Integrität: Beachtung der Datenabhängigkeit relationales Datenbankmodell

26 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Schlüssel Slave Master Satz 2: „Es ist möglich von Dresden nach Leipzig zu fliegen.“ relationales Datenbankmodell

27 - Permutation, beliebiges vertauschen der Spalten  n! neue Relationen O (a,b,c)  P 1 (a,b,c), P 2 (a,c,b), P 3 (b,a,c), P 4 (b,c,a), P 5 (c,a,b), P 6 (c,b,a) - Projektion (Abbildung), Auswahl einer oder mehrerer Spalten B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Operationen Äquivalenter SQL-Code: SELECT Start_Stadt FROM Verbindungen; relationales Datenbankmodell

28 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Operationen (2) - Join (Verbindung) - zwei Relationen R,S haben gemeinsame Domain J = R*S = {(a,b,c):R(a,b)^S(b,c)} J = R*S*T = {(a,b,c,d):R(a,b)^S(b,c)^T(c,d)} - natürliche Join: alle Verbindungen, auch doppelte Äquivalenter SQL-Code: SELECT R.Start_Stadt, S.Ziel_Stadt FROM Verbindungen R, Verbindungen S WHERE R.Ziel_Stadt = S.Start_Stadt; relationales Datenbankmodell

29 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Operationen (3) Beispiel natürlicher Join relationales Datenbankmodell

30 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Operationen (4) - Tie – Operation - verbinden von erster und letzter Spalte, eine Art Hülle bilden (R*) γ(R) = {(a 1,a 2,...,a n-1 ):R( a 1,a 2,...,a n-1,a n ) ^ a 1 =a n } - Konstrukt aus dem CODASYL Modell - Komposition - zwei Relationen R,S, dann gibt es K wenn R,S einen Join J haben, so dass K = Projektion(J) - mehrere Joins, aber nur eine Komposition - „Es kann mehrere gleiche Verbindungen geben, aber nur eine Bedeutung“ relationales Datenbankmodell

31 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Operationen (5) Beispiel, Komposition von dem Join Äquivalenter SQL-Code: SELECT DISTINCT R.Start_Stadt, S.Ziel_Stadt FROM Verbindungen R, Verbindungen S WHERE R.Ziel_Stadt = S.Start_Stadt; relationales Datenbankmodell

32 - Restriktion (Selektion) - Auswahl von Sätzen aus einer Relation, welche bestimmtes Prädikat erfüllen Äquivalenter SQL-Code: SELECT * FROM Verbindungen WHERE Start_Stadt = 'Leipzig'; B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Operationen (6) relationales Datenbankmodell Andere Operationen - Vereinigung Äquivalenter SQL-Code: SELECT R.Start_Stadt FROM Verbindungen UNION SELECT Stadt FROM Staedte;

33 - Differenz Äquivalenter SQL-Code: SELECT S.Stadt FROM Staedte S UNION MINUS SELECT Start_Stadt FROM Verbindungen; - Durchschnitt Äquivalenter SQL-Code: SELECT S.Stadt FROM Verbindungen V, Staedte S WHERE V.Start_Stadt = S.Stadt; B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Andere Operationen (2) relationales Datenbankmodell

34 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Redundanzen - jeder Fremdschlüssel ist eine Redundanz des Primärschlüssels - mehrmalige Speicherung der selben Information - Vorteil: Anfragen können leichter werden - Nachteil: Möglichkeit der Entstehung von Inkonsistenzen relationales Datenbankmodell

35 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Inkonsistenz Name zu Personalnummer 6 ist nicht mehr eindeutig relationales Datenbankmodell

36 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Codds (strenge) Regeln Publikation 1986, Anforderungen an ein relationales Datenbank Management System (RDBMS) 0. Ein RDBMS muss die Datenbanken vollständig über seine relationalen Fähigkeiten verwalten. 1. Alle Informationen sind explizit als Werte in Tabellen darzustellen. 2. Zugriff auf jeden Wert durch Kombination von Tabellenname, Primärschlüssel und Spaltenname möglich. 3. Systematische Behandlung von Nullwerten 4. Struktur einer Datenbank ebenfalls in Tabellenform  Zugriff darauf mit Abfragesprache 5. Abfragesprache mit Befehlssatz für Datendefinition, Manipulation, Integritätsregeln, Autorisierung und Transaktionen relationales Datenbankmodell

37 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Codds (strenge) Regeln (2) 6. Aktualisieren von Sichten, auch durch das System möglich. 7. Abfragen und bearbeiten ganzer Tabellen (einfügen, aktualisieren, löschen) 8. Physikalische Datentunabhängigkeit, Zugriff unabhängig von den physikalischen Zugriffsmethoden oder den Speicherstrukturen der Daten  beliebige Änderung der physikalischen Datenbankstruktur 9. Logische Datentunabhängigkeit, einerseits existieren die logischen Strukturen der Datenbank, andererseits sieht jeder Benutzer nur den für ihn relevanten Ausschnitt der gesamten logischen Struktur. (Benutzerrollen / Views) 10. Unabhängigkeit der Integrität, Definition von Integritätsregeln in Datenbanksprache, Speicherung im Systemkatalog, keine Umgehung möglich. 11. Verteilungsunabhängigkeit, logische Zugriff ändert sich bei Verteilung nicht. 12. Kein Unterlaufen der Abfragesprache (Low-Level-Sprachen) relationales Datenbankmodell

38 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Einschätzung - rein theoretischer Ansatz - dynamische Erweiterung der Informationswelt möglich - Teilsichten sind möglich (Modularisierung) - Komplexe Sachverhalte können dank algebraischer Gesetze optimiert werden - Änderung der Datenstruktur möglich, weil Zusammenhang der Informationen auf Logikebene relationales Datenbankmodell

39 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Gliederung 1.Einleitung 2. B-Bäume 3. relationales Datenbankmodell 4. Zusammenfassung 39

40 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd 4. Zusammenfassung - B-Bäume  relationales Datenbankmodell -1976/77 der Prototyp R (IBM) - erste kommerzielle DB, Oracle 1979 (Relational Software Inc.) - heute : DB2 (IBM), Ingres, Informix (IBM), Sysbase, SQL-Sever (MS) - geschätzter Marktwert des Datenbanksektor 30 Milliarden $ - sowie aufbauende Produkte: SAP… Zusammenfassung 40

41 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd 4. Zusammenfassung Gründe für den Erfolg - einfach formalisiertes Modell (Codd) - einfache Benutzerschnittstelle SQL ( Chamberlin und Reisner ) - Algebra als Basis für Codeoptimierung (Codd) - Abbildung der Information auf Relationen und diese auf auf B-Bäume - Möglichkeit der Mehrbenutzertransaktionen (Gray) - Robustheit durch Selbstbalancierung und Selbstorganisation der B-Bäume (Bayer) - gute Skalierbarkeit durch die log-Operationskosten der B-Bäume (Bayer) Zusammenfassung (2) 41

42 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Quellen Springer, Software Pioneers - Contributions of Software Engeenering, Manfred Broy & Ernst Denert Technische Universität München IBM Wikipedia, Die freie Enzyklopädie software design & managment HTML-Version „SQL in 21 Tagen“ 42

43 B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Ende Danke 43


Herunterladen ppt "B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Thema Bedeutung des relationalen Datenbankmodells von Edgar Frank Codd und die Entwicklung."

Ähnliche Präsentationen


Google-Anzeigen