3.3.2. Dateiorganisation

3.3.2. Dateiorganisation 3.3.2. Dateiorganisation

familiebartels.com
von familiebartels.com Mehr von diesem Publisher
28.08.2013 Aufrufe

Datenorganisation Februar bis Mai 2007 Dipl.-Oek. Patrick Bartels Institut für Wirtschaftsinformatik Universität Hannover Telefon: +49 (0) 511 762 - 4979 +49 (0) 170 342 84 95 Email: bartels@iwi.uni-hannover.de Internet: www.iwi.uni-hannover.de

Datenorganisation<br />

Februar bis Mai 2007<br />

Dipl.-Oek. Patrick Bartels<br />

Institut für Wirtschaftsinformatik<br />

Universität Hannover<br />

Telefon: +49 (0) 511 762 - 4979<br />

+49 (0) 170 342 84 95<br />

Email: bartels@iwi.uni-hannover.de<br />

Internet: www.iwi.uni-hannover.de


2<br />

Nachtrag: Fremdschlüssel<br />

Ein Fremdschlüssel ist ein<br />

Primärschlüssel einer Relation, der in<br />

einer anderen Relation als<br />

Attributmenge auftaucht. Er dient als<br />

Verweis zwischen zwei Relationen,<br />

d. h. er zeigt an, welche Tupel der<br />

Relationen inhaltlich miteinander in<br />

Verbindung stehen. Beispiele für<br />

Fremdschlüssel sind die beiden<br />

Attribute „Vorgesetzter“ und<br />

„Untergebener“ aus der<br />

Beispielrelation<br />

Vgl. http://de.wikipedia.org/wiki/Fremdschl%C3%BCssel<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


3<br />

3.2 Logisches Datenmodell<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


4<br />

3.2 Logisches Datenmodell<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Logische Datenbankmodellierung ist der Prozess der<br />

Überführung eines konzeptionellen Datenmodells in ein<br />

logisches Datenbankmodell, das anschließend über ein DBMS<br />

implementiert werden kann.<br />

Beispiele für Datenbankmodelle:<br />

• Hierarchisches Datenmodell<br />

• Netzwerkmodell<br />

• Relationales Datenmodell<br />

• Objekt-orientiertes Datenmodell


5<br />

3.2.1 Hierarchisches Datenmodell<br />

Hierarchisches Datenmodell (1960 – 1980)<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Datensätze werden als Knoten, Beziehungen als Kanten dargestellt<br />

Es sind nur 1:n Beziehungen zugelassen, dadurch entsteht eine<br />

Baumstruktur<br />

Beim folgenden Beispiel muss eine Hierarchie für Kunden und eine für<br />

Artikel gebildet werden


6<br />

3.2.1 Hierarchisches Datenmodell<br />

Hierarchisches Datenmodell (1960 – 1980)<br />

Ein Knoten kann nur einen vorgelagerten Knoten besitzen.<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Einstieg in den Baum immer über die Wurzel. Existenzabhängigkeiten!<br />

Erstes logisches Datenmodell.<br />

Datensatzorientiert.<br />

Einsatz vor allem in Legacy-Systemen, insbes. in Großrechnersystemen.


7<br />

3.2.1 Hierarchisches Datenmodell<br />

Hierarchisches Datenmodell (1960 – 1980)<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


8<br />

3.2.1 Hierarchisches Datenmodell<br />

ER-Diagramm<br />

Hierarchisches Datenmodell<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


9<br />

3.2.1 Hierarchisches Datenmodell<br />

Hierarchisches Datenmodell (1960 – 1980)<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


10<br />

3.2.2 Netzwerkmodell<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

„Das Netzwerkmodell stellt Datenstrukturen als Netzwerke bestehend<br />

aus Knoten für Datensätze (Objekte) und Kanten für Beziehungen<br />

zwischen Datensätzen dar. Dabei werden üblicherweise 1:m- und n:m-<br />

Beziehungen zugelassen.“<br />

Ein Datensatztyp kann mit einer beliebigen Anzahl verschiedener<br />

anderer Datensatztypen verbunden sein.


11<br />

3.2.2 Netzwerkmodell<br />

Pfeile deuten 1:n-Beziehungen an.<br />

Datensatzorientiert.<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Das Netzwerkmodell wurde entwickelt, um die Limitierungen des<br />

hierarchischen Datenmodell zu beseitigen.<br />

Einsatz in Legacy-Systemen, insbes. in Großrechnersystemen.


12<br />

3.2.2 Netzwerkmodell<br />

Beispiel:<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


13<br />

3.2.2 Netzwerkmodell<br />

Beispiel<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


14<br />

3.2.3 Relationales Datenmodell<br />

Das relationale Datenmodell<br />

Entwickelt von Dr. Edgar Frank Codd (1970)<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Erster systematischer Ansatz, Grundlage einer ersten<br />

Datenbanktheorie, Basis für viele Konzepte und Produkte<br />

12 Grundregeln (später erweitert auf 48, dann auf 333)<br />

Grundlage für die meisten heutigen DB-Systeme<br />

Tabellen (Relationen) sind das universelle Strukturierungsmittel<br />

Alle Daten werden als Werte in zweidimensionalen Tabellen<br />

