Datenorganisation. Aufgaben der Datenorganisation: Effizientes Verwalten von Daten, also

Ähnliche Dokumente
Datenstrukturen. Dortmund, Oktober 1998

Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme

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

Datenbanksysteme SS 2013

Informatik & Praxis. Edwin Schicker Datenbanken und SQL

Informatik & Praxis. Anwendungsorientiertes Informatik-Wissen ist heute in vielen Arbeitszusammenhängen

Datenbanken. Interne Datenorganisation:

Zusatzskript Datenmanagement: physische Strukturen B+- und B*-Baum B+-Baum

Suchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1

Dynamische Datenstrukturen

ADS: Algorithmen und Datenstrukturen

Baumbasierte Strukturen

Rückblick: Pufferverwaltung

Datenbanken: Indexe. Motivation und Konzepte

Logische Datenstrukturen

Was machen wir heute? Betriebssysteme Tutorium 11. Mounten: Vorher. Frage 11.1.a

Dateisysteme. Erweiterte Anforderungen an Speicher

Binäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps

Teil VII. Hashverfahren

Algorithmen und Datenstrukturen 2. Dynamische Datenstrukturen

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Indizes. Index. Datenfeld Normale Tabelle. Gesucht wird: Zugriff. 3. Zugriff 1. Zugriff.

Organisationsformen der Speicherstrukturen

Datenbanken Vertiefung Wintersemester 2013/ Matrikelnummer: Hinweise. Unterschrift

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

Hash-Verfahren. Einführung

Hash-Verfahren. Prof. Dr. T. Kudraß 1

Wintersemester 2016/ Matrikelnummer: Hinweise. Unterschrift

7. Sortieren Lernziele. 7. Sortieren

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1

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

Dateiorganisation und Zugriffsstrukturen. Prof. Dr. T. Kudraß 1

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

Seminar Datenbanken Martin Gerstmann

INDEXDATEIEN ( INDEXED FILES )

Grundlagen der Programmierung

Mehrwegbäume Motivation

OPERATIONEN AUF EINER DATENBANK

Literatur: Jeffrey D. Ullman: Principles of Database Systems, 2 nd Edition 1982, Kapitel 2.2

Algorithmen und Datenstrukturen

Grundlagen der Dateisysteme. Daniel Lieck

Hashtabellen. Hashverfahren, was ist das eigentlich?

Datenbanksysteme Kapitel 3: Datenorganisation

t-äre Bäume können - wie Binärbäume - degenerieren, d.h. durch ungünstige Einfügereihenfolge kann ein unausgewogener Baum mit großer Höhe entstehen.

6. Anfragebearbeitung

Teil 1: Suchen. M.O.Franz, Oktober 2007 Algorithmen und Datenstrukturen - Suchen 1-1

Grundlagen: Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1

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

Informatik II, SS 2014

Reihungen. Martin Wirsing. in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang

Übersicht. Einfache Suche Binäre Suchbäume Hashing Skip-Lists Mengen Sortieren Order-Statistics. 2 Suchen und Sortieren

technische universität dortmund Fakultät für Informatik LS 8 Speichern von Daten Prof. Dr. Katharina Morik

2.7 Bucket-Sort Bucket-Sort ist ein nicht-vergleichsbasiertes Sortierverfahren. Hier können z.b. n Schlüssel aus

Algorithmen und Datenstrukturen 1 VU 6.0 Nachtragstest SS Oktober 2014

Überlaufbehandlung ohne Verkettung

Reihungen. Prof. Dr. Christian Böhm. In Zusammenarbeit mit Gefei Zhang. WS 07/08

Vorlesung Datenstrukturen

Algorithmen und Datenstrukturen II: Hashverfahren

Seite 1 von 13 Name: Aufgabe 1: Suchalgorithmen (a) (4 Punkte ) Gegeben ist folgendes Streckennetz:

Suchen. lineare Suche, binäre Suche, divide and conquer, rekursive und iterative Algorithmen, geordnete Daten, Comparable

