Datenbanksysteme Kapitel 3: Datenorganisation

Größe: px
Ab Seite anzeigen:

Download "Datenbanksysteme Kapitel 3: Datenorganisation"

Transkript

1 Datenbanksysteme Kapitel 3: Datenorganisation Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni Prof. Dr. Peter Chamoni - Datenbanksysteme - Wintersemester 2014/

2 Gliederung 1 Grundlagen - Datenbanksysteme 2 SQL Data Definition Language 3 Datenorganisation 4 Datenintegrität und Transaktionsverwaltung 5 SQL Data Manipulation Language 6 Neue Konzepte der Datenbanktechnologie Prof. Dr. Peter Chamoni Datenbanksysteme 2 2

3 Gliederung 3 Datenorganisation 3.1 Grundlagen der Datenorganisation 3.2 Physische Datenorganisation - Speichersystem 3.3 Logische Datenorganisation - Zugriffssystem 3.4 Logische Datenorganisation - Zugriffsmethoden 3.5 Exkurs: Bäume Prof. Dr. Peter Chamoni Datenbanksysteme 3 3

4 3.1 Datenorganisation Zwischenbetrachtung Während des konzeptuellen Datenbankentwurfs wird untersucht, welche Daten benötigt werden und wie sie zusammenhängen. Im logischen Entwurf wird ein geeignetes Datenbankmodell ausgewählt. Der konzeptuelle Entwurf wird in dieses Datenmodell überführt und ggf. noch optimiert. Bei beiden Entwurfsaktivitäten stellt sich nicht die Frage, wie die Daten gespeichert werden. Physischer Entwurf Aspekte der physischen Datenorganisation/ -speicherung und der Zugriffsoptimierung unter Beachtung der Besonderheiten des verwendeten DBMS und des Betriebssystems Prof. Dr. Peter Chamoni Datenbanksysteme 4 4

5 3.1 Grundlagen der Datenorganisation Einführung in die Datenorganisation (I) Zentrale Fragen im Rahmen des physischen Entwurfsprozesses Wie erfolgt die Abbildung der logischen Ebene auf die physische Ebene? Wie wird in einer Datenbank die Speicherung der Daten organisiert? Wie kann effizient auf diese gespeicherten Daten zugegriffen werden? Die Leistungsfähigkeit eines DBMS wird maßgeblich bestimmt durch - die Daten- und Zugriffsstrukturen auf der physischen Ebene und - die physische Speicherorganisation Hauptspeicher sekundäre Speichermedien Prof. Dr. Peter Chamoni Datenbanksysteme 5 5

6 3.1 Grundlagen der Datenorganisation Einführung in die Datenorganisation (II) Ziel der Datenorganisation ist es, Daten logisch so zu strukturieren und physisch so zu speichern, dass sie - einen schnellen Zugriff gestatten, - leicht zu aktualisieren sind, Effizienter, sicherer Effizienter Zugriff Zugriff auf Daten auf Daten - sich beliebig auswerten und verknüpfen lassen sowie - vor Verlust, Zerstörung und unbefugtem Zugriff geschützt sind. Außerdem soll ein effizientes Speichermanagement betrieben Effizientes Speichermanagement werden, das heißt - eine dem tatsächlichen Bedarf angepasste Speicherkapazität und - die Vermeidung von Redundanzen, d.h. der Mehrfachspeicherung derselben Daten. Prof. Dr. Peter Chamoni Datenbanksysteme 6 6

7 3.1 Grundlagen der Datenorganisation Einführung in die Datenorganisation (III) Arten der Datenorganisation Logische Datenorganisation Gegenstand: (programmgesteuerte) Zugriffsformen auf Daten - Analyse und Strukturierung der Daten hinsichtlich ihrer Zusammenhänge - Festlegung von Zugriffspfaden auf diese Daten Physische Datenorganisation Gegenstand: (hardwaremäßige) Speicherung von Daten - Gesamtheit aller Verfahren und Vorschriften zur Aufbewahrung von Daten auf oder in Speichermedien - Optimierung der physischen Speicherstruktur - Zusammenhang zwischen Speichermedium und Zugriffsform Prof. Dr. Peter Chamoni Datenbanksysteme 7 7

8 3.1 Grundlagen der Datenorganisation Grundbegriffe der Datenorganisation (I) Datenstrukturen Datenelement (Datenfeld) - Kleinste logische Dateneinheit, die aus einem oder mehreren Zeichen besteht und nicht weiter zerlegbar ist. - Physisch wird ein Datenelement in einem Datensatz Datenfeld gespeichert. Gruppierung von inhaltlich zusammenhängenden Datenelementen, die verschiedene Eigenschaften desselben Objekts beschreiben. Datei Logische Zusammenfassung von Datensätzen mit gleicher Struktur Datenbank (i.w.s.) Zusammenfassung logisch zusammengehöriger Dateien Prof. Dr. Peter Chamoni Datenbanksysteme 8 8

9 3.1 Grundlagen der Datenorganisation Grundbegriffe der Datenorganisation (II) Datei ist eine Sammlung gleichartiger Datensätze, die primär zur dauerhaften Speicherung von Daten auf einem Speichermedium dient. Speicherung - Logischer Datensatz Datensatz aus inhaltlich zusammengehörigen Datenelementen Elementareinheit einer Datei - Physischer Datensatz (Seite, Block) enthält einen oder mehrere logische Datensätze Elementareinheit des Plattenspeichers Allgemein besteht eine Datei somit aus mehreren physischen Datensätzen (Seiten); jede Seite enthält einen oder mehrere logische Datensätze. Prof. Dr. Peter Chamoni Datenbanksysteme 9 9

10 3.1 Grundlagen der Datenorganisation Grundbegriffe der Datenorganisation (III) Datei Physische Datensätze Prof. Dr. Peter Chamoni Datenbanksysteme 10 10

11 3.1 Grundlagen der Datenorganisation Grundbegriffe der Datenorganisation (IV) Zentrale Fragen im Rahmen des physischen Entwurfsprozesses Wie erfolgt die Abbildung der logischen Ebene auf die physische Ebene? Saake, Heuer (1999, S. 19) Prof. Dr. Peter Chamoni Datenbanksysteme 11 11

12 Gliederung 3 Datenorganisation 3.1 Grundlagen der Datenorganisation 3.2 Physische Datenorganisation - Speichersystem 3.3 Logische Datenorganisation - Zugriffssystem 3.4 Logische Datenorganisation - Zugriffsmethoden 3.5 Exkurs: Bäume Prof. Dr. Peter Chamoni Datenbanksysteme 12 12

13 3.2 Physische Datenorganisation - Speichersystem Einführung Zentrale Fragen im Rahmen des physischen Entwurfsprozesses Wie wird in einer Datenbank die Speicherung der Daten organisiert? Saake, Heuer (1999, S. 19) Prof. Dr. Peter Chamoni Datenbanksysteme 13 13

14 3.2 Physische Datenorganisation - Speichersystem Externspeicherverwaltung (I) Technologischer Hintergrund: Speicherhierarchie Zeitliche Zugriffslücke Prof. Dr. Peter Chamoni Datenbanksysteme 14 14

15 3.2 Physische Datenorganisation - Speichersystem Externspeicherverwaltung (II) Sekundärspeicher Aufbau von Plattenspeichern (1) Logischer Aufbau Direkter Zugriff über logische Seitennummern Diese werden vom Betriebssystem oder Platten-Controller auf die physische Adresse (Zylinder-Nr Spur-Nr Sektor-Nr) transformiert. Physischer Aufbau Eine Reihe übereinanderliegender, rotierender Magnetplatten Physischer Adressraum Seite Strukturierung: Sektor Spur Zylinder (übereinanderliegende Spuren) Seite: eine Reihe zusammenhängender Sektoren auf einer bestimmten Spur Prof. Dr. Peter Chamoni Datenbanksysteme 15 15