dargestellt


15<br />

3.2.3 Relationales Datenmodell<br />

Relation = 2-dim. Tabelle<br />

Alle Daten werden in Tabellen gespeichert<br />

Abfrage-Ergebnisse sind Tabellen<br />

Abfragen sind Transformationen von Tabellen in Tabellen<br />

feste Anzahl von Spalten, beliebige Anzahl von Zeilen<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Die Reihenfolge der Zeilen spielt keine Rolle, ebenso die der Spalten<br />

Jede Zeile der Tabelle: ein Datensatz, ein „Tupel“<br />

Die Spalten (Felder) enthalten die Attribute des Datensatzes<br />

Die Zeilen müssen paarweise voneinander verschieden sein, d.h. es gibt<br />

keine zwei identischen Zeilen


16<br />

3.2.3 Relationales Datenmodell<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Die 12 Grundregeln (0 bis 12=13) für relationale Datenbanken:<br />

0. Ein relationales DBMS muss in der Lage sein, Datenbanken<br />

vollständig über seine relationalen Fähigkeiten zu verwalten.<br />

1. Darstellung von Informationen: Alle Informationen in einer<br />

relationalen Datenbank (einschließlich Namen von Tabellen und<br />

Spalten) sind explizit als Werte in Tabellen darzustellen.<br />

2. Zugriff auf Daten: Jeder Wert einer relationalen Datenbank muss<br />

durch eine Kombination von Tabellenname, Primärschlüssel und<br />

Spaltenname auffindbar sein.


17<br />

3.2.3 Relationales Datenmodell<br />

Die 12 Grundregeln (0 bis 12=13) für relationale Datenbanken:<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

3. Systematische Behandlung von Nullwerten: Das DBMS<br />

behandelt Nullwerte durchgängig gleich als unbekannte oder<br />

fehlende Daten und unterscheidet diese von Standardwerten.<br />

4. Struktur einer Datenbank: Die Datenbank und ihre Inhalte werden<br />

in einem so genannten Systemkatalog auf derselben logischen<br />

Ebene wie die Daten selbst - also in Tabellen –beschrieben.<br />

Demzufolge lässt sich der Katalog mit Hilfe der Datenbanksprache<br />

abfragen.<br />

5. Abfragesprache: Zu einem relationalen System gehört mindestens<br />

eine Abfragesprache mit einem vollständigen Befehlssatz für<br />

Datendefinition, Manipulation, Integritätsregeln, Autorisierung und<br />

Transaktionen.


18<br />

3.2.3 Relationales Datenmodell<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Die 12 Grundregeln (0 bis 12=13) für relationale Datenbanken:<br />

6. Aktualisieren von Sichten: Alle Sichten, die theoretisch<br />

aktualisiert werden können, lassen sich auch vom System<br />

aktualisieren.<br />

7. Abfragen und Bearbeiten ganzer Tabellen: Das DBMS<br />

unterstützt nicht nur Abfragen, sondern auch die Operationen für<br />

Einfügen, Aktualisieren und Löschen in Form ganzer Tabellen.<br />

8. Physikalische Datenunabhängigkeit: Der logische Zugriff auf die<br />

Daten durch Anwendungen und Ad-Hoc-Programme muss<br />

unabhängig von den physikalischen Zugriffsmethoden oder den<br />

Speicherstrukturen der Daten sein.


19<br />

3.2.3 Relationales Datenmodell<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Die 12 Grundregeln (0 bis 12=13) für relationale Datenbanken:<br />

9. Logische Datenunabhängigkeit: Änderungen der<br />

Tabellenstrukturen dürfen keinen Einfluss auf die Logik der<br />

Anwendungen und Ad-Hoc-Programme haben.<br />

10.Unabhängigkeit der Integrität: Integritätsregeln müssen sich in<br />

der Datenbanksprache definieren lassen. Die Regeln müssen im<br />

Systemkatalog gespeichert werden. Es darf nicht möglich sein, die<br />

Regeln zu umgehen.<br />

11.Verteilungsunabhängigkeit: Der logische Zugriff auf die Daten<br />

durch Anwendungen und Ad-Hoc-Programme darf sich beim<br />

Übergang von einer nicht verteilten zu einer verteilten Datenbank<br />

nicht ändern.


20<br />

3.2.3 Relationales Datenmodell<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Die 12 Grundregeln (0 bis 12=13) für relationale Datenbanken:<br />

12.Kein Unterlaufen der Abfragesprache: Integritätsregeln, die über<br />

die Datenbanksprache definiert sind, dürfen sich nicht mit Hilfe von<br />

Low-Level-Sprachen umgehen lassen.


21<br />

3.2.3 Relationales Datenmodell<br />

Relationales Datenmodell<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

• Objekttypen und Beziehungstypen und deren Attribute werden<br />

mittels Relationen abgebildet, die anschaulich durch Tabellen<br />

dargestellt werden können.<br />

1. Präzisiert wird eine Relation durch Angabe eines Namens und der<br />

Attribute des betreffenden Objekttyps. Primärschlüssel-Attribute<br />

werden unterstrichen<br />

2. Schreibweise:<br />

[KONTO (Filiale; KontoNr; KontoInhaber; KontoStand)]


22<br />

