Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Viktoria Clara Wagner Geändert vor über 9 Jahren
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 reu007@gmx.de
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 1939 - Studierte Mathematik in München - 1966 Titel Ph.D. University of Illinois -1972 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 1974 - 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 - 1949 Wissenschaftlicher Mitarbeiter bei IBM - starb am 18. April 2003 in Williams Island - relationales Datenbankmodell 1969 - ALPHA, Rendezvous 1971 - 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 10 2. 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 11 2. 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 12 2. 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 13 2. 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 14 2. 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) 15 2. 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) 16 2. 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) 17 2. 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 4 18 2. 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 19 2. 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) 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 20 2. 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 21 2. 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 22 2. 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 25 3. 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.“ 26 3. 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; 27 3. 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; 28 3. relationales Datenbankmodell
29
B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Operationen (3) Beispiel natürlicher Join 29 3. 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“ 30 3. 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; 31 3. 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) 32 3. 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) 33 3. 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 34 3. relationales Datenbankmodell
35
B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Inkonsistenz Name zu Personalnummer 6 ist nicht mehr eindeutig 35 3. relationales Datenbankmodell
36
B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Codds (strenge) Regeln1986 - 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 36 3. 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) 37 3. 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 38 3. 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 http://wwwbayer.in.tum.de/cgi-webcon/webcon/lehrstuhldb/details/Mitarbeiter/num/5/1 IBM http://www.research.ibm.com/resources/news/20030423_edgarpassaway.shtml Wikipedia, Die freie Enzyklopädie http://de.wikipedia.org/wiki software design & managment http://www.sdm.de/de/it-wissen/themen/sdmkonf-2001/index.html HTML-Version „SQL in 21 Tagen“ http://download.pearsoned.de/leseecke/SQL_21Tg/data/kap01.htm 42
43
B-Bäume & relationales Datenbankmodell von R.Bayer und E.F. Codd Ende Danke 43
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.