16 3.2 Physische Datenorganisation - Speichersystem Externspeicherverwaltung (III) Sekundärspeicher Aufbau von Plattenspeichern (2) Auf physischer Ebene: blockorientierte (seitenorientierte) Aufzeichnung und Zugriff Seite ist die kleinste Transfereinheit, die zwischen Haupt- und Sekundärspeicher übertragen wird. Wahlfreier Zugriff Typische Blockgrößen (block size, page size): 512 Byte,1k, 2k, 4k, Eine Datei verteilt sich je nach Größe auf mehrere Seiten; jede Datei nutzt eine Seite exklusiv, d.h. auf einer Seite befinden sich nur logische Datensätze dieser Datei. Prof. Dr. Peter Chamoni Datenbanksysteme 16 16

17 3.2 Physische Datenorganisation - Speichersystem Externspeicherverwaltung (IV) Verwaltung externer Speichermedien Die physischen Datenobjekte eines DBS werden während ihrer gesamten Lebenszeit auf externen Speichermedien aufbewahrt. Die Verwaltung der Externspeicher ist Aufgabe des Betriebssystems. Datei-Schnittstelle Auf Basis eines geeigneten Dateikonzepts repräsentieren Dateien externe Speichermedien in einer geräteunabhängigen Weise und bieten den zugreifenden Programmen (auch: DBMS!) eine abstrakte Sicht für ihre Verarbeitungslogik. Prof. Dr. Peter Chamoni Datenbanksysteme 17 17

18 3.2 Physische Datenorganisation - Speichersystem DB-Pufferverwaltung Datenbankmanagementsystem Wichtigstes Ziel Transfer von Daten zwischen Hauptspeicher und Plattenspeicher möglichst effizient gestalten: - optimieren/minimieren der Anzahl der Zugriffe - Anzahl der Blöcke minimieren - so viel Blöcke wie möglich im Hauptspeicher halten ( Puffer Manager) Hauptspeicher Externspeicher Hauptspeicherbereiche des DBMS so angepasst, dass sich die Anzahl physischer Zugriffe auf die sekundären Speichermedien minimiert. Prof. Dr. Peter Chamoni Datenbanksysteme 18 18

19 Gliederung 3 Datenorganisation 3.1 Grundlagen der Datenorganisation 3.2 Physische Datenorganisation - Speichersystem 3.3 Logische Datenorganisation - Zugriffssystem 3.4 Logische Datenorganisation - Zugriffsmethoden 3.5 Exkurs: Bäume Prof. Dr. Peter Chamoni Datenbanksysteme 19 19

20 3.3 Logische Datenorganisation - Zugriffssystem Einführung (I) Zentrale Fragen im Rahmen des physischen Entwurfsprozesses Wie kann effizient auf die gespeicherten Daten zugegriffen werden? Interne (logische) Datenstrukturen Prof. Dr. Peter Chamoni Datenbanksysteme 20 20

21 3.3 Logische Datenorganisation - Zugriffssystem Einführung (II) Einordnung Das Speichersystem fordert von der DB-Pufferschnittstelle Seiten an und interpretiert diese Seiten als interne Datensätze. Interne Datensätze stellen die interne Realisierung von logischen Datensätzen mit Hilfe - von Zeigern, - speziellen Indexeinträgen - und weiteren Hilfsstrukturen dar. Diese internen Datensätze werden an das Zugriffssystem weitergereicht. Das Zugriffssystem wiederum abstrahiert von der konkreten Realisierung einer Speicherstruktur und geht von logischen Datensätzen in Dateien aus. Prof. Dr. Peter Chamoni Datenbanksysteme 21 21

22 3.3 Logische Datenorganisation - Zugriffssystem Einführung (III) Dateiarten Sequentielle Datei Zugriff auf Datensätze nur in der gespeicherten Reihenfolge Auf sequentiellen Speichern (z. B. Magnetband) Ebenfalls möglich auf Direktzugriffsspeichern (z. B. Magnetplatte, optische Speicherplatte) Datei mit wahlfreiem (direktem) Zugriff Auf jeden Datensatz kann bei Kenntnis seiner Speicheradresse direkt zugegriffen werden. Nur auf Direktzugriffsspeichern Prof. Dr. Peter Chamoni Datenbanksysteme 22 22

23 3.3 Logische Datenorganisation - Zugriffssystem Einführung (IV) Dateioperationen - Einfügen eines Datensatzes - Löschen eines Datensatzes - Modifizieren eines Datensatzes - Suchen und Finden eines Datensatzes Zugriff auf Datensätze Datensätze können in einer Datei - geordnet oder - gehashed (gestreut) gespeichert sein. Diese Anordnung bestimmt mögliche Zugriffsformen. Prof. Dr. Peter Chamoni Datenbanksysteme 23 23

24 3.3 Logische Datenorganisation - Zugriffssystem Einführung (V) Zugriffsformen Ermöglichung des direkten Zugriffs auf die logischen Datensätze anhand bestimmter Eigenschaften - i.d.r Attributwerte - z.b. Primärschlüssel Zugriffspfad Verfügbarkeit einer speziellen internen Datei, der Indexdatei. Diese enthält - Zugriffskriterium ( Suchschlüssel ) und - Adressverweise auf die Datensätze Im Falle einer Indexdatei ist somit der Zugriffspfad auf die Datensätze einer Datei selber eine Datei. [vgl.: Zehnder (2005), S. 222] Prof. Dr. Peter Chamoni Datenbanksysteme 24 24

25 3.3 Logische Datenorganisation - Zugriffssystem Einführung (VI) Dateiorganisationsform betrifft die innere Struktur einer Datei. Die Anordnung und Speicherung der Datensätze bestimmt, auf welche Weise auf die einzelnen Datensätze zugegriffen werden kann. Prof. Dr. Peter Chamoni Datenbanksysteme 25 25

26 3.3 Logische Datenorganisation - Zugriffssystem Dateiorganisationsformen (I) Sequentielle Dateiorganisation Speicherungsform Die Datensätze sind hintereinander fortlaufend abgelegt. Dieses kann in zwei Formen geschehen: unsortiert Sätze werden in der Reihenfolge ihrer Eingabe gespeichert. sortiert Dateien sind nach einem Sortierkriterium entweder aufoder absteigend sortiert. Neue Sätze müssen dann an der entsprechenden Stelle eingefügt werden. (nur möglich auf Speichermedien mit direktem Zugriff) Zugriffsform Sequentieller Zugriff, d.h. Datensätze können nur in einer bestimmten Reihenfolge angesprochen werden. Zeiger Sortierschlüssel Prof. Dr. Peter Chamoni Datenbanksysteme 26 26

27 3.3 Logische Datenorganisation - Zugriffssystem Dateiorganisationsformen (II) Indizierte Dateiorganisation Speicherungsform Die Datensätze sind sequentiell unter fortlaufender Adresse in der Datei gespeichert. Dieser sequentiellen Hauptdatei werden eine oder mehrere Indexdateien vorangestellt. Zugriffsform In der Indexdatei (Index) sind - der Suchschlüssel (Indexschlüssel) als Zugriffskriterium und - der Verweis auf die Speicheradresse des jeweiligen Datensatzes abgelegt. Der Zugriff auf die Datensätze in der Hauptdatei erfolgt indirekt über die Indexdatei. Prof. Dr. Peter Chamoni Datenbanksysteme 27 27

28 3.3 Logische Datenorganisation - Zugriffssystem Dateiorganisationsformen (III) Gestreute Dateiorganisation (Hash) Speicherungsform Die Datensätze liegen verstreut und voneinander unabhängig im Speicherbereich. Die Zuordnung von Schlüssel zur Speicheradresse der Datensätze erfolgt über eine Rechenvorschrift, der sog. Hash-Funktion. Zugriffsform Beim Hashing wird mit Hilfe einer Hashfunktion der Schlüssel eines Datensatzes auf die Seitenadresse abgebildet (Hashwert). Auf jeden Datensatz kann bei Kenntnis dieses Hashwerts direkt zugegriffen werden. Prof. Dr. Peter Chamoni Datenbanksysteme 28 28