Wiederholung. Datenstrukturen und. Bäume. Wiederholung. Suchen in linearen Feldern VO

Informatik. Pointer (Dynamisch) Vorlesung. 17. Dezember 2018 SoSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1

Korollar 191 In einem (a, b)-baum mit n gespeicherten Schlüsseln können die Wörterbuchoperationen in Zeit O(log a n) durchgeführt werden.

Seite 1 von 13 Name: Aufgabe 1: Suchalgorithmen (a) (4 Punkte ) Gegeben ist folgendes Streckennetz:

Algorithmen und Datenstrukturen 1 VL Übungstest WS Jänner 2009

Kapitel 9: Physische Datenorganisation

Freispeicherverwaltung Martin Wahl,

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Oracle 10g Einführung

Algorithmen I. Tutorium 1-4. Sitzung. Dennis Felsing

Algorithmen und Datenstrukturen II: Hashverfahren

4. Hashverfahren. geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D. Menge A von Speicheradressen; oft: A = {0,..., m 1}

Freispeicherverwaltung

Leichtgewichtsprozesse

Leichtgewichtsprozesse

Algorithmen und Datenstrukturen (für ET/IT)

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher

Grundlagen der Dateisysteme. Daniel Lieck

Hashverfahren. (Algorithmen und Datenstrukturen II) Prof. Dr. Oliver Braun. Letzte Änderung: :33. Hashverfahren 1/29

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

Mapra: C++ Teil 4. Felix Gruber. 6. Mai IGPM, RWTH Aachen. Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6.

Baum-Indexverfahren. Einführung

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

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

5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)?

9. Dateisysteme. Betriebssysteme Harald Kosch Seite 164

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

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

Datenstrukturen und Algorithmen. Vorlesung 5

Grundlagen der Informatik

Lineare Liste. struct list_element { float f; /* weitere Elemente */ struct list_element *next; /* Zeiger auf Nachfolger-Element */ }; Peter Sobe

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr.

Betriebssysteme 1. Thomas Kolarz. Folie 1

6/23/06. Universelles Hashing. Nutzen des Universellen Hashing. Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen

Transkript:

Aufgaben der Datenorganisation: Effizientes Verwalten von Daten, also Datenorganisation Daten müssen sicher aufbewahrt werden Daten müssen wieder auffindbar sein Daten müssen schnell zugreifbar sein Problem: Einfache Datenstrukturen garantieren geringe Fehleranfälligkeit einfacher Programmcode Komplexe Datenstrukturen garantieren optimale Verwaltung mit schnellen Zugriffen Folgerung für die Praxis: Kompromisse

Hauptaufgabe eines Rechners Rechenwerk Arbeitsspeicher Bus Netz Platte Band

Verwaltung von Magnetplatten Einteilung in gleich große Blöcke: 1024 Bytes bis 32 kbytes und mehr Daten werden blockweise gelesen und geschrieben (Arbeitsspeicher ist Zwischenpuffer zur CPU) Dateien werden in (eventuell sehr vielen) Blöcken abgelegt Ein Block enthält immer nur Daten einer Datei Die Verwaltung von Magnetplatten und Dateien übernimmt das Betriebssystem: Formatieren der Magnetplatten und anderer Datenträger Abspeichern von Dateien Puffern von Datenblöcken im Arbeitsspeicher

Wünsche an die Datenorganisation schnelles Finden von Daten innerhalb einer Datei (geringer Zeitaufwand!) wenig Speicherverbrauch beim Abspeichern aller Daten (geringe Kosten) wenig Aufwand beim Löschen, Einfügen, Ändern (geringer Zeitaufwand) einfacher Algorithmus (wenig Wartung und geringe Fehleranfälligkeit) Nicht alle vier Wünsche sind gleichzeitig voll erfüllbar