3.2.3 Relationales Datenmodell<br />

Relationales Datenmodell<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Mathematisch ist jede Relation eine Teilmenge des kartesischen Produkts<br />

von zwei oder mehr Mengen.<br />

Das kartesische Produkt M1 x M2 zweier Mengen M1 und M2 ist die<br />

Menge aller Paare (p, q) mit p aus M1 und q aus M2<br />

Das kartesische Produkt ist die Menge aller möglichen<br />

Wertekombinationen<br />

Beispiel:<br />

Für M1 = {1,2,3} und M2 = {a,b,c} ist<br />

M1 x M2 = { (1,a), (1,b), (1,c), (2,a), (2,b), (2,c), (3,a), (3,b), (3, c) }<br />

Eine Relation ist eine Teilmenge des kartesischen Produkts, wobei alle Tupel<br />

(Datensätze) unter sich verschieden sind.


23<br />

3.2.3 Relationales Datenmodell<br />

Relationales Datenmodell<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Beim relationalen Datenmodell sind diese Mengen die<br />

Wertebereiche der Attribute des betreffenden Objekttyps.<br />

z.B. Konto<br />

Aufbau und Struktur einer Relation bezeichnet man auch als<br />

Schema (Datenbank-Schema).


24<br />

3.2.3 Relationales Datenmodell<br />

ER-Diagramm<br />

Relationales Datenmodell<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


25<br />

3.2.3 Relationales Datenmodell<br />

Relationales Datenmodell<br />

Für eine Tabelle des Relationenmodells gilt:<br />

Die Zeilen der Tabelle sind gleich lang<br />

In den Feldern gibt es keine Attributwiederholungen<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Die Spalten der Tabelle sind elementar (in den Spalten gibt es keine<br />

zusammengesetzten Attribute)<br />

Tabellen können Anomalien aufweisen:<br />

– Redundanz<br />

– Änderungsanomalie<br />

– Einfügeanomalie<br />

– Löschanomalie


26<br />

3.2.4 Normalisierung<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


27<br />

3.2.4 Normalisierung<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Eine gut-strukturierte Relation enthält keine Redundanz und<br />

ermöglicht es Datensätze einzufügen, zu ändern oder zu löschen,<br />

ohne dass Inkonsistenzen entstehen.<br />

Vermeidung von<br />

Änderungsanomalien<br />

Einfügeanomalien<br />

Löschanomalien


28<br />

3.2.4 Normalisierung<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Redundanz ist „die mehrfache Speicherung derselben Daten. Diese<br />

Redundanz ist im Regelfall unerwünscht, da unnötig Speicherplatz<br />

beansprucht wird und die Aktualisierung von Daten durch Redundanz<br />

erheblich erschwert wird.“<br />

Quelle: Schwarze


29<br />

3.2.4 Normalisierung<br />

Änderungsanomalie (Updateanomalie):<br />

Eine Änderung von Daten muss in mehreren Datensätzen<br />

durchgeführt werden.<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Beispiel: Die Videostammdaten sind in der Leihtabelle enthalten. Bei<br />

Änderungen der Videostammdaten müssen alle Datensätze geändert<br />

werden, bei denen dieses Video ausgeliehen worden ist.<br />

statt:<br />

Leihe(KNr, VINr, LDat, RDat, Titel, Leihgesellschaft, ...)<br />

Video(VINr, Titel, Leihgesellschaft, ...)<br />

Leihe(KNr, VINr, LDat, RDat)


30<br />

3.2.4 Normalisierung<br />

Einfügeanomalie:<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Beim Einfügen von neuen Objekten (z. B. Videos) müssen andere<br />

Daten auch erfasst werden.<br />

Beispiel: Ein neues Video kann erst angelegt werden, wenn es von<br />

einem Kunden ausgeliehen wurde, weil die Kundennummer der<br />

Primärschlüssel ist.<br />

Leihe(KNr, VINr, LDat, RDat, Titel, Leihgesellschaft, ...)


31<br />

3.2.4 Normalisierung<br />

Löschanomalie:<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Wird der letzte verbleibende Datensatz eines bestimmten Objektes (z.<br />

B. Leihvorgänge) gelöscht, verschwinden alle Daten des enthaltenen<br />

Objektes (z. B. Video) in der Datenbank.<br />

Beispiel: Wird der letzte Datensatz mit Leihdaten eines bestimmten<br />

Videos gelöscht, werden auch alle Videodaten<br />

(Titel, Leihgesellschaft, ...) gelöscht.


32<br />

3.2.4 Normalisierung<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Normalisierung:<br />

„Unerwünschte Eigenschaften können beseitigt werden, indem die<br />

Relation (bzw. Tabelle) nach bestimmten Vorschriften in einfachere<br />

Relationen (bzw. Tabellen) zerlegt wird. Diese Zerlegung bezeichnet<br />

man als Normalisierung.“<br />

Quelle: Schwarze


33<br />

3.2.4 Normalisierung<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Eine Normalform ist ein Zustand einer Relation, der durch die<br />

Anwendung einfacher Regeln erreicht werden kann. Es gibt<br />

theoretisch 5 Stufen der Normalform, wobei nur die ersten drei<br />

tatsächliche Relevanz besitzen.<br />