29 Gliederung 3 Datenorganisation 3.1 Grundlagen der Datenorganisation 3.2 Physische Datenorganisation - Speichersystem 3.3 Logische Datenorganisation - Zugriffssystem 3.4 Logische Datenorganisation - Zugriffsmethoden 3.5 Exkurs: Bäume Prof. Dr. Peter Chamoni Datenbanksysteme 29 29

30 3.4 Logische Datenorganisation - Zugriffsmethoden Indexsequentielle Dateiorganisation (I) Kombination von sequentieller Hauptdatei und Indexdatei (zweistufige Struktur) Definition eines Index über ein (Zugriffs-) Attribut, den sog. Suchschlüssel Indexarten Primärindex enthält den eindeutigen Primärschlüssel als Suchschlüssel und den Verweis auf Datensatz. Sekundärindex enthält ein Nicht-Schlüsselattribut als Suchschlüssel sowie einen Verweis auf den Datensatz. SQL-Syntax CREATE INDEX <Indexbezeichnung> ON <Tabellenname> (< Suchschlüssel > [ASC DESC]); Prof. Dr. Peter Chamoni Datenbanksysteme 30 30

31 3.4 Logische Datenorganisation - Zugriffsmethoden Indexsequentielle Dateiorganisation (II) Indexdatei Realisierung des Index als Unsortierte Datei unsortiert Sortierte Datei - Physisch sortierter Index - Logisch sortierter Index sortiert Prof. Dr. Peter Chamoni Datenbanksysteme 31 31

32 3.4 Logische Datenorganisation - Zugriffsmethoden Indexsequentielle Dateiorganisation (III) Physisch-sortierter Index Die Sortierreihenfolge der Indexeinträge in der Indexdatei entspricht der physischen Reihenfolge dieser Datensätze im Speicher. sequentielle Liste Suchverfahren bei physisch-sortiertem Index z.b. - Binäres Suchen - m-wege-suchen (2-stufiger Index) Prof. Dr. Peter Chamoni Datenbanksysteme 32 32

33 3.4 Logische Datenorganisation - Zugriffsmethoden Indexsequentielle Dateiorganisation (IV) Physisch-sortierter Index Binäres Suchverfahren (1) Verfahren Ein wiederholtes Halbieren des Suchbereichs, des Intervalls [l;r] Annahme Das gesuchte Element liegt in der Mitte des Indexbereiches: m = (l+r) DIV 2 Vergleich des gesuchten Elements mit dem Element in der Mitte. Ist dieses Element größer als das gesuchte Element, wird die Suche in der oberen Hälfte des Index fortgesetzt: Suchbereich [l; m-1] Ist dieses Element kleiner als das gesuchte Element, wird die Suche in der unteren Hälfte des Index fortgesetzt: Suchbereich [m+1; r] Die Suche wird so lange fortgesetzt, bis das gesuchte Element gefunden wurde oder die Länge des Suchbereichs = 1 ist. Prof. Dr. Peter Chamoni Datenbanksysteme 33 33

34 3.4 Logische Datenorganisation - Zugriffsmethoden Indexsequentielle Dateiorganisation (V) Physisch-sortierter Index Binäres Suchverfahren (2) Beispiel: Suche nach Kotler P. Schlüssel AV 1. Vergleiche das gesuchte Element mit dem Codd E.F. 8 Element in der Mitte des Suchbereichs [1;11] Date C.J. 2 Position: (1+11) DIV 2 = 6 Kotler P. < Lucas H. C. 2. Hansen H.R Gehe zur Mitte des neuen Suchbereichs [1;5] 3. Kent W. 3 (kleinere Einträge) Position: (1+5) DIV 2 = 3 Kotler P. > Hansen H.R. 4. Kotler P Gehe zur Mitte des neuen Suchbereichs [4;5] (größere Einträge). 1. Lucas H.C. Martin J. 4 1 Position: (4+5) DIV 2 = 4 Kotler P. > Kent W. Rockart J Gehe zur Mitte des neuen Suchbereichs [5;5] Sprague R. 7 Position: (5+5) DIV 2 = 5 Gefunden! Turban E Elemente = (2 16 1) Elemente: höchstens 16 Suchschritte Zachmann R. 5 Prof. Dr. Peter Chamoni Datenbanksysteme 34 34

35 3.4 Logische Datenorganisation - Zugriffsmethoden Indexsequentielle Dateiorganisation (VI) Physisch-sortierter Index m-wege Suchverfahren (1) Verfahren Die Indexdatei wird in Blöcke konstanter Länge eingeteilt. (hier: Indexstufe 2) 1. Ermittlung des Datenblocks, in dem sich der Suchschlüssel befindet. - Gehe zum letzten Element des ersten Blocks. - Falls der Suchschlüssel größer ist als dieses Element: Gehe zum nächsten Block. - Andernfalls befindet sich das gesuchte Element in diesem Block. Index:Stufe 1 Index:Stufe 2 2. Zur Suche des Schlüssels im gefundenen Block wird i.d.r. ein anderes Suchverfahren verwendet, z.b. - Sequentielle Suche - Binäre Suche u.w. Prof. Dr. Peter Chamoni Datenbanksysteme 35 35

36 3.4 Logische Datenorganisation - Zugriffsmethoden Indexsequentielle Dateiorganisation (VII) Physisch-sortierter Index m-wege Suchverfahren (2) Beispiel: mit einem 2-stufigen, hierarchischen Index Index: Stufe 1 Index: Stufe 2 Schlüssel AV Index 2 Kent W. 4 Rockart J. 8 Zachmann R. 11 AV = Adressverweis, RA = Relative Adresse Verweis auf das letzte Element im jeweiligen Block RA Schlüssel AV Hauptdatei 1 Codd E.F. 8 2 Date C.J. 2 3 Hansen H.R Kent W. 3 5 Kotler P. 9 6 Lucas H.C. 4 7 Martin J. 1 8 Rockart J. 6 9 Sprague R Turban E. 11 Prof. Dr. Peter Chamoni 11 Datenbanksysteme Zachmann R. 5 z.b. Binäre Suche Hauptdatei 36 36

37 3.4 Logische Datenorganisation - Zugriffsmethoden Indexsequentielle Dateiorganisation (VIII) Logisch-sortierter Index (1) Die Reihenfolge der Indexeinträge wird über Zeiger festgelegt, nicht durch die physische Reihenfolge der Datensätze im Speicher. gekettete Liste Suchverfahren - Verfahren: Sequentielle Suche Zugriffspfad: Ketten (Chaining) Die Reihenfolge der Indexeinträge wird über einen Zeiger auf die physische Adresse des nächsten Indexeintrags festgelegt. - Verfahren: Baumverfahren Zugriffspfad: Baumstruktur Die Reihenfolge der Indexeinträge wird über Zeiger auf die nachfolgenden Datensätze festgelegt. Prof. Dr. Peter Chamoni Datenbanksysteme 37 37

38 3.4 Logische Datenorganisation - Zugriffsmethoden Indexsequentielle Dateiorganisation (IX) Logisch-sortierter Index (2) - Ketten (Adress-) Verkettung Innerhalb eines Datensatzes verweist ein Zeiger (pointer) auf die physische Adresse des nachfolgenden Satzes (Nachfolger). Der Zeiger des letzten Datensatzes wird besonders gekennzeichnet: entweder durch einen Ende-Vermerk oder durch einen Verweis auf die Adresse des ersten Satzes der Kette. Der Zeiger auf den 1. Satz heißt Anker. Prof. Dr. Peter Chamoni Datenbanksysteme 38 38

39 3.4 Logische Datenorganisation - Zugriffsmethoden Indexsequentielle Dateiorganisation (X) Logisch-sortierter Index (3) - Ketten Einfügen neuer Sätze physisch am Ende der Datei. - Zeiger des Vorgängers wird auf das neu eingefügte Element gerichtet. - Zeiger des neuen Elementes wird auf das nächst größere Element gesetzt. Löschen eines Datensatzes - Der Zeiger des Vorgängers wird entsprechend angepasst. - Speicherplatz des gelöschten Datensatzes wird auf überschreibbar gesetzt. Lücken bleiben, Reorganisation erforderlich Pos. Schlüssel Pointer AV 1 Sprague R Date C.J Turban E Lucas H.C Stahlknecht P Pos. Schlüssel Pointer AV 1 Sprague R Date C.J Kent W Hansen H.R Turban E Prof. Dr. Peter Chamoni Datenbanksysteme 39 39

