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