1. - 3. Normalform<br />

Boyce-Codd-Normalform<br />

4. - 5. Normalform<br />

Domain-Key Normalform


34<br />

3.2.4 Normalisierung<br />

1. Normalform<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Eine Tabelle des Relationenmodells, deren Zeilen gleich lang sind, ohne<br />

Attributswiederholungen, mehrfache und zusammengesetzte Attribute.<br />

Folgende Bedingungen müssen in der 1. Normalform erfüllt sein:<br />

Sie ist zweidimensional mit Reihen und Spalten<br />

Jede Reihe enthält Daten, die zu einem Objekt oder einem Teil eines<br />

Objektes gehören<br />

Jede Spalte enthält Daten für ein einziges Attribut des Objektes<br />

Jeden Datenzelle (Schnittstelle zwischen Reihe und Spalte) enthält einen<br />

einzigen Eintrag<br />

Jede Spalte muss einen (in der Tabelle) einmaligen Namen tragen<br />

Keine zwei Reihen dürfen identisch sein<br />

Die Reihenfolge der Spalten und Reihen ist bedeutungslos


35<br />

3.2.4 Normalisierung<br />

1. Normalform<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Beispiel für eine Relation, die NICHT in der 1. Normalform vorliegt!


36<br />

3.2.4 Normalisierung<br />

1. Normalform<br />

Beispiel für eine Relation, die in der 1. Normalform vorliegt!<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


37<br />

3.2.4 Normalisierung<br />

2. Normalform<br />

Eine Tabelle liegt in der ersten Normalform vor und<br />

außerdem sind alle Attribute voll funktional abhängig von<br />

einem Attribut oder einer Attributskombination.<br />

Eine Tabelle ist automatisch in 2. Normalform, wenn gilt:<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

- Der Primärschlüssel besteht aus nur einem Attribut (künstliche<br />

Primärschlüssel: Autowert, Zähler!).<br />

- Jedes Nichtschlüsselattribut ist funktional abhängig von dem<br />

gesamten Primärschlüssel.


38<br />

3.2.4 Normalisierung<br />

2. Normalform<br />

Bestellungen<br />

Bestell_Nr Artikel_Nr Einzelpreis<br />

1002 17 14,44 €<br />

1002 28 12,80 €<br />

Eine Relation Bestellungen, die NICHT der 2NF entspricht, weil<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Anzahl<br />

- Einzelpreis sich nur auf Artikel_Nr und nicht auch auf Bestell_Nr bezieht.<br />

- Bestell_Nr und Artikel_Nr bilden den Primärschlüssel.<br />

- Jedes dieser Attribute stellt einen Teilschlüssel dar.<br />

3<br />

7


39<br />

3.2.4 Normalisierung<br />

3. Normalform<br />

Es liegt die 2. Normalform vor und es existieren außerdem<br />

keine transitiven Abhängigkeiten.<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


40<br />

3.2.4 Normalisierung<br />

3. Normalform<br />

Eine Relation Kunde, die NICHT der 3NF entspricht!<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


41<br />

3.2.4 Normalisierung<br />

3. Normalform<br />

Eine Relation Kunde, die der 3NF entspricht!<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


42<br />

3.2.4 Normalisierung<br />

Weitere Normalformen:<br />

4. und 5 Normalform:<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

In der 4. Normalform werden mehrwertige Abhängigkeiten von<br />

Attributmengen zu einem so genannten Superschlüssel<br />

(übergeordnetem Schlüssel) eliminiert. Ist eine verlustfreie Zerlegung<br />

der Einzelabhängigkeiten in der 4. Normalform nicht möglich, werden<br />

in der 5. Normalform weitere Primärschlüssel hinzugefügt. Das<br />

geschieht so lange, bis nur noch Einzelabhängigkeiten der Attribute<br />

von einem oder mehreren Primärschlüsseln bestehen.


43<br />

3.3 Physischer Datenbankentwurf<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


44<br />

3.3 Physischer Datenbankentwurf<br />

Anforderungsanalyse<br />

statische Anforderungen dynamische Anforderungen<br />

Objekttypen<br />

Beziehungstypen<br />

Attribute<br />

Konzeptionelle Datenmodellierung<br />

Logische Datenmodellierung<br />

Physischer Datenbankentwurf<br />

Implementierung<br />

Laufender Betrieb<br />

Quelle: in Anlehnung an Schwarze<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Verarbeitungsprozeduren<br />

Zugriffsregelungen<br />

Sicherheitsanforderungen


45<br />

3.3.1. Grundlagen der physischen DM<br />

Physische Datenbankmodellierung ist der Prozess der<br />

Überführung eines logischen Datenmodells in ein<br />

datenbankinternes Modell, unter Beachtung von:<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

• Logischen Datenstrukturen<br />

• Anforderungen der Benutzer bezüglich Antwortzeiten, Sicherheit,<br />

Recovery usw.<br />

• Besonderheiten des verwendeten DBMS und Betriebssystems


46<br />

3.3.1. Grundlagen der physischen DM<br />

Z. B. Strategien zur Datenverteilung:<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

1. Zentrale Speicherung<br />

2. Partitionierung: Die Datenbank wird in mehrere disjunkte<br />