Speichermedien Sequentielle Speichermedien: Die Daten werden, beginnend am Anfang des Mediums, direkt hintereinander geschrieben. Adressierbare Speichermedien: Jeder Speicherplatz ist direkt erreichbar. Speichermedium Sequentiell Adressierbar Vorteile billiges Medium, geringer Speicherbedarf Direktzugriff möglich, Einfügen möglich Nachteile Einfügen nicht möglich, Suchen nur sequentiell Medium nicht ganz billig, oft ungenutzte Lücken Typisches Medium Magnetband, CD-ROM Magnetbandkassette Magnetplatte, Disketten, Arbeitsspeicher Typischer Einsatz Archivierung, Datensicherung Überall, wo auf Daten direkt zugegriffen wird

Dateiarten Auf sequentielle Speichermedien wird nur sequentiell zugegriffen Auf adressierbare Speichermedien wird sequentiell oder direkt adressierend zugegriffen Sequentielle Dateien: Die Datensätze sind innerhalb der Datei hintereinander abgespeichert (ohne Lücken) Anwendung: Archivierung, Sicherung, kleine Dateien ( < 50 MBytes) Adressierte Dateien: Die Datensätze sind innerhalb der Datei an bestimmten Adressen abgespeichert. Diese Adresse muss gemerkt werden. Anwendung: große Dateien (im MByte- bis GByte-Bereich) mit kurzen Zugriffszeiten

Direktadressierung Die Speicheradresse ist eine Funktion der dort gespeicherten Daten. Beispiel: Elektronisches Notizbuch Voraussetzung: pro Tag existieren 100 Bytes an Speicherplatz Daten des 2. Februar (33. Tag) sind zu finden: Speicherplätze 3200 3300 (ab Dateibeginn) Allgemein gilt für die gesuchte Adresse A gesucht : A gesucht = f (Suchschlüssel ) Im Beispiel: A gesucht = 100 * (Kalendertag - 1) + Startadresse

Geordnete Speicherung mit Suchschlüssel Direktadressierung mit Suchschlüssel nicht anwendbar, wenn Definitionsbereich des Suchschlüssels zu groß Beispiel: Telefonbuch Menge aller möglichen Namen (Suchschlüssel) ist zu groß Abhilfe: Sortiert speichern und binär suchen! Datenbereich = Gesamte Datei Solange Datenbereich nicht leer oder Eintrag nicht gefunden ist Lies den Suchschlüssel S in der Mitte des Datenbereichs S > Suchbegriff? Ja nein Datenbereich = S = Suchbegriff? linke Datenhälfte ja nein Eintrag gefunden Datenbereich = rechte Datenhälfte

Vor- und Nachteile von Speichertechniken Direktadressierung Vorteile Direktzugriff, direktes Einfügen, direktes Löschen, einfacher Algorithmus Nachteile nur bedingt anwendbar (wegen des zum Teil sehr hohen Speicherverbrauchs) Binäre Suche relativ schnelle Suche, minimaler Speicherverbrauch, leicht anwendbar Löschen aufwendig, Einfügen aufwendig Abhilfe Hash-Verfahren B-Baum ISAM-Datei

Einstufige physische Datenstrukturen Listen auf sequentiellem Speicher Merkmale von Listen auf sequentiellem Speicher: der Anfang der Liste ist bekannt, zu jedem Element existiert ein direktes Nachfolgeelement, am Ende steht ein Ende-Signal. Dies lässt sich wie folgt darstellen: Anfang 1. El. 2. El. letztes El. Ende Sequentielle Speicherung: Anfang 1. Element 2. El. 3. El.... n. El. EOF

Tabellen auf adressierbarem Speicher Tabellen auf adressierbarem Speicher entsprechen der Direktadressierung. Die Merkmale sind: Jedes Element ist direkt zugreifbar, Jedes Element belegt gleich viel Speicherplatz. Beispiel: Tabelle mit 80 Elementen 1. El. 2. El. 3. El. 4. El. 5. El.... 78. El. 79. El. 80. El. Anwendungen: Datenorganisation, Mathematik, Vektoren, Matrizen, Felder

