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

Slides:



Advertisements
Ähnliche Präsentationen
8. Termin Teil B: Wiederholung Begriffe Baum
Advertisements

ER-Datenmodell und Abfragen in SQL
Datenbankdesign mit ACCESS.
Datenbanken Einführung.
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Objekt – Relationales – Modell Tomasz Makowski IN
7. Natürliche Binärbäume
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Bauinformatik II Softwareanwendungen 1
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Effizienz: Indexstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
SQL als Abfragesprache
Datenbankdesign und Normalisierung
Access 2000 Datenbanken.
Normalformen Normalisieren Schlüssel
6 Normalformen Normalisieren Schlüssel
Einführung Dateisystem <-> Datenbanksystem
Datenmodellierung - Aufbau einer Datenbank -
1 Polymorphe Operatoren Zunächst: Beschränkung auf Operatoren zum Abfragen der in Relationen enthaltenen Information. Forderung nach mathematischer Exaktheit.
Datenbanken Mehr als Tabellen.
Datenbanken Mehr als Tabellen. Datenbank Abfragen mit SQL: Eine Tabelle filtern Tabellen realer Datenbanken können sehr viele Informationen speichern:
Die Grundterminologie
Datenbanken?.
Splay Trees Von Projdakov Benjamin.
Datenbank.
SQL Überblick Abfragen aus einer Tabelle
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
Allgemeines zu Datenbanken
(D.h. „Hallo MausFans!“ auf Japanisch).
DI (FH) DI Roland J. Graf MSc (GIS) U N I V E R S I T Ä T S L E H R G A N G Geographical Information Science & Systems UNIGIS.
Vorlesung #10 Physische Datenorganisation
Das relationale Modell
Normalisierungsprozess
Structured Query Language
Eike Schallehn, Martin Endig
Einführung Dateisystem <-> Datenbanksystem
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Auftragserfassungssystem für Drehmomentaufnehmer Datenbank und Software Dennis Rollesbroich 1.
CZ Wohngeld Eine Neuentwicklung von BKA1Win Nordrhein-Westfalen.
Datenbanktechnik 1 Datenbanktechnik II Kapitel 3.0 bis 4.0.
IS: Datenbanken, © Till Hänisch 2000 Relationenalgebra Die mathematische Grundlage von relationalen Datenbanken.
SZ Neustadt, Delmestraße 141B, Bremen 1 Datenbanken Datenbank = Datenbankprogramm + Daten Datenbankprogramm = Datenbankmanagementsystem (DBMS) = System,
Abfragen Wiederholung Manuel Friedrich Schiller-Gymnasium Hof.
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Darstellung der Relationenalgebra als Programmiersprache
Logisches Datenmodell
Vorlesung #6 SQL (Teil 3).
Non-Standard-Datenbanken
Abfragesprache SQL in ORACLE
Create Table, Rechte und Rollen
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Kap. 12 R-Bäume GB B31 B245 Box 1: Box 2: Box 3: Box 4: Box 5:
Datenbanksystem Von Anna und Robin.
Da·ten·bank /Dátenbank/ Substantiv, feminin [die]
Datenbank WI WAHB12 Carolin & Sarah.
Datenbanken Von Fabian & Eddi.
Präsentation von Darleen und Michèle
Von Diana Braun und Daria Bures
Von Franziska und Robine
3. Die Datenstruktur Graph 3.3 Durchlaufen von Graphen
Von Wietlisbach, Lenzin und Winter
DB2 – SS 2019 von Baum allgemein bis B*-Baum
DB2 – SS 2019 von Baum allgemein bis B*-Baum
 Präsentation transkript:

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

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

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

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

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)

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

- 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- 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

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

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

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

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

- 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

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

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

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

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

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

- 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

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

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

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

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

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

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

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

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

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

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