(nicht-überlappende) Partitionen aufgeteilt. Jede Partition wird<br />

an unterschiedlicher Stelle (Abteilung, Filiale, ...) gespeichert.<br />

3. Replikation: Eine vollständige Kopie der Datenbank wird an<br />

einer anderen Stelle gespeichert. Synchronisationsprobleme!<br />

4. Hybride Strategie: Nichtkritische Partitionen werden an<br />

einem Ort gespeichert; kritische Partitionen werden repliziert.


47<br />

3.3.1. Grundlagen der physischen DM<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Im Rahmen der physischen DM müssen das erwartete<br />

Datenvolumen und die Datenverwendung analysiert werden:<br />

• Datenvolumen: z. B. zur Auswahl geeigneter Speichermedien (Anzahl<br />

und Größe der Festplatten) und eines DBMS<br />

• Datenverwendung: z. B. zur Auswahl einer geeigneten<br />

<strong>Dateiorganisation</strong>, von Zugriffsmethoden, zur Planung von Indexen,<br />

einer verteilten Datenspeicherung


48<br />

3.3.1. Grundlagen der physischen DM<br />

Analyse des Datenvolumens:<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Angabe der durchschnittlichen Anzahl an Objekten eines<br />

Objekttyps in einem bestimmten Zeitraum<br />

Angabe der durchschnittlichen Anzahl verbundener Objekte in<br />

einer Beziehung in einem bestimmten Zeitraum


49<br />

3.3.1. Grundlagen der physischen DM<br />

Informationen aus der Fachabteilung, z. B.:<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Einmal jährlich soll archiviert werden<br />

Voraussichtlicher Kundenbestand: 5.000<br />

CDs: 1000, Lieder/CD: ca. 14, Videos: 500<br />

Pro Kunde + Jahr: 10 Leihvorgänge<br />

Im Schnitt 3 CDs + 1 Video je Leihvorgang<br />

Verlängerung einer Leihe: neue Rechnung (10 % der Leihen<br />

werden verlängert)


50<br />

3.3.1. Grundlagen der physischen DM<br />

Analyse des Datenvolumens:<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


51<br />

3.3.1. Grundlagen der physischen DM<br />

Analyse des Datenvolumens:<br />

CD<br />

1.000<br />

14<br />

Lieder je<br />

CD<br />

14.000<br />

3<br />

Leihe<br />

400.000<br />

Kunde<br />

10.000<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

10<br />

1<br />

11<br />

Datenorganisation | Veranstaltung 5<br />

Video<br />

500<br />

Rechnung<br />

110.000<br />

4<br />

Rechn.position<br />

440.000


52<br />

3.3.1. Grundlagen der physischen DM<br />

Analyse der Datenverwendung:<br />

Identifikation der wichtigsten Vorgänge<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Zu jedem Vorgang werden die Zugriffspfade und -häufigkeiten<br />

bestimmt<br />

Zusammenführung der einzelnen Vorgänge in einem<br />

Verwendungs-Chart


53<br />

3.3.1. Grundlagen der physischen DM<br />

Vorgang „Ausleihe speichern“:<br />

1. Kunde suchen<br />

2. CD oder Video suchen<br />

3. Leihdaten speichern (inkl. LDat und RDat)<br />

4. weitere CD oder Video suchen ...<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


54<br />

3.3.1. Grundlagen der physischen DM<br />

Zugriffe je Vorgang „Ausleihe speichern“:<br />

3 Zugriffe/Leihe<br />

2<br />

CD<br />

1.000<br />

1<br />

1 Zugriffe/Leihe<br />

4 Zugriffe/Leihe<br />

Leihe<br />

200.000<br />

Kunde<br />

5.000<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

3<br />

Datenorganisation | Veranstaltung 5<br />

Video<br />

500<br />

2<br />

1 Zugriffe/Leihe<br />

? Reihenfolge-Position im Vorgang


55<br />

3.3.1. Grundlagen der physischen DM<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Max. Anzahl Zugriffe je Periode (Stunde) bei Vorgang „Ausleihe<br />

speichern“?<br />

(10 Kunden)<br />

30 Zugriffe/Std<br />

2<br />

CD<br />

1.000<br />

1<br />

10 Zugriffe/Std<br />

40 Zugriffe/Std<br />

Leihe<br />

200.000<br />

Kunde<br />

5.000<br />

3<br />

Video<br />

500<br />

10 Zugriffe/Std<br />

? Reihenfolge-Position im Vorgang<br />

2


56<br />

3.3.1. Grundlagen der physischen DM<br />

Max. Anzahl Zugriffe je Periode (Stunde) alle Vorgänge?<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


57<br />

3.3.1. Grundlagen der physischen DM<br />

Unterscheidung der Art des Zugriffs:<br />

Lesen<br />

Einfügen<br />

Ändern<br />

Löschen<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


58<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong><br />

<strong>Dateiorganisation</strong>:<br />

Physische Organisation der Datenspeicherung<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Auch Datenbanken speichern die Relationen bzw. Tupel auf ein<br />

sekundäres Speichermedium, in der Regel in eine Datei auf einer<br />

Festplatte


59<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong><br />

Verarbeitungsformen von Daten<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Operationen zur Speicherung, Nutzung und Verwaltung von Daten