40 3.4 Logische Datenorganisation - Zugriffsmethoden Indexsequentielle Dateiorganisation (XI) Logisch-sortierter Index Bäume (1) Komponenten - Knoten: Enthalten Anwendungsinformation - Kanten: Enthalten Adressinformation Binärer Baum - Logische Struktur Es gibt genau einen Knoten, der keinen Vorgänger hat, die sog. Wurzel. Jeder Knoten - außer der Wurzel hat genau einen unmittelbaren Vorgänger. Zu jedem Nichtwurzelknoten gibt es genau einen Weg von der Wurzel zu diesem Knoten. Prof. Dr. Peter Chamoni Datenbanksysteme 40 40

41 3.4 Logische Datenorganisation - Zugriffsmethoden Indexsequentielle Dateiorganisation (XII) Logisch-sortierter Index Bäume (2) Binärer Baum - Logische Struktur Binärer Baum Physische Repräsentation KF li = linkes Kettenfeld, KF re = rechtes Kettenfeld, AV = Adressverweis Prof. Dr. Peter Chamoni Datenbanksysteme 41 41

42 3.4 Logische Datenorganisation - Zugriffsmethoden Indexsequentielle Dateiorganisation (XIII) Logisch-sortierter Index Bäume (3) Suche in einem sortierten Binärbaum? Kent Lucas H.C. < K Hansen H.R. Sprague R. > K Date C.J. Kotler P. Martin J. Turban E. < KE Codd E.F. Kent W. Rockart J. Zachmann R. Prof. Dr. Peter Chamoni Datenbanksysteme 42 42

43 3.4 Logische Datenorganisation - Zugriffsmethoden Gestreute Dateiorganisation (I) Hash-Verfahren (1) Prinzip Vorgegeben: ein Array fester Größe, das die Datensätze speichern soll (Hashtabelle) Eine Hash-Funktion berechnet für jeden Datensatz auf Basis des Zugriffsschlüssels die Speicheradresse im Array. Die Hash-Funktion basiert nur auf dem Wert des Zugriffsschlüssels. Divisions-Rest-Methode: h(k) = k mod m Als Ergebnis kann die Speicherstelle eines Datensatzes mit einem einzigen Zugriff gelesen werden. Prof. Dr. Peter Chamoni Datenbanksysteme 43 43

44 3.4 Logische Datenorganisation - Zugriffsmethoden Gestreute Dateiorganisation (II) Hash-Verfahren (2) Schlüsseltransformation: Speicheradresse wird aus dem Schlüssel berechnet Problem: Welche Funktion soll zur Berechnung verwendet werden? Eine Hash-Funktion sollte folgendes leisten: - Die Wahrscheinlichkeit von Kollisionen für typische Mengen von Zugriffsschlüsseln minimieren. I.d.R. weniger Speicheradressen als mögliche Zugriffsschlüssel; Da die Hash-Funktion keine Daten über bereits gespeicherte Sätze nutzen kann, können Mehrfachbelegungen (Kollisionen) prinzipiell nicht vermieden werden. - Das Hash-Verfahren muss eine Kollisionsstrategie realisieren, die bei einer Mehrfachbelegung die Speicherung der Datensätze ermöglicht, denen eine bereits besetzte Speicherstelle zugeordnet wurde. Prof. Dr. Peter Chamoni Datenbanksysteme 44 44

45 3.4 Logische Datenorganisation - Zugriffsmethoden Gestreute Dateiorganisation (III) Hash-Verfahren (3) Beispiel für die Anwendung eines Hash-Algorithmus I. Bestimmung des Schlüsselwerts Schlüssel Autor (alphabetisch, 10 Zeichen) - Z.B. Suche nach "HANSEN " - Zeichen: H A N S E N - EBCDIC: Wert = 200 * * * * * * * * * * = Prof. Dr. Peter Chamoni Datenbanksysteme 45 45

46 3.4 Logische Datenorganisation - Zugriffsmethoden Gestreute Dateiorganisation (IV) Hash-Verfahren (4) Fortsetzung des Beispiels für die Anwendung eines Hash-Algorithmus II. Hash-Verfahren Vorgabe: Größe des Arrays (Hashtabelle): 1117 relative Adressen Hash-Funktion (Divisions-Rest-Methode) Zuordnung des Schlüsselwerts zu einer von 1117 relativen Adressen: Adresse = mod 1117 = 403 Speichern des Schlüssels an der Adresse 403. III. Möglicherweise Kollision! An dieser Adresse könnte bereits ein anderer Schlüssel stehen (Kollision!) Kollisionsbehandlung: z. B.: Suche nach dem Schlüssel im Überlaufbereich, der die kollidierenden Sätze in untereinander verketteter Form enthält. Prof. Dr. Peter Chamoni Datenbanksysteme 46 46

47 3.4 Logische Datenorganisation - Zugriffsmethoden Vergleich der Dateiorganisationsformen Prof. Dr. Peter Chamoni Datenbanksysteme 47 47

48 3.4 Schlussbetrachtung Zentrale Fragen im Rahmen des physischen Entwurfsprozesses 1 Wie erfolgt die Abbildung der logischen Ebene auf die physische Ebene? 2 Wie wird in einer Datenbank die Speicherung der Daten organisiert? 3 Wie kann effizient auf diese gespeicherten Daten zugegriffen werden? Saake, Heuer (1999, S. 90) Prof. Dr. Peter Chamoni Datenbanksysteme 48 Zugriffssystem Speichersystem 48

49 Gliederung 3 Datenorganisation 3.1 Grundlagen der Datenorganisation 3.2 Physische Datenorganisation - Speichersystem 3.3 Logische Datenorganisation - Zugriffssystem 3.4 Logische Datenorganisation - Zugriffsmethoden 3.5 Exkurs: Bäume Prof. Dr. Peter Chamoni Datenbanksysteme 49 49

50 3.5 Exkurs: Bäume Grundbegriffe (I) Graph Ein gerichteter Graph besteht aus - einer Menge von Knoten K und - einer Mengen von Kanten E. Eine gerichtete Kante ist durch ein geordnetes Paar von Knoten bestimmt ist. Hierbei gibt die erste Komponente den Anfangsknoten, die zweite den Endknoten an. Ein Kreis ist eine Folge von verschiedenen Knoten, wobei (ki,ki 1 ) E i 1,...,n 1 (k,k 1 ) E und weiterhin n. k i (i 1,...,n) Prof. Dr. Peter Chamoni Datenbanksysteme 50 50

51 3.5 Exkurs: Bäume Grundbegriffe (II) Baum (1) Ein gerichteter Baum ist ein zusammenhängender gerichteter Graph ohne Kreise. Ist in einem gerichteten Baum der Knoten k 2 von dem Knoten k 1 aus durch eine Kante erreichbar, so ist der Knoten k 1 der Vorgänger des Knotens k 2 und der Knoten k 2 der Nachfolger des Knotens k 1. Eine Wurzel ist ein Knoten eines Baumes, der keinen Vorgänger besitzt. Ein Blatt ist ein Knoten eines Baumes, der keinen Nachfolger besitzt. Ein gerichteter Wurzelbaum ist ein gerichteter Baum mit genau einer Wurzel. Ein innerer Knoten eines Baumes ist ein Knoten, der weder Wurzel noch Blatt eines Baumes ist. In einem Baum besitzt jeder Knoten mit Ausnahme der Wurzel genau einen Vorgänger. Prof. Dr. Peter Chamoni Datenbanksysteme 51 51

