Rechnersysteme File und Database
1 File Systems
1.1 Speichermedien
1.1.1 Magnetband
Vol1 |
HDR1 |
S1 |
S2 |
S3 |
S4 |
EOF1 |
Nächster Datenbestand |
||||||||||
Reflektormarke Gap
Vol1 |
Volume Kennsatz char 6 (‚Lohn‘) Kennzeichnet den Datenträger |
HDR1 |
Header: Kennzeichnet den nachfolgenden Datenbestand |
Name char 31 |
80 Byte |
Erstelldatum |
|
Schutzdatum |
|
Recsize (Record - Size) |
|
BlkSize (Block - Size) |
|
EOF1 |
End of File char 80 Wie HDR1 + Anzahl der Sätze |
1.1.2 4 - Spur - Bänder
8 Spuren Information + 1 Parity BitH |
U |
G |
O |
||||
1 |
1 |
1 |
1 |
... |
0 |
Daten |
|
1 |
1 |
1 |
1 |
... |
0 |
||
0 |
1 |
0 |
0 |
... |
1 |
Blockprüfung |
|
0 |
0 |
0 |
1 |
... |
0 |
||
1 |
0 |
0 |
0 |
... |
1 |
||
0 |
1 |
1 |
1 |
... |
1 |
||
0 |
0 |
1 |
1 |
... |
0 |
||
0 |
0 |
1 |
0 |
... |
1 |
||
1 |
0 |
1 |
1 |
Parity - Bit |
Durch VRC (vertical redundacy check) und LRC (longitudinal redundancy check) sind 1 - Bit - Fehler korrigierbar, weil sie mit Hilfe des Parity - Bits und der Blockprüfung genau lokalisierbar sind. 2 - Bit - Fehler sind nur erkennbar.
1.1.3 Magnetplatte
Platten |
Antriebs - achse |
Schreib/ Lese - Köpfe |
Zugriffs - kamm |
1.1.3.1 Aufbau einer Spur
Home Adress |
Spurbeschreibungssatz |
Record |
Record |
|||||
CC HH |
OK / defekt |
|||||||
CC = Cylinder # HH = Head # |
è CC HH der Ersatzspur |
Count (Rel. Satz) |
Key (Satzschlüsel) |
Data |
||||
C |
K |
D |
||||||
Architektur |
1.1.3.2 Aufbau eines Volumes
Vol1 |
VTOC↑ |
|||
Lohn - Datenbestand |
||||
HRD1 |
Name |
↑ |
Beginn |
Größe |
HDR1 |
Name |
↑ |
Beginn |
Größe |
VTOC = Volume Table of Contents (Directory)
2 Dateien und Datenbestände
OPEN |
Input |
HRD1 wird auf Platte gesucht |
Output |
HDR1 wird geschrieben bzw. erstellt |
|
CLOSE |
Input |
- |
Output |
EOF1 wird erstellt |
|
READ / WRITE |
Datenmanagement stellt einen Satz im Buffer (& Working Storage) zur Verfügung, bzw. Datenmanagement schreibt Daten auf das Speichermedium |
2.1 Ungeblockte Sätze
S1 |
S2 |
S3 |
S4 |
... |
Band |
Read |
Datenmanagement |
I/O - Buffer (Select .. Recsize, BlkSize) |
Working Storage (in Working Storage Section) |
2.2 Blocken der Sätze
S1 |
S2 |
S3 |
S4 |
S5 |
S6 |
S7 |
S8 |
S9 |
S10 |
S11 |
S12 |
1. READ 5. READ
1. |
2. |
3. |
4. |
2.3 Blocken der Sätze und 2 I/O Buffer
S1 |
S2 |
S3 |
S4 |
S5 |
S6 |
S7 |
S8 |
S9 |
S10 |
S11 |
S12 |
S13 |
3 Datenmanagement
Zugriffsmethoden SAM, ISAM, DAM
Zugriffsmethoden sind Hilfsroutinen des Betriebssystems, die dem Programmierer einfachen Zugriff auf Datenbestände ermöglichen3.1 SAM - sequential access method
Magnetband oder MagnetplatteREAD |
Liest den nächsten physischen Satz auf dem Band / Platte in den Speicher (Working Storage) |
WRITE |
Schreibt den Satz physisch auf Band oder Platte |
REWRITE |
Überschreibt den zuvor gelesenen Satz. Die Satzlänge muss gleich bleiben |
DELETE |
- |
INSERT |
- |
Update eines (consecutive Datenbestandes)
Stamm - Alt |
Beweg |
OPEN Input Stamm - Alt, Beweg OPEN Output Stamm - Neu |
||||||
READ Stamm - Alt, READ Beweg |
||||||
WHILE NOT EOF(Stamm - Alt) OR NOT EOF(Beweg) |
||||||
Vgl. KEY(Stamm - Alt) mit KEY(Beweg) |
||||||
< |
= |
> |
||||
Stamm - Alt - Satz è Stamm - Neu |
DELETE |
Beweg - Satz è Stamm - Neu |
||||
% |
Beweg - Satz è Stamm - Neu |
|||||
READ Stamm - Alt |
READ Stamm - Alt READ Beweg |
READ Beweg |
||||
EOF |
EOF |
EOF |
||||
KEY = HighValue |
% |
KEY = HighValue |
% |
KEY = HighValue |
% |
|
CLOSE aller Dateien |
Vorteil: sehr schnell
Nachteil: kein Direktzugriff
3.2 ISAM - index sequential access method
Vgl. dazu auch ArbeitsblattFunktionen:
READ |
READ NEXT bringt den logisch nächsten Satz READ KEY 4711 : Direktzugriff über alle Indexstufen |
WRITE |
Sätze müssen sortiert geladen werden. ISAM baut die Indizies automatisch auf à Spurindex à Zylinderindex à Hauptindex |
REWRITE |
Satzlänge und Schlüssel dürfen nicht geändert werden |
DELETE |
Nur mit Delete - Byte (Schlüssel) möglich |
INSERT |
Sätze kommen in die Ãœberlaufspuren à bei READ DIRECT wird immer die zugehörige Ãœberlaufspur mit durchsucht bevor ‚not found‘ gemeldet wird |
Nachteil: langsame Methode bei Direktzugriff wegen des mehrstufigen Indexes
à Antwortzeiten im Online - Betrieb sind bei großen Datenbeständenschlecht
3.3 DAM - direct access method
3.3.1 Regional 1
0 |
4710 |
1 |
4711 |
2 |
3 |
4713 |
4 |
||
5 |
4715 |
6 |
4716 |
7 |
4717 |
8 |
9 |
||
Der gesamte zur Verfügung stehende Plattenplatz wird in Regionen aufgeteilt. Eine Region nimmt einen Satz auf.
Durch Umrechnungen mit Hilfe eines Umrechnungsschlüssels erhält man aus dem Schlüsselwort die Region#.
Schlüsselwort |
Region# |
4710 4711 4713 4715 4716 4717 |
0 1 2 3 5 6 |
READ NEXT |
Bringt die physische Folge der Sätze (logische Folge) |
READ ... REGION# |
Bringt den Satz der spezifizierten Region |
WRITE |
Schreibt einen Satz in die errechnete Region |
REWRITE |
Schlüssel darf nicht geändert werden |
DELETE |
REGION wird mit X‘00‘ überschrieben |
INSERT |
Wie WRITE |
Nachteil: Umrechnung der Schlüssel in der Region notwendig.
à geschlossene Schlüsselkreise notwendig, da sonst große Lücken auf der Platte entstehen
à Sätze müssen alle gleich lang sein
3.3.2 Regional 3
47114712
4805
4874
4913
5000
5001
Für gestreute Schlüssel geeignet
Divisionsrestmethode:
KEY: Anzahl Spuren = Ergebnis + Rest
Rest gibt die Region# an
Funktionen:
READ NEXT |
Physisch sequentieller Zugriff |
READ ... KEY |
Direktzugriff |
WRITE |
Hashing - Methode errechnet den physischen Speicherplatz (Region#) Variable Satzlänge möglich |
REWRITE |
Gleiche Schlüssel und gleiche Satzlänge sind Voraussetzung |
DELETE |
Nur mit Löschkennzeichen |
INSERT |
Wie WRITE |
Gestreute Schlüssel möglich
Variable Satzlänge möglich
Nachteil: zum sequentiellen Verarbeiten muss der Datenbestand sortiert werden
Die Sätze können nicht mehr in die ursprüngliche Reihenfolge zurückgebracht werden.
3.4 Nachteil aller Methoden
-
kein Zugriffsschutz nicht Reorganisationsfrei kein Komfort beim Verwalten der Datenbestände keine Verarbeitung über Sekundärschlüssel viel Arbeit mit der Plattenverwaltung kein Schutz vor unbeabsichtigtem Löschen
3.5 Performance Betrachtungen
3.5.1 DAM/ISAM
Performanceprobleme durch gelöschte Sätze und stark gefüllte Überlaufbereicheè Reorganisation:
-
unload der Datei auf die Platte Newdefine der Plattenbereiche Reload der Datei von der Platte
3.5.2 SAM
Performanceprobleme durch Sätze und gelöschte Sätze-
à unload à reload blocken und 2 Buffer anlegen
4 File Systems
Bisherige Verfahren: SAM, ISAM, DAMVorteil: wenig Speicherbedarf
Nachteil: unkomfortabel, wenig Funktionalität
IBM - Methode: VSAM - virtual storage access method
-
Catalogs Cluster Physische Organisation Logische Organisation Alternative Index
4.1 Catalogs
VSAM besitzt eine zentrale Informationsstelle im System, den "Catalog". Dieser verwaltet alle zugeordneten Volumes, Datenbestände, Paßwörter, usw.Wird der Catalog zerstört (z. B. durch Stromausfall während eines Updates), so können alle von ihm verwalteten Datenbestände nicht mehr eröffnet werden.
Wie schützt man einen solchen Catalog?
4.1.1 Recoverable Catalog
CRA = Catalog Recevery Area (Kopie der Katalog Daten)Die CRA wird ständig mit den Katalogdaten synchronisiert. Wird der Katalog zerstört, können seine Daten mit Hilfe der CRA wieder hergestellt werden.
4.1.2 Mehrere Subcataloge anlegen
-
Möglichkeit: Für jedes Volume wird ein Subcatalog angelegt.
-
Möglichkeit: Für jedes Sachgebiet wird ein Subcatalog angelegt.
-
gesamte VSAM - Space wird verwaltet Datenbestände mit ihrem Attributen werden verwaltet
è Vgl. Arbeitsblatt; Listing von Katalog MCAT.WI
VSAM - Implementierung
-
Masterkataloge anlegen durch DBA (Data - Base - Administrator)
-
Subcataloge an legen durch DBA (Data - Base - Administrator)
-
VSAM - Space anlegen
-
Datenbestand (Cluster) anlegen
à im VSAM - Space Platz reservieren für diese zukünftige Datei
-
Datenbestand laden und damit arbeiten
-
Datenbestand aus dem Catalog löschen
4.2 Cluster
VSAM - Datenbestände werden mit Hilfe der VSAM Definitionssprache "AMS - Acces Method Services" definiert.Beispiel:
DEFINE CLUSTER
NAME(Personal.Stamm.Datei)
MASTERPW(Hugo)
UPDATEPW(Berta)
READPW(Emma)
CYLINDER(50 - 2)
[fürs erste Laden; Sekundärerweiterung bei Überlauf (automatisch)]
FOR(1000) TO (365 2000)
INDEXED
KEYS(50 0)
[Länge und Offset vom Key]
RECORDSIZE(80 150)
[∅, max]
FREESPACE(30 30)
[30%]
CATALOG(Hugo1)
4.3 Physische Organisation
Jeder Cluster besteht intern aus Control - Invervallen. (Blöcke gleicher Länge 2K, 4K, 8K [1K, 512 Byte], welche organisatorisch zu Control - Areas zusammen gefaßt werden)2K |
||
Ci1 |
||
C1 |
Ci2 |
|
Ci3 |
||
Ci4 |
||
C2 |
Ci5 |
|
Ci6 |
||
Ci7 |
Ci - Size> max Satzlänge
CA - Size wird VSAM intern je nach Plattencharakteristik bestimmt (immer 1 Cylinder der physischen Platte)
Zwischen Device und Hauptspreicher werden immer nur ganze Cis hin - bzw. herbewegt.
Wird ein Cluster geladen, werden die Sätze von links nach rechts in ein Ci gestellt, während von rechts nach links Kontrollinformationen eingetragen werden.
S1 |
S2 |
S3 |
S4 |
Länge Freespace |
RDF |
CiDF |
||||||
0 |
1 |
2 |
3 |
|||||||||
Offset |
Länge |
RDF è Record Definition Field (verwaltet Sätze in Ci)
Beispiel:
2K |
|||||||||||
S1 |
S2 |
S3 |
Länge Freespace |
RDF1 |
RDF2 |
CiDF |
|||||
100 |
50 |
100 |
100 |
50 |
00 |
100 |
0 |
0 |
|||
4 Byte |
Man unterschiedet zwei verschieden Plattentypen:
1. CKD - Platten: Cylinder, Spuren
2. FBA - Platten: Fixed - Block - Architecture
Block 212 264 ist Beginn des VSAM - Cluster = Beginn des ersten Cis
Ci - Size = 2K
Fragen:
-
Wieviel Sätze sind in einem Ci? à RDF Wie lang sind die Sätze? à RDF Wieviel Freespace gibt es im Ci? à CiDF
4.4 Logische Organisation
VSAM unterstützt sequentielle, index - sequentielle und driekte ZugriffeESDS: entry sequence data set (entspricht SAM, Datei in Zugriffsfolge)
à Die Sätze haben keinen Ordnungsbegriff
DEFINE CLUSTER
...
NONINDEXED
FREESPACE(0 0)
Funktionen:
WRITE: der Satz wird hinter den vorhergehenden geschrieben
READ NEXT: sequentielles Lesen
REWRITE: Satzlänge darf nicht geändert werden
Sätze können nur am Ende des Datenbestandes angefügt werden
Kein insert
Kein delete
4.4.1 RRADS: Relative Record Data Set (=DAM Regional 1)
Jeweils 2 RDF |
CiDF |
|||||
0 |
1 |
2 |
3 |
|||
4 |
5 |
6 |
7 |
|||
Umrechnung notwendig
Schlüssel à rel. Satz# (Slot)
z. B. PNr. 4711 Ã Slot# 4711
Funktionen:
WRITE ... SLOT# schreibt Satz in den spezifizierten Slot
READ NEXT sequentielles Lesen
READ ... SLOT# direktes Lesen
INSERT ... SLOT# schreibt einen Satz in einen leeren Slot
DELETE ... SLOT# löscht einen Satz
REWRITE ändert Satzinhalt
DEFINE - Klausel:
DEFINE CLUSTER
...
NUMBERED
5 VSAM - Key sequence data set (KSDS)
Die Sätze besitzen einen Schlüssel, über den ein Index aufgebaut wird.DEFINE - Klausel:
DEFINE CLUSTER
...
INDEXED
KEYS (Länge, Offset)
FREESPACE (30 25) {30% in Ci und 25% in Ca}
OPEN UPDATE SEQUENTIAL
à Ca - Splits
OPEN UPDATE DIRECT
à Ci - Splits
Funktionen bei KSDS:
WRITE Muß sortiert nach Schlüssellänge erfolgen. VSAM baut den Index automatisch auf.
Auf der obersten Indexstue beschreibt 1 Ci, die gesamte Datei.
READ ... KEY(4711) Direktes Lesen erfolgt über alle Indexstufen
READ NEXT Sequentielles Lesen erfolgt über den sequence - set (unterste Indexstufe)
INSERT Bei Einzelzugängen eventuell ein Ci - Split
Bei Massenzugängen Ca - Split
DELETE KEY(4711) Die nachfolgenden Sätze werden nach vorne geschoben; der Freespace ist immer kompakt am Ende des Ci.
REWRITE Sätze können verlängert und verkürzt werden
Alternate - Index
Beispiel: Kundenstamm - Daten einer Kfz - Versicherung
Satzaufbau: (Key = Vers. - Nr)
Vers. - Nr. |
Name, Vorname |
Anschrift |
Kfz - Nr. |
Id - Nr. |
Vers. - Daten |
-
Basiscluster definieren (DEFINE CLUSTER) Basiscluster mit Daten laden (Cobol / PL1 - Programm) Alternate index definieren "Build Index" lädt die Schlüsselpaare in den AIX Pfad definieren Arbeiten
OPEN
-
READ KEY ( )
à spezifiziert Satz aus Base - Cluster; Not - Found abfragen READ NEXT
à Sätze in der Sortierfolge des Primärschlüssels; EOF abfragen
-
READ KEY ( ) READ NEXT
OPEN
-
READ ... (ALTERNATE - KEY)
à Spezifizierter Cluster aus Base - Cluster wird zurückgegeben READ NEXT
à gesamter Basisdatenbestand in der neuen Sortierreihenfolge
6 Datenbanken
Herkömmliche Datenspeicherung: Files (à VSAM)Funktionsorientierter Ansatz bei der Systementwicklung:
Funktionen stehen im Vordergrund bei der Entwicklung. Datenbestände werden den Erfodernissen der Programme angepaßt (Welcher Input wird benötigt, damit der Output erzeugt werden kann?).
à Redundanz der Datenspeicherung à Konsistenzprobleme
Datenorientierter Ansatz:
Die Datenstrukturen im Unternehmen sind relativ stabil. Die Funktionen sind dagegen ständigen Änderungen unterworfen.
Programme / Benutzer |
Views |
Data Base Management System |
P1 |
DBMS |
|
P2 |
||
Zugriffsbefehle: IMS / PL1 / SQL / Natural |
||
P3 |
||
P4 |
Funktionen des DBMS:
-
stellt Befehle zur Manipulation zur Verfügung stellt für die Benutzer Views zur Verfügung stellt eine Authority - Schema für die Benutzer zur Verfügung (Berechtigungen) und prüft beim Zugriff diese Berechtigungen ab verfügt über einen Locking - Mechanismus für "concurrency" (konkurrierender Zugriff) stellt Logging - Mechanismus für Warmstart zur Verfügung Mechanismen für Backup / Restore Mechanismen zur Sicherung der Datenintegrität
6.1 Datenbankmodelle
-
invertierte Listen (ADABAS - Datenbanke, Software AG) Netzwerkmodelle (Siemens - UDS, CA - IDMS, ... CODASYL - Datenbanken) Hierarchisches Modell (IBM - IMS, PL1) Relationales Modell (IBM - DB2, Oracle - ??, Informix - ??, Tandem - ??, ...) Obektorientiertes Modell (für Videoobjekte, Sound, Graphik) (POSTGRES)
6.2 Das hierarchische Datenbankmodell am Beispiel von
IMS / PL1
Beispiel: Personaldatensatz soll abgespeichert werdenPers# |
Name |
Anschrift |
Ausbildung |
Fam.Daten |
Gehalt |
Key |
n* |
n* |
n* |
n* |
-
als VSAM - KSDS abspeichern
Multiple Felder - wie oft legt man das Datenfeld an?
Wie schützt man Felder vor unbefugtem Zugriff?
-
als PL1 - Datenbank abspeichern (in Form eines hierarchischen Baumes)
(Root - Segment) |
Pointer Area |
Pers# |
Name |
|
Anschrift |
Ausbildung |
PA |
Fam. Daten |
Gehalt |
|||
(Dependent Segmente) |
|||||||
Kinder |
Root - Segmente: bilden den Einstieg in die Datenbank
Dependent - Segmente: sind Sequenztypen auf der unteren Hierarchieebene (max. 15. Ebenen)
Alle Segmente sind verpointert.
Die Programme müssen entlang der Pointer navigieren.
GET PNR 4711
GET Fam.Daten
GET Kinder
GET NEXT PNR
Beispiel: Verknüpfung von Datenbanken
Personal - Datenbank
Die Verknüpfung mehrerer physischer Datensätze führt zu weiteren möglichen Datenbank - Strukturen.
Views werden erstellt, indem man für die Anwendung nur bestimmte Segmenttypen und Felder sensitiv macht.
6.3 Pointersysteme
d. h. in den Datenbanken sind Pointer (in der Regel VSAM - RBAs) abgespeichert.Das Root - Segment enthält den Schlüssel für den Direktzugriff.
Die Dependent - Segmente werden über die Pointer PCF / PTF gefunden.
Pointer können auch in andere Datenbanken zeigen.
Pointer werden bei der Generierung des Datenbankschemas angelegt (Struktur der Datenbank) und sind nur schwer modifizierbar.
-
Datenbanksegemente komplett auf Bank speichern Datenbankschema neu generieren Die Daten von Band zurückspeichern Alle Programme anpassen
Der Zugriff zu den Segmenten erfolgt über Zugriffsbefehle des DBMS:
GET UNIQUE è direct Read (Rootsegment)
GET NEXT è sequentielles Read bis Datenbankende
GET NEXT IN PARENT è liest nur die abhängigen Segmente unter einem Parent Segment
7 Programmentwicklung
7.1 Beispiele zur Programmierung
7.1.1 alle Segmente der Datenbank
à drucke alle Segmente der Datenbank ausÓpen Liste, Überschrift drucken |
|
EXEC DL 1 GET NEXT INTO IO |
|
While Not DB - Ende |
|
Drucke IO |
|
EXEC DL 1 GET NEXT INTO IO |
-
Statuscode (Feld DibStat) [´ ´] Segmentname (Feld DibSEGM) [Name] Hierarchiestufe (Feld DibSegrLV) [2]
7.1.2 alle "Name" - Segmente der Datenbank
Um alle "Name" - Segmente der Datenbank ausdrucken zu können, muss der GET - NEXT - CALL von 7.1.1 modifiziert werden.-
EXEC DL 1 GN SEGMENT(Name) INTO IO
Ópen Liste, Überschrift drucken |
|
EXEC DL 1 GN SEGMENT(Name) INTO IO |
|
WHILE DibStat NOT = GB |
|
Drucke IO |
|
EXEC DL 1 GN SEGMENT(Name) INTO IO |
-
DibSEGM = ´Name´
Ópen Liste, Überschrift drucken |
|
EXEC DL GN INTO IO |
|
WHILE NOT GB |
|
DibSegm = ´Name´ |
|
Drucke IO |
% |
EXEC DL 1 GN SEGMENT(Name) INTO IO |
7.1.3 Namen aller Mitarbeiter
Ópen Liste, Überschrift drucken |
|
EXEC DL GET UNIQUE SEGMENT=´Funktion´ WHERE KEY = ´Craftsman´ |
|
DibSTAT = GE |
|
DISPLAY ´Segment not Found´ |
EXEC DL 1 GET NEXT INTI IO |
EXIT |
WHILE DibSEGM NOT = 1 |
IF DibSEGM = 2 |
|
Drucke Name - Segment |
|
EXEC DL 1 GET NEXT INTO IO |
Ópen Liste, Überschrift drucken |
|
GET UNIQUE SEGMENT(Funktion) WHERE KEY = ´Craftsmen´ |
|
DibSTAT = GE |
|
DISPLAY "Not Found" |
EXEC DL 1 GNP SEGMENT NAME INTO IO |
WHILE DibSTAT NOT = GE |
|
Drucke |
|
GNP SEGMENT NAME INTO IO |
7.1.4 Alle Mitarbeiter die Abitur haben (EDUC - Segment = Abitur)
Open Liste, Drucke Ãœberschrift |
|
EXEC DL 1 GN INTO IO |
|
WHILE NOT = GB |
|
DibSEGM = 2 |
|
IO Ã Hilfefeld |
|
GNP Segment EDUC |
|
WHILE NOT GE |
|
Abitur |
|
Drucke Hilfefeld |
|
GNP Segment EDUC |
|
EXEC DL 1 GET NEXT INTO IO |
8 Die Zugriffsmethoden HDAM und HiDAM
Segmentformat:SC |
DB |
Pointer Area (PCF, PTF) |
Daten |
Delete Byte wird nicht verwendet
Segmentcode: 1 Root
2 Name
3 EXPR
4 EDUC
Die Segmente werden physisch in einem VSAM - ESDS - Cluster abgespeichert.
8.1 HDAM - Hierarchical direct access method
FSEAP: Freespace Element Anchor PointAP: Anchor Pint
RAA: Root Adressable Area
OFL; Overflow Area
Freespaceverwaltung:
Bit Map: 0 in Ci ist noch Freespace
1 Ci ist gefüllt
FSEAP: Pointer zeigt auf den ersten Freespace in Ci jeglicher weiterer Freespace ist verpointert.
-
Der gesamte Freespace in Ci ist verpointert
Root Key |
RR |
Ci # |
+ |
AP |
Randomizing Routine |
Artist |
2 |
1 |
LOAD / INSERT: Der Platz für ein Root - Segment wird über die Randomizing - Routine errechnet.
à Ci# + AP#
Werden für mehrere Root - Segmente die gleiche Ci# und gleiche AP# errechnet werden alle Roots in Ci über PTF verkettet.
Dependent - Segmente kommen in den OFC und werden über PCF und PTF verkettet.
GET UNIQUE: Max 1 IO um ein Root - Segment zu finden.
à schnellste Datenfankmethode überhaupt
à Zugriffsgeschwindigkeit ist unabhängig von der Größe der Datenbank
è Ideal für sehr große Datenbanken und Online - Betrieb.
GN, GNP: Ãœber PCF und PTF
INSERT: über Bit - Map und FSEAP wird freier Platz für das einzufügende Segment gesucht.
DELETE: Das gelöschte Segment wird als Freespace verkettet.
à Reorganisationsfrei
REPLACE: Ein Segment kann verlängert oder verkürzt werden.
Nachteil: GET NEXT bringt physische Reihenfolge der Root - Segmente.
è Gebräuchlichste Datenbank für Massendaten in der IBM - Großrechnerwelt.
8.2 HiDAM - Hierarchical indexed direct access method
è ermöglicht über eine Index - Datenbank den direkten und den sewuentiellen Zugriff auf die Root - SegmenteDie Daten werden beim Coden sequentiell abgespeichert
-
keine Randomizing Routine keine Overflow - Area keine Ankerpunkte
Die Freespaceverwaltung erfolgt wie bei HDAM durch eine Bit - Map und durch FSEAP.
Vorteil:
-
direkter und sequentieller Zugriff Reorganisationsfreiheit durch Freespaceverwaltung
-
langsamer, da Index durchsucht werden muss
(nur 3 IOs fr eine Root - Segment)
3125 Worte in "deutsch" als "hilfreich" bewertet