60<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong><br />

Kriterien:<br />

1. Zugriffsgeschwindigkeit<br />

2. Effiziente Verwendung des Speicherplatzes<br />

3. Minimaler Reorganisationsaufwand<br />

4. Eignung bei steigendem Datenvolumen<br />

5. Schutz vor unautorisiertem Zugriff<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


61<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong><br />

Primärspeicher:<br />

Hauptspeicher, Arbeitsspeicher<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Enthält alle Programme des DBMS und gepufferte Daten.<br />

I. d. R. flüchtig (RAM)<br />

Direkt adressierbar<br />

Feine Granularität: Zugriffseinheit ist eine Speicherzelle<br />

Alle Datenbankoperationen werden direkt im Arbeitsspeicher<br />

durchgeführt<br />

Größe i.d.R. im Megabyte- bis Gigabyte-Bereich<br />

Zugriffszeit: einige Nanosekunden


62<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong><br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Datenbankpuffer:<br />

Die Daten werden vor ihrer Verarbeitung in einen bestimmten<br />

Bereich des Arbeitsspeichers, den Datenbankpuffer, geladen<br />

Nach der Verarbeitung verbleiben die Daten im Datenbankpuffer<br />

Der Datenbankpuffer ist in Seiten, den Pufferrahmen, eingeteilt, die<br />

jeweils aus mehreren Festplatten-Blöcken bestehen<br />

Sind alle Seiten des Datenbankpuffers voll, werden bestehende<br />

Seiten ersetzt und evtl. auf Festplatte gesichert


63<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong><br />

Sekundäre Speichermedien:<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Sequentielle Speichermedien, z. B. Magnetbänder: die Daten<br />

werden sequentiell, d. h. nacheinander abgespeichert (meist<br />

Archivspeicher)<br />

Direkt adressierbare Speichermedien,<br />

z. B. Festplatten: eine Speichereinheit<br />

(z. B. Speicherblock mit 1024 Byte) besitzt eine eigene Adresse<br />

Kapazität im Gigabyte-Bereich<br />

Zugriffszeit: Einige Millisekunden


64<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong><br />

Verarbeitungszeit und –kosten<br />

hängen ab von<br />

der Anzahl der gerätetechnischen Zugriffe,<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

der Daten-Übertragungskapazität vom externen zum internen<br />

Speicher,<br />

der zu speichernden Datenmenge auf dem externen Speicher.


65<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong><br />

Speicherung von Relationen auf Festplatte:<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Relation = Datei<br />

Datei enthält viele Datenbankseiten<br />

Seite verteilt sich auf mehrere Blöcke<br />

Je Seite werden die Datensätze (Tupel) so abgespeichert, dass<br />

eine Seitengrenze nicht überschritten wird<br />

Seite enthält Datensatztabelle: Verweise auf die in der Seite<br />

enthaltenen Tupel


66<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong><br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Zugriffsformen:<br />

Die für ein Speichermedium zulässigen Zugriffsformen sind von der<br />

Hardware abhängig:<br />

Direkter Zugriff: über die Adresse<br />

Indirekter Zugriff: die Adresse wird über einen Schlüssel<br />

bestimmt<br />

Sequentieller Zugriff: die Daten werden<br />

der Reihe nach gelesen, bis die gesuchten Daten gefunden<br />

wurden


67<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong> | Primäre Organisationsformen<br />

Primäre Organisationsformen:<br />

Sequentielle Organisationsform<br />

Index-Sequentielle Organisationsform<br />

Reine Index-Organisationsform<br />

Direkte Organisationsform<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


68<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong> | Primäre Organisationsformen<br />

Sequentielle <strong>Dateiorganisation</strong><br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


69<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong> | Primäre Organisationsformen<br />

Sequentielle <strong>Dateiorganisation</strong><br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


70<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong> | Primäre Organisationsformen<br />

Indizierte <strong>Dateiorganisation</strong><br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


71<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong> | Primäre Organisationsformen<br />

Sequentielle Organisationsform:<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

- die Daten werden der Reihe nach gelesen, bis die gesuchten<br />

Daten gefunden wurden.<br />

- kein direkter Zugriff auf Sätze möglich<br />

- ausreichend für Batch-Verarbeitung (gleichzeitige Benötigung<br />

vieler Sätze)<br />

- völlig ungeeignet für Dialogverarbeitung (schneller gezielter<br />

Zugriff auf einzelne Sätze)


72<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong> | Primäre Organisationsformen<br />

Sequentielle Organisationsform:<br />

Von Bedeutung für<br />

Sicherungskopien<br />

Protokolldateien (Logfile)<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


73<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong> | Primäre Organisationsformen<br />

Index-Sequentielle Organisationsform:<br />

häufige Verwendung in DBMS<br />

– einfache Struktur<br />

– direkter Zugriff auf einzelne Datensätze über<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Datensätze innerhalb eines Blocks sind nach Schlüsseln geordnet<br />

Problem: nachträglich einzufügende Sätze


74<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong> | Primäre Organisationsformen<br />

Index-Sequentielle Organisationsform<br />