Geordnete Listen auf adressierbarem Speicher Merkmale der geordneten Listen sind: der Anfang ist bekannt, zu jedem Listenelement existiert ein direktes Nachfolgeelement, die Elemente sind nach dem Suchbegriff geordnet, das Binäre Suchverfahren ist anwendbar, am Ende steht ein Ende-Signal. Sind die Listenelemente nicht gleich lang, so ist die Implementierung der Binären Suche etwas aufwändiger. Anwendungen: elektronische Karteien und Bücher. Problem: Einfügen und Löschen

Geordnete verkettete Listen Bei verketteten Listen wird die Reihenfolge über Zeigerketten hergestellt. Die Merkmale sind: der Anfang der Liste ist bekannt, zu jedem Element existiert ein Verweis auf das nächste Element, das Ende ist markiert. 2. Element Anfang 1. Element 3. Element Ende 4. Element Logische Ordnung, keine physische. Anwendung: Betriebssystem, dynamische Prozesse

Zusammenfassung einstufiger Verfahren sequentielle Listen Tabellen geordnete Listen geordnete verkettete Listen sehr gering, da keine Lücken (++) sehr hoch, große Lücken (--) genau 1 Zugriff (++) direkte Änderung (++) stark eingeschränkt gering, aber Elemente gleich groß (+) Binäre Suche (+) Speicherung sequentiell adressiert sequentiell geordnet adressiert Speicher sequentiell adressierbar adressierbar adressierbar Speicherverbrauch Zugriffsdauer sequentielle Suche (-) Änderungsaufwand Anfügen nur Verschieben der am Ende (--) Folgeelemente (-) Einsatzmöglichkeit universell universell auf adressierbarem Speicher Komplexität gering gering gering gering gering, etwas Speicher für Adressen (+) sequentielle Suche (-) nur Adressen ändern (+) universell auf adressierbarem Speicher

Mehrstufige Datenstrukturen Hierarchische Datenstrukturen heißen mehrstufig: Der Zugriff erfolgt mehrstufig über diese Hierarchie. Anschauliches Beispiel: Telefonbuch als Binärbaum mit 15 Einträgen 8 4 12 2 6 10 14 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Datei mit 1 Gigabyte 1 Million Einträge à 1000 Bytes Rechenbeispiel Binäre Suche: log 2 10 6 20 Festplattenzugriffe Festplatte kann eventuell zum Engpass werden Mehrstufige Strukturen: ca. 1 Million Hierarchie-Elemente sind erforderlich mit ca. je 20 Byte 20 MBytes werden ständig im Speicher gehalten 1 Plattenzugriff zum Einlesen der Nutzdaten je Suchvorgang Problem: 1 Milliarde und mehr Einträge

Zusammenfassung der Baumstrukturen Baumstrukturen Speicherung adressiert Speicher adressierbar Speicherverbrauch noch relativ gering (Hierarchiestufen) (+) Zugriffsdauer kurz, da über Hierarchiestufen zugegriffen wird (+) Änderungsaufwand nur Adressen ändern, eventuell auch Hierarchiedaten (+) Einsatzmöglichkeit universell auf adressierbarem Speicher Komplexität hoch: Schieflastigkeit, Ändern und Einfügen! Anwendungen: Aufbau dynamischer Strukturen im Arbeitsspeicher Verzeichnisbaum von Dateisystemen Zerlegen von Ausdrücken bei Compilern

Index Sequentielle Dateien ISAM für Index Sequential Access Method VSAM für Virtual Sequential Access Method Eine ISAM-Datei besteht aus zwei Teilen: Die abgespeicherten Daten in den Datenblöcken Die Indexstufen in den Indexblöcken zum schnellen Suchen Für ISAM-Dateien gilt: Die Daten sind logisch nach dem Suchschlüssel geordnet. Physisch sind die Daten innerhalb jedes einzelnen Datenblocks geordnet. Die Blöcke selbst können beliebig auf dem Speichermedium verteilt sein. Die Indexblöcke enthalten Informationen (Indizes), in welchen Blöcken welche Daten zu finden sind. Die Indexblöcke sind analog zu den Datenblöcken geordnet.

