Datenbanksysteme Kapitel 3: Datenorganisation
|
|
- Gert Schneider
- vor 6 Jahren
- Abrufe
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 Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni - Prof. Datenbanksysteme
MehrDatenbanken 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
MehrDatenbanken: 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
MehrDATEIVERWALTUNG 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.
MehrAufbau 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
MehrDateiorganisation 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
MehrKapitel 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
MehrEntwicklung 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
MehrB / 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
MehrGrundlagen 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
MehrOPERATIONEN 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:
MehrBä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
MehrVorlesung 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
MehrINDEXDATEIEN ( 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.
Mehr12. 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
MehrKlausur 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.
MehrProseminar 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
MehrGrundlagen 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.
MehrKapitel 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:
MehrZiel: 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
MehrSysteme 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
MehrAlgorithmen 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
MehrAlgorithmen 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,
MehrTutorium 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
MehrDatenbanken: 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.
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
MehrDatenstrukturen & 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
MehrGRUNDLAGEN 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
MehrBä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
MehrGrundlagen 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
MehrCluster-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
MehrB-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
Mehr1. 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
MehrPhysische 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
MehrEs 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
MehrSuchen 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
Mehr1. 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
MehrBaum-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.
MehrBaum-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.
MehrDatenstrukturen. 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
MehrEine 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
MehrPhysische Datenorganisation
Vorlesung Datenbanksysteme vom 17.10.2016 Physische Datenorganisation Architektur eines DBMS Speicherhierarchie Index-Verfahren Ballung (Clustering) beste Zugriffsmethode Architektur eines DBMS Wichtigste
MehrADS: 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.
MehrDie 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
Mehr7. 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
MehrGrundlagen 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)
Mehr1. 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
Mehr6. 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
MehrIn 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?
MehrDefinition 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
MehrPhysischer 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
MehrVorlesung 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
MehrDatenstrukturen & 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
MehrBinä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.
MehrD1: 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
MehrWas 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,
MehrWiederholung 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
MehrWas 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
MehrInformatik 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
MehrListen. 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
MehrTheoretische 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
MehrWillkommen 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:
MehrInformatik 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
MehrFreispeicherverwaltung 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
MehrWS 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
MehrDatenbanksysteme 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
MehrKapitel : 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
MehrBä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
MehrSortierverfahren 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
MehrB-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
MehrSeminar 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
MehrDatenbanksysteme 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
MehrEin 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
MehrIdee: 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
MehrGleichheitsanfrage 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
MehrINTERVALLBÄ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
MehrC 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
MehrTeil 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
MehrAlgorithmen 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.
MehrInformationswirtschaft
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
MehrGliederung. 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
MehrNachtrag 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
Mehr3. Speicher- und Seitenzuordnung
3. Speicher- und Seitenzuordnung Pufferschnittstelle Seiten, Segmente Pufferverwaltung, Seitenzuordnungsstrukturen Segmentverwaltung Dateischnittstelle Blöcke, Dateien Dateiverwaltung Speicherzuordnungsstrukturen
Mehr10. 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
MehrInhaltsverzeichnis. 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
MehrVerkettete 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
MehrProgrammiertechnik 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,...
MehrInformatik 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:
MehrKapitel 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
MehrGrundlagen 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
MehrDatenstrukturen 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
MehrInformatik 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
MehrDatenbanksysteme 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
MehrAlgorithmen 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
MehrDatenbanken 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
MehrGraphen 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
MehrInhalt. 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
MehrVorlesung 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)
MehrSuchbä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
MehrKapitel : 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