Viele DBMS verzichten auf sequentielle Komponente<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Satzschlüssel ist eine von System vorgegebene interne Satznummer<br />

Index gibt Auskunft: In welchen Block befindet sich ein Satz mit<br />

bestimmten Schüssel<br />

vollständiger Index


75<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong> | Primäre Organisationsformen<br />

Index-Sequentielle Organisationsform<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


76<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong> | Primäre Organisationsformen<br />

Direkte Organisationsform<br />

Zuordnung eines Schlüssels wird über einen Algorithmus<br />

(Schlüsseltransformation) gelöst<br />

Beschreibung über sog. Hash-Funktion<br />

sehr schnelle Methode, kann im internen Speicher erfolgen<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

häufigste Funktion: Divisionsrestverfahren<br />

Block Adresse(s) = s modulo n mit n=Anzahl der Blöcke, s=Schlüssel


77<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong> | Primäre Organisationsformen<br />

Suchverfahren:<br />

Sukzessives oder sequentielles Suchen: der Reihe nach<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Binäres Suchen: Aufteilung der Datei in jeweils zwei Hälften, bis<br />

Datensatz gefunden<br />

n-Wege-Suchen: mehrstufiges Suchen, erst wird der Block gesucht,<br />

dann der Datensatz innerhalb des Blocks (beliebig erweiterbar)<br />

Indirektes Suchen: über eine Indexdatei<br />

Algorithmisches Suchen: Berechnung der Adresse über einen Hash-<br />

Algorithmus


78<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong> | Primäre Organisationsformen<br />

Indizierte <strong>Dateiorganisation</strong>:<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

„Bei indizierter Organisation einer Datei ... werden die Datensätze<br />

sequentiell, im allgemeinen in chronologischer Reihenfolge, unter<br />

fortlaufenden Adressen gespeichert. Suchschlüssel und Adresse<br />

werden in einer Indexdatei (Index) gespeichert. Über diese<br />

Indexdatei wird dann indirekt gesucht.“<br />

Quelle: Schwarze


79<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong> | Sekundäre Organisationsformen<br />

Arten der Sekundärorganisation<br />

Listenorganisation<br />

Invertierte Liste<br />

Indizes


80<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong> | Sekundäre Organisationsformen<br />

Listenorganisation<br />

Verkettung zusammengehöriger Sätze<br />

– sortierte Listen<br />

– unsortierte Listen<br />

Anfang der Liste steht in einem sog. Anker<br />

Hinter der Attributsausprägung steht nur die Adresse des<br />

ersten Satzes<br />

Information zum nächsten Satz in Form eines Zeigers mit den<br />

Daten in einem Zeigerfeld


81<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong> | Sekundäre Organisationsformen<br />

Listenorganisation


82<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong> | Sekundäre Organisationsformen<br />

Invertierte Listen:<br />

Ein Index für einen Sekundärschlüssel enthält nicht die Adresse<br />

des Datensatzes, sondern einen Verweis auf den<br />

Primärschlüssel<br />

Über den Primärschlüssel kann dann auf den Datensatz<br />

zugegriffen werden.<br />

Mehrstufiges Suchen


83<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

<strong>3.3.2.</strong> <strong>Dateiorganisation</strong> | Sekundäre Organisationsformen<br />

Invertierte Listen:<br />

2<br />

3<br />

1<br />

1<br />

2<br />

1<br />

1<br />

1<br />

1


84<br />

3.3.3. Indexe<br />

Beschleunigung des Suchvorgangs durch<br />

einen Index:<br />

Indexdatei ist kleiner als Originaldatei<br />

Indexdatei ist sortiert (Relation nicht)<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Teile des Index können im Hauptspeicher gehalten werden (der<br />

Hauptspeicher ist um ein Vielfaches (Faktor: 10 5 ) schneller als<br />

eine Festplatte)


85<br />

3.3.3. Indexe<br />

Indexformen:<br />

Physisch sortierter Index (Updates!)<br />

Logisch sortierter Index (Kette): die Reihenfolge der<br />

Indexeinträge wird über Zeiger (Pointer) realisiert (nur<br />

sequentielle Suche)<br />

Logisch sortierter Index (Baum): sehr schnell<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


86<br />

3.3.3. Indexe<br />

Bäume:<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Bäume (trees) sind die am häufigsten eingesetzte Struktur für<br />

Indexdateien<br />

Wurzel (Level 0), Knoten, Blatt, Vater, Kind, Bruder<br />

Ein Knoten enthält Verweise (Pointer) auf jedes seiner Kinder


87<br />

3.3.3. Indexe<br />

Erwünschte Eigenschaften von Bäumen:<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Einheitliche Zugriffszeit (z. B. durch einheitlichen Abstand aller<br />

Blätter von der Wurzel)<br />

Hoher Verzweigungsgrad (viele Kinder)<br />

Geringe Tiefe bzw. Höhe (wenige Levels)


88<br />

3.3.3. Indexe<br />

B-Bäume (Balanced Trees oder Bayer-Baum):<br />

Häufigste Indexstruktur<br />

Alle Blätter haben den gleichen Abstand zur Wurzel<br />

Ein Knoten entspricht einer Datenbankseite<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Ein Knoten enthält den Schlüssel, den Datensatz, einen Verweis<br />