Kartei enthält pro Person 116 Bytes: Beispiel Name (Suchschlüssel) 20 Bytes Vorname 20 Bytes Adresse 40 Bytes Geburtsdatum 6 Bytes Telefonnummer 10 Bytes Beruf 20 Bytes Blockgröße: 1024 Bytes, also maximal 8 Datensätze in jedem Block. Holler Marianne 93055 Regensburg Block 6 Huber Martin 93051 Regensburg Hübsch Maria......... Block 7... Igl Werner... Irm er Lothar... Block 8

Beispiel (Indexblock) Ausschnitt aus Indexblock:... Gruber A dresse Block 6 Huber A dresse Block 7 Irm er A dresse Block 8... Indexblock

Gesucht: Daten zu Frau Hübsch. Suche in einer ISAM-Datei 1 2 Indexblock... Gruber Huber Irmer... 3 4 Gruber......... Hinz... Huber... Hübsch...... Igl... Datenblöcke Irmer.........

Einfügen, Ändern und Löschen in ISAM-Datei Ändern: Problemlos, so lange nicht die Suchdaten geändert werden Löschen: Meist einfach, da nur die Daten im Block gelöscht werden müssen Aber: Falls erstes Datum im Block gelöscht, auch Index anpassen Aber: Falls nun Block leer, Block freigeben und Index anpassen Einfügen: Einfach, falls noch Platz im Block Aber: Falls erster Eintrag im Block, auch Index anpassen Aber: Falls kein Platz mehr frei, neuen Block anfordern und Index anpassen

Splitting-Verfahren Splitting-Verfahren wird ausgelöst, falls Datenblock nicht mehr ausreicht. leer bisheriger Datenblock bisheriger Datenblock leer neuer Datenblock Üblich: Datenblöcke sind nur zu 70-80% gefüllt.

Indexblöcke Indexblöcke werden wie Datenblöcke manipuliert, auch gesplittet! 1. Indexstufe (genau 1 Block) Suchschlüssel Adresse Suchschlüssel 2. Indexstufe Datenblöcke Adresse Schlüssel Einträge

Bewertung von ISAM-Dateien Eine ISAM-Datei mit n Indexstufen benötigt maximal n+1 Einlesevorgänge! Beispiel zum Bedarf der Anzahl von Indexstufen: Blockgröße: 2048 Bytes, Datengröße: 116 Bytes Indexeintragsgröße: 24 Bytes (Schlüssel: 20 Bytes und Adresse) Füllgrad: ca. 75% Folgerung: mittlere Anzahl von Einträgen im Indexblock: 64 mittlere Anzahl von Einträgen im Datenblock: 13. Es lassen sich verwalten: 1 Indexstufe 64 Blöcke 64 13=830 Einträge 97 kbytes Daten 2 Indexstufen 64 2 Blöcke 53000 Einträge 6 MBytes Daten 3 Indexstufen 400 MBytes Daten 4 Indexstufen 25 GBytes Daten

Zusammenfassung der ISAM-Datenstruktur ISAM-Datenstruktur Speicherung adressiert Speicher adressierbar Speicherverbrauch noch gering (+), im ungünstigen Fall zufriedenstellend (o) Zugriffsdauer kurz, über wenige Indexstufen (++) Änderungsaufwand lokal, nur manchmal auch Indexstufe betroffen (+) Einsatzmöglichkeit universell auf adressierbarem Speicher, bei häufigen Änderungen ist gelegentliches Reorganisieren erforderlich Komplexität sehr hoch

Hash-Verfahren (Vorbemerkung) Hash-Verfahren nutzen die Vorteile der Direktadressierung. Direktadressierung: S sei die Menge aller möglichen Suchschlüssel A die Menge aller zur Verfügung stehenden Speicheradressen. Dann gilt f : S A ist bijektiv Jedem Element aus S wird eine eindeutige (!) Adresse in A zugeordnet. Die Mächtigkeit von S und A müssen also übereinstimmen!