52 3.5 Exkurs: Bäume Grundbegriffe (III) Baum (2) Zu jedem Nichtwurzelknoten gibt es genau einen Weg von der Wurzel zu diesem Knoten. Die Tiefe eines Baumes gibt den längsten Weg eines Blattes zur Wurzel an. Das Gewicht eines Baumes gibt die Anzahl der Knoten an. Prof. Dr. Peter Chamoni Datenbanksysteme 52 52

53 3.5 Exkurs: Bäume Grundbegriffe (IV) Darstellung von Bäumen Wurzelbäume werden graphisch meist so dargestellt, dass die Wurzel auf der obersten Ebene liegt und die nachfolgenden Knoten jeweils eine Ebene tiefer. Die Richtung der Kanten zeigt nach unten. Oft wird auf die Darstellung der Richtungspfeile verzichtet. Prof. Dr. Peter Chamoni Datenbanksysteme 53 53

54 3.5 Exkurs: Bäume Binärbaum Grundsätzliches (I) Ein Binärbaum ist ein Baum, bei dem jeder Knoten höchstens zwei Nachfolger hat. Die Nachfolger werden als linker bzw. rechter Nachfolger bezeichnet. Die Knoten eines Binärbaumes werden in Ebenen eingeteilt. Prof. Dr. Peter Chamoni Datenbanksysteme 54 54

55 3.5 Exkurs: Bäume Binärbaum Grundsätzliches (II) Ein Binärbaum heißt voll, wenn außer der letzten alle seine Ebenen voll besetzt sind, d. h. wenn die Ebene k genau 2 k Knoten enthält. Die letzte Ebene darf auch in einem vollen Baum weniger als 2 k Knoten enthalten. Ein Binärbaum heißt komplett, wenn - er voll ist und - die Knoten auf der letzten Ebene alle linksbündig und dicht angeordnet sind. Prof. Dr. Peter Chamoni Datenbanksysteme 55 55

56 3.5 Exkurs: Bäume Binärbaum Grundsätzliches (III) Ein Binärbaum ist sortiert, wenn für jeden Knoten gilt: 1. kein Knoten im linken Unterbaum hat einen größeren Schlüssel; 2. kein Knoten im rechten Unterbaum hat einen kleineren Schlüssel. Ein Binärbaum ist streng sortiert, wenn für jeden Knoten gilt: 1. alle Knoten im linken Unterbaum haben kleinere Schlüssel 2. alle Knoten im rechten Unterbaum haben größere Schlüssel. Prof. Dr. Peter Chamoni Datenbanksysteme 56 56

57 3.5 Exkurs: Bäume Binärbaum Suchen Die binäre Suche ist am effektivsten in einem vollen sortierten Binärbaum. Ein voller sortierter Binärbaum mit n Knoten hat die Tiefe 2 log 2 n. O K? H K<O S K>H D L Q U K<L B F J N P R T V K>J A C E G I K M Prof. Dr. Peter Chamoni Datenbanksysteme 57 57

58 3.5 Exkurs: Bäume B-Baum (I) Ein B-Baum der Ordnung m ist ein Baum mit folgenden Eigenschaften: 1. Alle Blätter haben die gleiche Tiefe. 2. Jeder Knoten mit Ausnahme der Wurzel und der Blätter hat wenigstens (m/2) Söhne. 3. Die Wurzel hat wenigstens 2 Söhne. 4. Jeder Knoten hat höchstens m Söhne. 5. Jeder Knoten mit i Söhnen hat (i-1) Schlüssel. Prof. Dr. Peter Chamoni Datenbanksysteme 58 58

59 3.5 Exkurs: Bäume B-Baum (II) Ausgangspunkt Ausgeglichener, balancierter Suchbaum, d.h. alle Pfade von der Wurzel zu den Blättern des Baumes sind gleich lang. Einsatzbereiche Speicherstrukturen Hauptspeicher-Implementierungsstruktur: binäre Bäume Datenbankbereich Knoten der Suchbäume zugeschnitten auf Seitenstruktur des DBS Daten liegen sortiert auf dem Datenträger: - Aufteilung des Speichers in Indexblöcke und Datenblöcke. - Knoten Indexblöcke enthalten neben dem Schlüssel auch die Adresse des Datenblockes. Suchen findet in Indexblöcken statt. Ein letzter Zugriff liest den gefundenen Datenblock. Prof. Dr. Peter Chamoni Datenbanksysteme 59 59

Datenbanksysteme Kapitel 3: Datenorganisation

Datenbanksysteme Kapitel 3: Datenorganisation Datenbanksysteme Kapitel 3: Datenorganisation Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni - Prof. Datenbanksysteme

Mehr

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt:

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: Datenbanksysteme Entwicklung der Datenbanksysteme Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: 1. Generation: In den fünfziger

Mehr

Datenbanken: Indexe. Motivation und Konzepte

Datenbanken: Indexe. Motivation und Konzepte Datenbanken: Indexe Motivation und Konzepte Motivation Warum sind Indexstrukturen überhaupt wünschenswert? Bei Anfrageverarbeitung werden Tupel aller beteiligter Relationen nacheinander in den Hauptspeicher

Mehr

DATEIVERWALTUNG INHALTSVERZEICHNIS. STANZL Martin 4. HB/a. Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97)

DATEIVERWALTUNG INHALTSVERZEICHNIS. STANZL Martin 4. HB/a. Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97) DATEIVERWALTUNG STANZL Martin 4. HB/a Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97) INHALTSVERZEICHNIS 1. Die Aufteilung des Plattenspeichers... 2 2. Der Aufbau von Dateien... 2 3.

Mehr

Aufbau Datenbanksysteme

Aufbau Datenbanksysteme Aufbau Datenbanksysteme Lehrveranstaltung Datenbanktechnologien Prof. Dr. Ingo Claßen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Speichersystem c Ingo Claßen, Martin Kempa Softwarearchitektur

Mehr

Dateiorganisation und Zugriffsstrukturen

Dateiorganisation und Zugriffsstrukturen Dateiorganisation und Zugriffsstrukturen Prof. Dr. T. Kudraß 1 Mögliche Dateiorganisationen Viele Alternativen existieren, jede geeignet für bestimmte Situation (oder auch nicht) Heap-Dateien: Geeignet

Mehr

Kapitel 8: Physischer Datenbankentwurf

Kapitel 8: Physischer Datenbankentwurf 8. Physischer Datenbankentwurf Seite 1 Kapitel 8: Physischer Datenbankentwurf Speicherung und Verwaltung der Relationen einer relationalen Datenbank so, dass eine möglichst große Effizienz der einzelnen

Mehr

Entwicklung der Datenbanksysteme

Entwicklung der Datenbanksysteme Entwicklung der Datenbanksysteme Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: 1. Generation: In den fünfziger Jahren waren die

Mehr

B / B* - Bäume. Guido Hildebrandt Seminar Datenbanksysteme

B / B* - Bäume. Guido Hildebrandt Seminar Datenbanksysteme B / B* - Bäume Guido Hildebrandt Seminar Datenbanksysteme 25.11.2010 Gliederung Einleitung Binärbaum B - Baum B* - Baum Varianten Zusammenfassung Quellen Gliederung Einleitung Binärbaum B - Baum B* - Baum

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Algorithmen und Datenstrukturen Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt aus der Vorlesung

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

Mehr

Bäume, Suchbäume und Hash-Tabellen

Bäume, Suchbäume und Hash-Tabellen Im folgenden Fokus auf Datenstrukturen, welche den assoziativen Zugriff (über einen bestimmten Wert als Suchkriterium) optimieren Bäume: Abbildung bzw. Vorberechnung von Entscheidungen während der Suche

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr

Mehr

INDEXDATEIEN ( INDEXED FILES )

INDEXDATEIEN ( INDEXED FILES ) Indexdateien 1 INDEXDATEIEN ( INDEXED FILES ) ISAM (Indexed Sequential Access Method) Sätze werden nach ihren Schlüsselwerten sortiert. Schlüsselwerte sind immer vergleichbar und daher auch sortierbar.

Mehr

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Worst-case Zeit für Search: Θ(n). In der Praxis jedoch sehr gut. Unter gewissen

Mehr

Klausur Informatik B April Teil I: Informatik 3

