Datenstrukturen - Prof. Dr. Heinz

Werbung
Datenstrukturen
DV in der Lager- und Transportwirtschaft
Datenstrukturen
Dortmund, Oktober 1998
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund
Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX: (0231)755-4902
1
Datenstrukturen
DV in der Lager- und Transportwirtschaft
Inhalt
Seite
Wiederfinden von Daten
Datei- und Speichertypen
Suchen in Dateien
Indizierte Datenorganisation
Gestreute Datenorganisation
Suchen in indizierten Dateien
Suchen in gestreuten Dateien
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
2
Datenstrukturen
DV in der Lager- und Transportwirtschaft
Beispiel: Bibliotheksverwaltung
Problem: Schnelles Wiederfinden
abgespeicherter Daten
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
3
Datenstrukturen
DV in der Lager- und Transportwirtschaft
Dateien
Relative
Adresse
4 Lucas H.C.
3 Kent W.
Autor
2 Date C.J.
1 Martin J.
Satz
1
2
3
4
.
.
.
Titel
Martin J.
Date C.J.
Kent W.
Lucas H.C.
.
.
.
Application Devel...
An Introduction ...
Data and Reality
Information Systems
.
.
.
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
4
Datenstrukturen
DV in der Lager- und Transportwirtschaft
Datei- und Speichertypen
àSequentielle Dateien
l Zugriff auf Datensätze nur in der gespeicherten Reihenfolge
l Auf sequentiellen Speichern (z.B. Magnetband)
l Ebenfalls möglich auf Direktzugriffsspeichern (z.B. Magnetplatte,
optische Speicherplatte)
àDateien mit direktem Zugriff
l Auf jeden Datensatz kann bei Kenntnis seiner Adresse direkt
zugegriffen werden
l Nur auf Direktzugriffsspeichern
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
5
Datenstrukturen
DV in der Lager- und Transportwirtschaft
Suchen in Dateien
Sequentielle
Sequentielle
Dateien
Dateien
Dateien
Dateien
mit
mit
direktem
direktem
Zugriff
Zugriff
Sequentielle
Sequentielle
Suche
Suche
Sequentielle
Sequentielle
Organisation
Organisation
Index
Indexals
als
Hilfsmittel
Hilfsmittel
Indizierte
Organisation
Algorithmus
Algorithmus
als
alsHilfsmittel
Hilfsmittel
Gestreute
Organisation
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
6
Datenstrukturen
DV in der Lager- und Transportwirtschaft
Indizierte Organisation
Indexdatei
Schlüssel
Date C.J.
Kent W.
Lucas H.C.
Martin J.
.
.
.
Adreßverwei
s
2
3
4
1
.
.
.
Hauptdatei
Relative
Adresse INR*
1
2
3
4
.
.
.
4711
4812
1907
1001
.
.
.
Autor
Titel
Martin J.
Date C.J.
Kent W.
Lucas H.C.
.
.
.
Application Devel...
An Introduction ...
Data and Reality
Information Systems
* INR = Inventarnummer
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
7
Datenstrukturen
DV in der Lager- und Transportwirtschaft
Gestreute Organisation (Hash)
Date C.J.
Kent W.
Codd E.F.
Algorithmus
Algorithmus
Erzeugt die
Adresse aus dem
Schlüssel
1
2
3
4
.
.
.
INR*
Autor
Titel
4711
4812
1907
1001
.
.
.
Martin J.
Date C.J.
Kent W.
Lucas H.C.
.
.
.
Application Devel...
An Introduction ...
Data and Reality
Information Systems
* INR = Inventarnummer
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
8
Datenstrukturen
DV in der Lager- und Transportwirtschaft
Suchen in indizierten Dateien
àUnsortierter Index
àPhysisch sortierter Index
l Sortierreihenfolge der Schlüssel entspricht der Reihenfolge der Sätze im
Speicher
– Binäres Suchen
– m-Wege-Suchen
àLogisch sortierter Index
l Reihenfolge der Sätze ist durch Zeiger bestimmt, nicht durch die Reihenfolge
im Speicher
– Ketten
– Bäume
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
9
Datenstrukturen
DV in der Lager- und Transportwirtschaft
Suchen in indizierten Dateien: Binäres Suchen
à fortgesetztes Halbieren des Suchbereichs
l Vermutung: Das gesuchte Element liegt in der Mitte des Indexbereiches,
deshalb: Vergleich des gesuchten Elementes mit dem Element in der Mitte
l Ist dieses Element kleiner als das gesuchte Element, wird die Suche in der oberen
Hälfte des Indexes fortgesetzt
l Ist dieses Element größer als das gesuchte Element, wird die Suche in der unteren
Hälfte des Indexes fortgesetzt
l Die Suche wird so lange fortgesetzt bis das gesuchte Element gefunden wurde
oder die Länge des Suchbereichs = 1
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
10
Datenstrukturen
DV in der Lager- und Transportwirtschaft
... Suchen in indizierten Dateien: Binäres Suchen
2
3
1
Codd E.F.
Date C.J.
Hansen H.R.
Kent W.
Kotler P.
Lucas H.C.
Martin J.
Rockart J.
Sprague R.
Turban E.
Zachman R.
8
2
10
3
9
4
1
6
7
11
5
Zum Beispiel Suche nach"Kotler P."
1 ... Vergleiche das gesuchte Element
mit dem Element in der Mitte
"Kotler P." < "Lucas H.C."
2 ... Gehe zur Mitte der oberen Hälfte
"Kotler P." > "Hansen H.R."
3 ... Gehe zur Mitte des zweiten Viertels
Gefunden!
65.535 Elemente
höchstens
16 Suchschritte
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
11
Datenstrukturen
DV in der Lager- und Transportwirtschaft
... Suchen in indizierten Dateien: m- Wege-Suchen
à Die Indexdatei wird in Blöcke konstanter Länge eingeteilt
l Gehe zu letzten Element des ersten Blocks
l Falls der Suchschlüssel größer ist als dieses Element: Gehe zum nächsten Block
l Andernfalls befindet sich das gesuchte Element in diesem Block
l Verwende eine andere Such m ethode (z.B. sequentielles oder binäres Suchen) um das Element
in diesem Block zu finden
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
12
Datenstrukturen
DV in der Lager- und Transportwirtschaft
... Suchen in indizierten Dateien: m- Wege-Suchen in hierarchischen Indexdateien
Relative
Adresse Schlüssel
Schlüssel
Codd E.F.
Kotler P.
Sprague R.
Adressverweis
1
5
9
Zweistufiger
hierarchischer Index
1
2
3
4
5
6
7
8
9
10
11
Codd E.F.
Date C.J.
Hansen H.R.
Kent W.
Kotler P.
Lucas H.C.
Martin J.
Rockart J.
Sprague R.
Turban E.
Zachman R.
Adressverweis
8
2
10
3
9
4
1
6
7
11
5
Hauptdatei
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
13
Datenstrukturen
DV in der Lager- und Transportwirtschaft
... Suchen in indizierten Dateien: Ketten
l Sätze sind nicht physisch sortiert
l Jeder Satz enthält Zeiger zum logisch folgenden Satz
l Zeiger, der auf den ersten Satz zeigt, heißt Anker
l Zeiger des letzten Satzes ist eine Endemarke
l Einfügen neuer Sätze physisch am Ende der Datei:
–
Zeiger des nächstkleineren Elementes (Vorgänger) wird auf das neu eingefügte gerichtet
l Löschen eines Datensatzes:
–
Nur der Zeiger des Vorgängerdatensatzeswird verändert, und der Speicherplatz des gelöschten
Datensatzes überschreibbar gemacht
–
Lücken bleiben, Reorganisation erforderlich
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
14
Datenstrukturen
DV in der Lager- und Transportwirtschaft
... Suchen in indizierten Dateien: Physische Repräsentation von Ketten
Physische Sortierung
1
2
3
4
Logische Reihenfolge 5
6
durch Zeiger zum
7
folgenden Satz
8
9
10
11
Schlüssel
Sprague R.
Date C.J.
Kent W.
Hansen H.R.
Turban E.
Kotler P.
Codd E.F.
Martin J.
Rockart J.
Zachman R.
Lucas H.C.
Nachf.
AV
5
4
6
3
10
11
2
9
1
-8
7
2
3
10
11
9
8
1
6
5
4
Hauptdatei
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
15
Datenstrukturen
DV in der Lager- und Transportwirtschaft
... Suchen in indizierten Dateien: Bäume
à Komponenten
l Knoten: Enthalten Anwendungsinformation
l Kanten: Enthalten Adressinformation
à Es gibt genau einen Knoten, der keinen Vorgänger hat:
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. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
16
Datenstrukturen
DV in der Lager- und Transportwirtschaft
... Suchen in indizierten Dateien: Logische Struktur binärer Bäum e
Linker
Nachfolger
Hansen
Hansen H.R.
H.R.
Date
Date C.J.
C.J.
Codd
Codd E.F.
E.F.
Rechter
Nachfolger
Lucas
Lucas H.C.
H.C.
Kotler
Kotler P.
P.
Kent
Kent W.
W.
Sprague
Sprague R.
R.
Turban
Turban E.
E.
Zachman
Zachman R.
R.
Martin
Martin J.
J.
Rockart
Rockart J.
J.
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
17
Datenstrukturen
DV in der Lager- und Transportwirtschaft
... Suchen in indizierten Dateien: Physische Repräsentation binärer Bäume
Schlüssel
1
2
3
4
5
6
7
8
9
10
11
Sprague R.
Date C.J.
Kent W.
Hansen H.R.
Turban E.
Kotler P.
Codd E.F.
Martin J.
Rockart J.
Zachman R.
Lucas H.C.
KF li KF re
5
7
-2
-3
----4
8
--6
10
--9
--1
AV
7
2
3
10
11
9
8
1
6
5
4
Hauptdatei
KF li = linkes Kettenfeld, KF re = rechtes Kettenfeld, AV = AdressVerweis
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
18
Datenstrukturen
DV in der Lager- und Transportwirtschaft
... Suchen in indizierten Dateien: sortierte binäre Bäu m e n
? "Kent"
Lucas
Lucas H.C.
H.C.
<
Hansen
Hansen H.R.
H.R.
Sprague
Sprague R.
R.
>
Date
Date C.J.
C.J.
Kotler
Kotler P.
P.
Turban
Turban E.
E.
Martin
Martin J.
J.
<
Codd
Codd E.F.
E.F.
Kent
Kent W.
W.
Zachman
Zachman R.
R.
Rockart
Rockart J.
J.
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
19
Datenstrukturen
DV in der Lager- und Transportwirtschaft
Suchen in einer gestreuten Organisation
à (Hash - Verfahren)
l Adresse eines Satzes wird aus dem Schlüssel berechnet
– Problem Nr. 1: Welche Funktion soll zur Berechnung verwendet werden?
– Problem Nr. 2: Meist gibt es weniger Speicheradressen als mögliche Schlüssel, so daß
eine Doppelbelegung von Adressen erlaubt werden muß. Wie werden solche
Kollisionen behandelt?
l Vorteil: Schneller Zugriff
l Nachteile:
– Es kann nur ein Schlüssel verwendet werden
– Kein teilqualifizierter Zugriff (mit Schlüsselteilen) m öglich
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
20
Datenstrukturen
DV in der Lager- und Transportwirtschaft
... Suchen in einer gestreuten Organisation
à Beispiel für einen Hash-Algorith m u s
l Schlüssel: Autor (alphabetisch, 10 Zeichen)
l Suche nach "HANSEN "
l Buchstabe:
l EBCDIC:
l Wert:
|H|
|A|
|N|
|S|
|E|
|N|
||
||
||
||
200
193
213
226
197
213
64
64
64
64
200*256 9 + 193*256 8 + 213*256 7 + 226*256 6 + 197*256 5 + 213*256 4 +
64*256 3 + 64*256 2 + 64*256 1 + 64*256 0 =
94804893278549498118208
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
21
Datenstrukturen
DV in der Lager- und Transportwirtschaft
... Suchen in einer gestreuten Organisation
à Beispiel für einen Hash-Algorithmus (Forts.)
l Zuordnung von 94804893278549498118208 zu einer von 1117 (= Hashtabellengröße)
relativen Adressen
l Zum Beispiel beim Divisionsrestverfahren
– Adresse = Rest der Division 94804893278549498118208 : 1117, das ist die Zahl
403
– Lesen des Schlüssels mit der Adresse 403
– Dort könnte ein anderer Schlüssel stehen (Kollision!)
l Kollisionsbehandlung
– Zum Beispiel Suche nach dem Schlüssel im Überlaufbereich, der die
kollidierenden Sätze in untereinander verketteter Form enthält
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
22
Datenstrukturen
DV in der Lager- und Transportwirtschaft
Vergleich von Dateiorganisationsformen
Speicher
Suchstrategien
Reorganisation
Primär/Sekundärschl.
Nein
Kein
Schlüsselzugriff möglich
Sequentiell
oder direkt
adressierbar
Sequentiell
Indiziert
Direkt
adressierbar
Sequentiell,
binär, mWege
Nein
Ja
Primärschlüssel,
Sekundärschlüssel
Hash
Direkt
adressierbar
Suche nur bei
Kollision
notwendig
Nein
Primärschlüssel
Sequentiell
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
23
Datenstrukturen
DV in der Lager- und Transportwirtschaft
Probleme bei dezentraler Datenverwaltung
à Redundanz
l Mehrfache Speicherung derselben Datenelemente
l Beispiel:
–
Kundennamen und Adressen sind in verschiedenen Dateien gespeichert, die von verschiedenen
Programmen verwendet werden
à Inkonsistenz
l Verschiedene Werte für dieselben Daten
l Beispiel:
–
Derselbe Kunde ist in einer Datei als “Winkels” und in einer anderen als “Winkler” gespeichert
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
24
Datenstrukturen
DV in der Lager- und Transportwirtschaft
Prof. Dr. Heinz-Michael Winkels, FH-Dortmund
Datenstrukturen.ppt/HMW/17.03.00
25
Herunterladen