Definition (Hash-Verfahren) Gegeben sei eine Funktion h: S A, die jedem Suchschlüssel s S eine (nicht notwendigerweise eindeutige) Adresse a A zuordnet. Sei E S die Menge aller tatsächlich vorkommenden Suchschlüssel. Dann heißt eine Funktion h, eingeschränkt auf die Menge E, eine Hashfunktion zur Menge E: h : E S A. Vorgehen: Ein Eintrag wird an dem Platz abgespeichert, den die Hashfunktion h ermittelt. Problem: Die Funktion h ist auf der Menge S nicht notwendigerweise eineindeutig. Folgerung: Mehrere Einträge werden am gleichen Platz gespeichert!

Ausnahmebehandlung Zur Vermeidung von Mehrfachbelegung erfolgt Ausnahmebehandlung: Versatzfunktion Hashfunktion 2. Ordnung h 2 sucht Ersatzadresse Beispiel: 600 Einträge à 100 Bytes Suchschlüssel sei 20 Bytes Es existiert Datei mit 100 kbytes Größe für bis zu 1000 Einträge Hashfunktion h: 20 h( name) = i 100 ord( name[] i ) mod 1000 i= 1. Versatzfunktion h 2 : ( adr ) h( 2 adr) = 100 ( / 100 + 43)mod1000.

Überblick (Hash) Füllgrad der Hash-Tabellen von 40-60% sind bewährt Bei großen Dateien benötigt Hash zu viel Speicher (gegenüber ISAM) ISAM ist für Magnetplatten besser optimiert Hashtabellen sind fix in ihrer Größe! Hashtabellen müssen initialisiert werden Hash-Tabelle Speicherung direktadresssierend Speicher adressierbar Speicherverbrauch zufriedenstellend (o) Zugriffsdauer sehr kurz, da direktadressierend (++) Änderungsaufwand sehr gering, etwas höherer Löschaufwand (+) Einsatzmöglichkeit universell, nicht geeignet bei schwankender Dateigröße Komplexität hoch bis sehr hoch

Primär- und Sekundärschlüssel Beispiel: KFZ-Kartei KFZnr Name Vorname GebDatum Wohnort KFZ_Typ... R-E 95 Meier Fridolin 05.06.1966 Regensburg...... L-ZM 6 Müller Maria 13.03.1938 Leipzig...... M-J 11 Huber Walter 24.12.1944 München........................... Sortiert nach: KFZ-Nummer Aber: Name ist auch häufig Suchschlüssel

Definition (Primär- und Sekundärschlüssel) Suchschlüssel, nach denen die Datei geordnet ist, heißen Primärschlüssel. Suchschlüssel, nach denen die Datei nicht geordnet ist, heißen Sekundärschlüssel. Beispiel: KFZ-Nummer ist Primärschlüssel Name ist Sekundärschlüssel Problem: Die Funktion f als Ordnungskriterium ist bekannt, nicht aber f -1 Primärschlüssel z.b. KFZ-Nr f f -1 Sekundärschlüssel z.b. Name

Invertierte Dateien Invertierte Dateien sind nach dem Sekundärschlüssel geordnet und werden zusätzlich zur normalen Datei gespeichert. Existiert eine invertierte Datei, so gilt: Schnellzugriff über Primärschlüssel (dank ISAM, Hash, ) Schnellzugriff über Sekundärschlüssel mittels invertierter Datei Sequentielle Zugriffe über andere Suchbegriffe Schematisch dargestellt: Primärschlüssel f Daten Sekundärschlüssel 1 f Primärschlüssel f Daten

Eigenschaften invertierter Dateien Größe: meist weniger als 10% der Originaldatei Je Suchbegriff ein Sekundärschlüssel möglich Invertierte Datei ist um so größer, je länger der Primärschlüssel ist Invertierte Datei Index z. B. ISAM oder Hash Datentabelle Sek.- schlüssel Primärschlüssel Index z. B. ISAM oder Hash Primärschlüssel......... Originaldatei Datentabelle Sek.- schlüssel...............