Klausur Informatik B April Teil I: Informatik 3 Informatik 3 Seite 1 von 8 Klausur Informatik B April 1998 Teil I: Informatik 3 Informatik 3 Seite 2 von 8 Aufgabe 1: Fragekatalog (gesamt 5 ) Beantworten Sie folgende Fragen kurz in ein oder zwei Sätzen.

Mehr

Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...)

Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...) Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...) Inhalt: Einleitung, Begriffe Baumtypen und deren Kodierung Binäre Bäume Mehrwegbäume Prüfer

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:

Mehr

Ziel: Schaffung einer zusätzlichen, schnellen Zugriffsmöglichkeit unabhängig von Primärorganisation der Datei

Ziel: Schaffung einer zusätzlichen, schnellen Zugriffsmöglichkeit unabhängig von Primärorganisation der Datei 3.1. Flache Indexe Ziel: Schaffung einer zusätzlichen, schnellen Zugriffsmöglichkeit unabhängig von Primärorganisation der Datei Mittel: Definition eines Index über ein (Zugriffs-) Attribut (Schlüssel

Mehr

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1 Systeme 1 Kapitel 3 Dateisysteme WS 2009/10 1 Letzte Vorlesung Dateisysteme Hauptaufgaben Persistente Dateisysteme (FAT, NTFS, ext3, ext4) Dateien Kleinste logische Einheit eines Dateisystems Dateitypen

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Elementare Datenstrukturen Rekursionen Bäume 2 1 Datenstruktur Baum Definition eines Baumes

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 7. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@informatik.uni-leipzig.de aufbauend auf den Kursen der letzten Jahre von E. Rahm, G. Heyer,

Mehr

Tutorium Algorithmen & Datenstrukturen

Tutorium Algorithmen & Datenstrukturen June 16, 2010 Binärer Baum Binärer Baum enthält keine Knoten (NIL) besteht aus drei disjunkten Knotenmengen: einem Wurzelknoten, einem binären Baum als linken Unterbaum und einem binären Baum als rechten

Mehr

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur Moderne Datenbanksysteme sind nach der 3-Ebenen-Architektur gebaut: Anwendung 1 Web-Anwendung Anwendung 2 Java-Programm... Anwendung n Applikation

Mehr

! DBMS organisiert die Daten so, dass minimal viele Plattenzugriffe nötig sind.

! DBMS organisiert die Daten so, dass minimal viele Plattenzugriffe nötig sind. Unterschiede von DBMS und files Speichern von Daten! DBMS unterstützt viele Benutzer, die gleichzeitig auf dieselben Daten zugreifen concurrency control.! DBMS speichert mehr Daten als in den Hauptspeicher

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

GRUNDLAGEN VON INFORMATIONSSYSTEMEN INDEXSTRUKTUREN I: B-BÄUME UND IHRE VARIANTEN

GRUNDLAGEN VON INFORMATIONSSYSTEMEN INDEXSTRUKTUREN I: B-BÄUME UND IHRE VARIANTEN Informationssysteme - Indexstrukturen I: B-Bäume und ihre Varianten Seite 1 GRUNDLAGEN VON INFORMATIONSSYSTEMEN INDEXSTRUKTUREN I: B-BÄUME UND IHRE VARIANTEN Leiter des Proseminars: Dr.Thomas Bode Verfasser

Mehr

Bäume. 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1

Bäume. 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1 Bäume 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1 Inhalt Grundbegriffe: Baum, Binärbaum Binäre Suchbäume (Definition) Typische Aufgaben Suchaufwand Löschen allgemein, Methode Schlüsseltransfer

Mehr

Grundlagen der Dateisysteme. Daniel Lieck

Grundlagen der Dateisysteme. Daniel Lieck Grundlagen der Dateisysteme Daniel Lieck Einführung Dateisysteme wofür r eigentlich? - Ändern, Erstellen, Löschen L von Dateien - Strukturierung der Dateien auf Datenträger - Dateiname und rechnerinterne

Mehr

Cluster-Bildung. VL Datenbanken II 4 107

Cluster-Bildung. VL Datenbanken II 4 107 Cluster-Bildung gemeinsame Speicherung von Datensätzen auf Seiten wichtige Spezialfälle: Ballung nach Schlüsselattributen. Bereichsanfragen und Gruppierungen unterstützen: Datensätze in der Sortierreihenfolge

Mehr

B-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP

B-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP B-Bäume I Annahme: Sei die Anzahl der Objekte und damit der Datensätze. Das Datenvolumen ist zu groß, um im Hauptspeicher gehalten zu werden, z.b. 10. Datensätze auf externen Speicher auslagern, z.b. Festplatte

Mehr

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume

Mehr

Physische Datenorganisation

Physische Datenorganisation Physische Datenorganisation Physische Datenorganisation 2002 Prof. Dr. Rainer Manthey Informationssysteme 1 Übersicht Datenbanken, Relationen und Tupel werden auf der untersten Ebene der bereits vorgestellten

Mehr

Es sei a 2 und b 2a 1. Definition Ein (a, b)-baum ist ein Baum mit folgenden Eigenschaften:

Es sei a 2 und b 2a 1. Definition Ein (a, b)-baum ist ein Baum mit folgenden Eigenschaften: Binäre Suchbäume (a, b)-bäume (Folie 173, Seite 56 im Skript) Es sei a 2 und b 2a 1. Definition Ein (a, b)-baum ist ein Baum mit folgenden Eigenschaften: 1 Jeder Knoten hat höchstens b Kinder. 2 Jeder

Mehr

Suchen in Listen und Hashtabellen

Suchen in Listen und Hashtabellen Kapitel 12: Suchen in Listen und Hashtabellen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Einleitung Lineare Suche Binäre Suche (in sortierten Listen) Hashverfahren

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/2, Folie 1 2014 Prof. Steffen Lange - HDa/FbI

Mehr

Baum-Indexverfahren. Einführung

Baum-Indexverfahren. Einführung Baum-Indexverfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k 2.

Mehr

Baum-Indexverfahren. Prof. Dr. T. Kudraß 1

Baum-Indexverfahren. Prof. Dr. T. Kudraß 1 Baum-Indexverfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k 2.

Mehr

Datenstrukturen. einfach verkettete Liste

Datenstrukturen. einfach verkettete Liste einfach verkettete Liste speichert Daten in einer linearen Liste, in der jedes Element auf das nächste Element zeigt Jeder Knoten der Liste enthält beliebige Daten und einen Zeiger auf den nächsten Knoten

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

Physische Datenorganisation

Physische Datenorganisation Vorlesung Datenbanksysteme vom 17.10.2016 Physische Datenorganisation Architektur eines DBMS Speicherhierarchie Index-Verfahren Ballung (Clustering) beste Zugriffsmethode Architektur eines DBMS Wichtigste

Mehr

ADS: Algorithmen und Datenstrukturen

ADS: Algorithmen und Datenstrukturen ADS: Algorithmen und Datenstrukturen Teil VII Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 08.

Mehr

Die Grundbegriffe Die Daten Die Informationen

Die Grundbegriffe Die Daten Die Informationen Die Grundbegriffe Die Daten sind diejenigen Elemente, die vom Computer verarbeitet werden. Die Informationen sind Wissenselemente, welche durch die Analyse von Daten erhalten werden können. Die Daten haben

Mehr

7. Sortieren Lernziele. 7. Sortieren

7. Sortieren Lernziele. 7. Sortieren 7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche

Mehr

Grundlagen der Programmierung 2. Bäume

Grundlagen der Programmierung 2. Bäume Grundlagen der Programmierung 2 Bäume Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 24. Mai 2006 Graphen Graph: Menge von Knoten undzugehörige (gerichtete oder ungerichtete)

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/3, Folie 1 2010 Prof. Steffen Lange - HDa/FbI

Mehr

6. Formaler Datenbankentwurf 6.1. Rückblick. Datenbanken und Informationssysteme, WS 2012/13 22. Januar 2013 Seite 1

6. Formaler Datenbankentwurf 6.1. Rückblick. Datenbanken und Informationssysteme, WS 2012/13 22. Januar 2013 Seite 1 6. Formaler Datenbankentwurf 6.1. Rückblick 3. Normalform Ein Relationsschema R = (V, F) ist in 3. Normalform (3NF) genau dann, wenn jedes NSA A V die folgende Bedingung erfüllt. Wenn X A F, A X, dann

Mehr

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. 1 In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. Zunächst stellt sich die Frage: Warum soll ich mich mit der Architektur eines DBMS beschäftigen?

Mehr

Definition Ein Heap (priority queue) ist eine abstrakte Datenstruktur mit folgenden Kennzeichen:

Definition Ein Heap (priority queue) ist eine abstrakte Datenstruktur mit folgenden Kennzeichen: HeapSort Allgemeines Sortieralgorithmen gehören zu den am häufigsten angewendeten Algorithmen in der Datenverarbeitung. Man hatte daher bereits früh ein großes Interesse an der Entwicklung möglichst effizienter

Mehr

Physischer Datenbankentwurf: Datenspeicherung

Physischer Datenbankentwurf: Datenspeicherung Datenspeicherung.1 Physischer Datenbankentwurf: Datenspeicherung Beim Entwurf des konzeptuellen Schemas wird definiert, welche Daten benötigt werden und wie sie zusammenhängen (logische Datenbank). Beim

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Binärbaum Suchbaum Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 356 Datenstruktur Binärbaum Strukturrepräsentation des mathematischen Konzepts Binärbaum

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 5 FS 14

Datenstrukturen & Algorithmen Lösungen zu Blatt 5 FS 14 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 26. März

Mehr

Binäre Bäume Darstellung und Traversierung

Binäre Bäume Darstellung und Traversierung Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.

Mehr

D1: Relationale Datenstrukturen (14)

D1: Relationale Datenstrukturen (14) D1: Relationale Datenstrukturen (14) Die Schüler entwickeln ein Verständnis dafür, dass zum Verwalten größerer Datenmengen die bisherigen Werkzeuge nicht ausreichen. Dabei erlernen sie die Grundbegriffe

Mehr

Was bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch

Was bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch Was bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch verschiedene Datenstrukturen: lineare Datenstrukturen: Array,

Mehr

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter

Mehr

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone Was bisher geschah Motivation, Beispiele geometrische Objekte im R 2 : Punkt, Gerade, Halbebene, Strecke, Polygon, ebene Zerlegung in Regionen (planare Graphen) maschinelle Repräsentation geometrischer

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 9 (28.5.2014) Hashtabellen III Algorithmen und Komplexität Offene Adressierung : Zusammenfassung Offene Adressierung: Alle Schlüssel/Werte

Mehr

Listen. Für die Verarbeitung von Listen durch den Rechner ist relevant:

Listen. Für die Verarbeitung von Listen durch den Rechner ist relevant: Listen Für die Verarbeitung von Listen durch den Rechner ist relevant: Anzahl der Listenelemente - beim erstmaligen Erstellen der Liste bekannt/unbekannt - stabil vs. wechselhaft - Existenz eines Maximalwerts

Mehr

Theoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke

Theoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke Theoretische Informatik 1 WS 2007/2008 Prof. Dr. Rainer Lütticke Inhalt der Vorlesung Grundlagen - Mengen, Relationen, Abbildungen/Funktionen - Datenstrukturen - Aussagenlogik Automatentheorie Formale

Mehr

Willkommen zur Vorlesung. Algorithmen und Datenstrukturen

Willkommen zur Vorlesung. Algorithmen und Datenstrukturen Willkommen zur Vorlesung Algorithmen und Datenstrukturen Mein Name: Andreas Berndt Zum Dozenten Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen Derzeitige Sprachen:

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative

Mehr

Freispeicherverwaltung Martin Wahl,

Freispeicherverwaltung Martin Wahl, Freispeicherverwaltung Martin Wahl, 17.11.03 Allgemeines zur Speicherverwaltung Der physikalische Speicher wird in zwei Teile unterteilt: -Teil für den Kernel -Dynamischer Speicher Die Verwaltung des dynamischen

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Datenbanksysteme II Indexstrukturen Felix Naumann

Datenbanksysteme II Indexstrukturen Felix Naumann Datenbanksysteme II Indexstrukturen (Kapitel 13) 5.5.2008 Felix Naumann Klausur 2 Mittwoch, 23.7. 9 13 Uhr 4 Stunden Umfang auf 1,5 Stunden ausgelegt Keine Hilfsmittel Motivation 3 Platzierung der Tupel

Mehr

Kapitel : Andere dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Kapitel : Andere dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4.8-4.11: Andere dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.6 AVL-Bäume 4.8 Rot-Schwarz-Bäume Idee: Verwende Farben, um den Baum vertikal zu

Mehr

Bäume. Text. Prof. Dr. Margarita Esponda SS 2012 O4 O5 O6 O ALP2-Vorlesung, M. Esponda

Bäume. Text. Prof. Dr. Margarita Esponda SS 2012 O4 O5 O6 O ALP2-Vorlesung, M. Esponda Bäume O1 O2 Text O3 O4 O5 O6 O7 Prof. Dr. Margarita Esponda SS 2012 22. ALP2-Vorlesung, M. Esponda Inhalt 1. Einführung 2. Warum Bäume? 3. Listen und Arrays vs. Bäume 4. Einfach verkettete binäre Suchbäume

Mehr

Sortierverfahren für Felder (Listen)

Sortierverfahren für Felder (Listen) Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es

Mehr

B-Bäume, Hashtabellen, Cloning/Shadowing, Copy-on-Write

B-Bäume, Hashtabellen, Cloning/Shadowing, Copy-on-Write B-Bäume, Hashtabellen, Cloning/Shadowing, Copy-on-Write Thomas Maier Proseminar: Ein- / Ausgabe Stand der Wissenschaft Seite 1 von 13 Gliederung 1. Hashtabelle 3 2.B-Baum 3 2.1 Begriffserklärung 3 2.2

Mehr

Seminar Datenbanken Martin Gerstmann

Seminar Datenbanken Martin Gerstmann Seminar Datenbanken Martin Gerstmann Gliederung 1. Ziele 2. Arten 2.1. erweiterbares Hashing 2.2. lineares Hashing 2.3. virtuelles Hashing 3. Bewertung 1. Ziele wachsende/schrumpfende Datenmengen verwalten

Mehr

Datenbanksysteme I WS 2012/13 - Übung 0 - Bernhard Pietsch Friedrich-Schiller-Universität Jena Lehrstuhl für Datenbanken und Informationssysteme

Datenbanksysteme I WS 2012/13 - Übung 0 - Bernhard Pietsch Friedrich-Schiller-Universität Jena Lehrstuhl für Datenbanken und Informationssysteme Datenbanksysteme I WS 2012/13 - Übung 0 - Bernhard Pietsch Friedrich-Schiller-Universität Jena Lehrstuhl für Datenbanken und Informationssysteme Organisatorisches (I) http://www.informatik.unijena.de/dbis/lehre/ws2012/dbs1/index.html

Mehr

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Graphen Definition: Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Begriffe: Gerichteter Graph: Alle Kanten haben eine Richtung vom Anfangsknoten

Mehr

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10 Binäre Bäume Bäume gehören zu den wichtigsten Datenstrukturen in der Informatik. Sie repräsentieren z.b. die Struktur eines arithmetischen Terms oder die Struktur eines Buchs. Bäume beschreiben Organisationshierarchien

Mehr

Gleichheitsanfrage vs. Bereichsanfrage

Gleichheitsanfrage vs. Bereichsanfrage Datenbank Indexe Gleichheitsanfrage vs. Bereichsanfrage Gleichheitsanfrage (single key-value) : Abfragen, die eine Bedingung mit = haben Finde den Namen des Studenten mit Alter = 20 Bereichsanfrage (range

Mehr

INTERVALLBÄUME. Tanja Lehenauer, Besart Sylejmani

INTERVALLBÄUME. Tanja Lehenauer, Besart Sylejmani INTERVALLBÄUME Tanja Lehenauer, Besart Sylejmani Datenstrukturen in der Informatik Baumstrukturen Warum Intervallbäume? Centered Interval Tree Konstruktion Suchen eines Punktes Suchen eines Intervalls

Mehr

C für Java-Programmierer

C für Java-Programmierer Carsten Vogt C für Java-Programmierer ISBN-10: 3-446-40797-9 ISBN-13: 978-3-446-40797-8 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40797-8 sowie im

Mehr

Teil II Architektur von DBMS

Teil II Architektur von DBMS Teil II Architektur von DBMS Überblick 1 2 Architekturvarianten 3 Architekturen konkreter DBMS c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 04/04/2011 2 1 Betrachtete Fragestellungen

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Datenstrukturen: Anordnung von Daten, z.b. als Liste (d.h. in bestimmter Reihenfolge) Beispiel: alphabetisch sortiertes Wörterbuch... Ei - Eibe - Eidotter... als Baum (d.h.

Mehr

Informationswirtschaft

Informationswirtschaft Wolfgang H. Janko Informationswirtschaft 1 Grundlagen der Informatik für die Informationswirtschaft Mit 277 Abbildungen Springer-Verlag Berlin Heidelberg New York London Paris Tokyo Hong Kong Barcelona

Mehr

Gliederung. 5. Compiler. 6. Sortieren und Suchen. 7. Graphen

Gliederung. 5. Compiler. 6. Sortieren und Suchen. 7. Graphen 5. Compiler Gliederung 1. Struktur eines Compilers 2. Syntaxanalyse durch rekursiven Abstieg 3. Ausnahmebehandlung 4. Arrays und Strings 6. Sortieren und Suchen 1. Grundlegende Datenstrukturen 2. Bäume

Mehr

Nachtrag zu binären Suchbäumen

Nachtrag zu binären Suchbäumen Nachtrag zu binären Suchbäumen (nicht notwendigerweise zu AVL Bäumen) Löschen 1 3 2 10 4 12 1. Fall: Der zu löschende Knoten ist ein Blatt: einfach löschen 2. Fall: Der zu löschende Knoten hat ein Nachfolgeelement

Mehr

3. Speicher- und Seitenzuordnung

3. Speicher- und Seitenzuordnung 3. Speicher- und Seitenzuordnung Pufferschnittstelle Seiten, Segmente Pufferverwaltung, Seitenzuordnungsstrukturen Segmentverwaltung Dateischnittstelle Blöcke, Dateien Dateiverwaltung Speicherzuordnungsstrukturen

Mehr

10. Datenbank Design 1

10. Datenbank Design 1 1 Die Hauptaufgabe einer Datenbank besteht darin, Daten so lange zu speichern bis diese explizit überschrieben oder gelöscht werden. Also auch über das Ende (ev. sogar der Lebenszeit) einer Applikation

Mehr

Inhaltsverzeichnis. Einführende Bemerkungen 11. Das Fach Informatik 11 Zielsetzung der Vorlesung Grundbegriffe

Inhaltsverzeichnis. Einführende Bemerkungen 11. Das Fach Informatik 11 Zielsetzung der Vorlesung Grundbegriffe Inhaltsverzeichnis Einführende Bemerkungen 11 Das Fach Informatik 11 Zielsetzung der Vorlesung 12 1. Grundbegriffe 1 3 1.1 1.2 1.3 1.4 1.5 1.6 1.7 Information und Nachricht 1.1.1 Information 1.1.2 Nachricht

Mehr

Verkettete Datenstrukturen: Bäume

Verkettete Datenstrukturen: Bäume Verkettete Datenstrukturen: Bäume 1 Graphen Gerichteter Graph: Menge von Knoten (= Elementen) + Menge von Kanten. Kante: Verbindung zwischen zwei Knoten k 1 k 2 = Paar von Knoten (k 1, k 2 ). Menge aller

Mehr

Programmiertechnik II

Programmiertechnik II Bäume Symboltabellen Suche nach Werten (items), die unter einem Schlüssel (key) gefunden werden können Bankkonten: Schlüssel ist Kontonummer Flugreservierung: Schlüssel ist Flugnummer, Reservierungsnummer,...

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 10 (3.6.2014) Binäre Suchbäume I Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:

Mehr

Kapitel 4: Netzplantechnik Gliederung der Vorlesung

Kapitel 4: Netzplantechnik Gliederung der Vorlesung Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Netzplantechnik 5. Minimal spannende Bäume 6. Traveling Salesman Problem 7. Flüsse in Netzwerken

Mehr

Grundlagen von Datenbanken. B-Bäume, B*-Bäume Normalisierung

Grundlagen von Datenbanken. B-Bäume, B*-Bäume Normalisierung Grundlagen von Datenbanken B-Bäume, B*-Bäume Normalisierung B-Bäume Definition: Seien k, h ganze Zahlen, h > 0, k > 0. Ein B-Baum B der Klasse τ(k,h) ist entweder ein leerer Baum oder ein geordneter Suchbaum

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Datenstrukturen und Algorithmen VO 708.031 Bäume robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische Grundprinzipien 3. Sortierverfahren 4. Halden

Mehr

Informatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum

Informatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum lausthal Beispiele Stammbaum Informatik II. Zachmann lausthal University, ermany zach@in.tu-clausthal.de. Zachmann Informatik - SS 06 Stammbaum Stammbaum / Parse tree, Rekursionsbaum Parse tree, Rekursionsbaum

Mehr

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language Datenbanksysteme Kapitel 5: SQL Data Manipulation Language Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni

Mehr

Algorithmen und Datenstrukturen Hashverfahren

Algorithmen und Datenstrukturen Hashverfahren Algorithmen und Datenstrukturen Hashverfahren Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Prinzip Details Anwendungen Motivation Hashverfahren

Mehr

Datenbanken und SQL. Prof. Dr. Rolf Lauser

Datenbanken und SQL. Prof. Dr. Rolf Lauser Datenbanken und SQL Prof. Dr. Rolf Lauser Von der IHK für München und Oberbayern öffentlich bestellter und vereidigter Sachverständiger für Systeme und Anwendungen der Informationsverarbeitung im kaufmännisch-administrativen

Mehr

Graphen und Bäume. A.1 Graphen

Graphen und Bäume. A.1 Graphen Algorithmen und Datenstrukturen 96 A Graphen und Bäume A.1 Graphen Ein gerichteter Graph (auch Digraph) G ist ein Paar (V, E), wobei V eine endliche Menge und E eine Relation auf V ist, d.h. E V V. V heißt

Mehr

Inhalt. Datenbanken 2. Literatur und Quellen. Inhalt. Indexstrukturen. Nikolaus Augsten. Wintersemester 2015/16. Grundlagen

Inhalt. Datenbanken 2. Literatur und Quellen. Inhalt. Indexstrukturen. Nikolaus Augsten. Wintersemester 2015/16. Grundlagen Inhalt Datenbanken 2 Indexstrukturen Nikolaus Augsten nikolausaugsten@sbgacat FB Computerwissenschaften Universität Salzburg Version 2016-02-01 1 Mehrschlüssel Indices Wintersemester 2015/16 Augsten (Univ

Mehr

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen)

Mehr

Suchbäume mit inneren Knoten verschiedener Knotengrade.

Suchbäume mit inneren Knoten verschiedener Knotengrade. Was bisher geschah rekursive Datenstrukturen: lineare Datenstrukturen: Liste, Stack, Queue hierarchische Datenstrukturen: Bäume allgemeine Bäume Binäre Bäume Unäre Bäume = Listen Tiefe eines Knotens in

Mehr

Kapitel : Andere dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2013/14. Prof. Dr. Sándor Fekete

Kapitel : Andere dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2013/14. Prof. Dr. Sándor Fekete Kapitel 4.8-4.11: Andere dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2013/14 Prof. Dr. Sándor Fekete 1 4.6 AVL-Bäume 2 4.8 Rot-Schwarz-Bäume Rudolf Bayer Idee: Verwende Farben, um den

Mehr