auf Knoten mit kleineren Schlüsseln und einen Verweis auf<br />

Knoten mit größeren Schlüsseln


89<br />

3.3.3. Indexe<br />

B-Bäume (Balanced Trees):<br />

1 2<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

10<br />

3 7 13 19<br />

4 5 6<br />

8 9 14 15 16 18<br />

11 12<br />

Quelle: Kemper/Eickler<br />

Datenorganisation | Veranstaltung 5<br />

20 21


90<br />

3.3.3. Indexe<br />

Einfügen von Schlüsseln:<br />

Einfügen von Datensatz mit Schlüssel 17<br />

Der Knoten ist voll, der mittlere Knoten wird nach oben<br />

geschoben, der volle Knoten wird geteilt<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


91<br />

3.3.3. Indexe<br />

Einfügen von Schlüssel 17:<br />

1 2<br />

Quelle: Kemper/Eickler<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

10<br />

3 7 13 19<br />

4 5 6<br />

8 9 14 15 16 18<br />

11 12<br />

Datenorganisation | Veranstaltung 5<br />

20 21


92<br />

3.3.3. Indexe<br />

Einfügen von Schlüssel 17:<br />

1 2<br />

Quelle: Kemper/Eickler<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

10<br />

3 7 13 16 19<br />

4 5 6<br />

8 9 14 15<br />

11 12<br />

Datenorganisation | Veranstaltung 5<br />

17 18<br />

20 21


93<br />

3.3.3. Indexe<br />

Löschen von Schlüsseln:<br />

Schlüssel in Blattknoten können einfach gelöscht werden<br />

Bei inneren Knoten: der nächstgrößere (nächstkleinere)<br />

Schlüssel wird an die Stelle des gelöschten Schlüssel<br />

verschoben<br />

Bei Unterbesetzung von Knoten: evtl. Ausgleich oder<br />

Verschmelzen<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


94<br />

3.3.3. Indexe<br />

Löschen von Schlüssel 7:<br />

1 2<br />

Quelle: Kemper/Eickler<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

10<br />

3 7 13 16 19<br />

4 5 6<br />

8 9 14 15<br />

11 12<br />

Datenorganisation | Veranstaltung 5<br />

17 18<br />

20 21


95<br />

3.3.3. Indexe<br />

Löschen von Schlüssel 7:<br />

1 2<br />

Quelle: Kemper/Eickler<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

10<br />

3 6 13 16 19<br />

4 5<br />

8 9 14 15<br />

11 12<br />

Datenorganisation | Veranstaltung 5<br />

17 18<br />

20 21


96<br />

3.3.3. Indexe<br />

Verzweigungsgrad bei B-Bäumen:<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Je mehr Verzweigungen ein Baum hat, desto flacher ist er<br />

(weniger Seitenzugriffe!)<br />

Je größer die einzelnen Datensätze sind, desto weniger<br />

Verzweigungen sind möglich<br />

Reale B-Bäume: ca. 100 Verzweigungen


97<br />

3.3.3. Indexe<br />

B + -Bäume:<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Bei B + -Bäumen werden die Datensätze nur noch in den Blättern<br />

gespeichert,<br />

d. h. außerhalb des Index (es sind viel mehr Verzweigungen<br />

möglich!)<br />

In den inneren Knoten werden Referenzschlüssel gespeichert<br />

Die Blattknoten enthalten Zeiger auf den vorhergehenden und<br />

nachfolgenden Datensatz (ermöglicht sequentielle Suche)


98<br />

3.3.3. Indexe<br />

B + -Bäume:<br />

Effizientere Verwaltung der Struktur<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Es können mehrere B + -Bäume für eine Relation erzeugt werden<br />

Die Blattknoten sind sortiert<br />

Für Bereichsanfragen wird der erste passende Wert gesucht.<br />

Anschließend kann sequentiell gelesen werden, bis der Bereich<br />

verlassen wird


99<br />

3.3.3. Indexe<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Einsatz von Indexen:<br />

Bewusste Auswahl der Attribute, für die ein Index erzeugt<br />

werden soll<br />

Höhere Performanz für Abfragen<br />

Reduzierte Performanz für Einfügen, Löschen und Änderungen<br />

von Datensätzen<br />

Data Warehouse: viele Indexe<br />

Operative Systeme: wenige Indexe


100<br />

3.3.3. Indexe<br />

Einsatz von Indexen:<br />

Primärschlüsselindex:<br />

CREATE UNIQUE INDEX<br />

eindeutiger Index<br />

Sekundärschlüsselindex:<br />

CREATE INDEX<br />

nicht-eindeutiger Index<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5


101<br />

3.3.3. Indexe<br />

Einsatz von Indexen:<br />

Primärschlüssel sollte einen eindeutigen Index haben<br />

12. März 2007 Dipl.-Ök. Patrick Bartels<br />

Datenorganisation | Veranstaltung 5<br />

Fremdschlüssel sollten einen nicht-eindeutigen Index haben<br />

(beschleunigt Joins)<br />

Attribute, die häufig in Abfragen, Sortiervorgängen und<br />

Gruppierungen verwendet werden, sollten ebenfalls einen nichteindeutigen<br />

Index bekommen

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!