122 lines
4.2 KiB
Plaintext
122 lines
4.2 KiB
Plaintext
MODIFY(QL) DABA16 MODIFY(QL)
|
|
|
|
NAME
|
|
modify - Modifizieren der Speicherungsstruktur einer Rela-
|
|
tion
|
|
|
|
UEBERSICHT
|
|
modify relname [ to storage_structure [ on key1
|
|
[ : sortorder ] { , key_n [ : sortorder ] } ]
|
|
[ where [ fillfactor = n ]
|
|
[ , minpages = n ] [ , maxpages = n ] ] ]
|
|
|
|
BESCHREIBUNG
|
|
Relname wird in die spezifizierte Speicherungsstruktur modi-
|
|
fiziert. Nur der Relationseigentuemer darf die Relation mo-
|
|
difizieren.
|
|
|
|
Folgende Speicherungsstrukturen (storage_structure) sind mo-
|
|
eglich :
|
|
|
|
isam - index-sequentielle Speicherungsstruktur
|
|
cisam - isam, komprimiert
|
|
hash - Random hash Speicherungsstruktur
|
|
chash - hash, komprimiert
|
|
heap - schluessellos unstrukturiert
|
|
cheap - heap, komprimiert
|
|
heapsort - heap sortiert, doppelte Tupel entfernt
|
|
cheapsort - heapsort, komprimiert
|
|
truncated - heap, alle Tupel geloescht (tupellos)
|
|
same - Reorganisation
|
|
|
|
Die Strukturen "heapsort", "cheapsort", "truncated" und "sa-
|
|
me" sind nur temporaere Zustaende und im eigentlichen Sinne
|
|
keine Speicherungsstrukturen.
|
|
|
|
|
|
Wenn eine Relation in heapsort oder cheapsort modifiziert
|
|
werden soll, kann die Sortierrichtung sortorder als ascen-
|
|
ding (aufsteigend) oder descending (absteigend) spezifiziert
|
|
werden.
|
|
|
|
|
|
Fillfactor spezifiziert den prozentualen Fuellfaktor (von
|
|
1-100) jeder primaeren Datenseite, die (unter idealen Bedin-
|
|
gungen) mit Tupel gefuellt werden soll.
|
|
|
|
|
|
Minpages spezifiziert die minimale Anzahl von Primaerseiten
|
|
fuer hash- oder chash-Relationen. Maxpages ist die maximale
|
|
Anzahl von Primaerseiten, die eine hash- oder chash-Relation
|
|
besitzen soll.
|
|
|
|
|
|
BEISPIEL[E]
|
|
/* Modifizieren der Relation "personal" in eine
|
|
index-sequentielle Speicherungsstruktur
|
|
mit "name" als Schluesseldomaene/*
|
|
|
|
modify personal to isam on name
|
|
|
|
/* Wenn "name" die erste Domaene der Relation
|
|
"personal" ist, wird das gleiche
|
|
Resultat erreicht durch : */
|
|
|
|
modify personal to isam
|
|
|
|
/* Die gleiche Modifikation aber mit einer
|
|
geforderten Belegung der Primaerseiten
|
|
von 60% */
|
|
|
|
modify personal to isam on name where fillfactor = 60
|
|
|
|
|
|
|
|
|
|
/* Modifizieren der Relation "lieferung" in eine
|
|
hash Speicherungsstruktur mit "num"
|
|
und "menge" als Schluesseldomaenen */
|
|
|
|
modify lieferung to chash on num, menge
|
|
|
|
/* Die gleiche Modifikation aber mit einem
|
|
gewuenschten Belegungsgrad der
|
|
Primaerseiten von 75%, einem Minimum von 7
|
|
und einem Maximum von 43 Primaerseiten */
|
|
|
|
modify lieferung to chash on num, menge
|
|
where fillfactor = 75, minpages = 7,
|
|
maxpages = 43
|
|
|
|
/* Noch einmal die gleiche Modifikation aber mit
|
|
einem Minimum von 16 geforderten
|
|
Primaerseiten */
|
|
|
|
modify lieferung to chash on num, menge
|
|
where minpages = 16
|
|
|
|
|
|
|
|
|
|
/* Modifizieren der Relation "teile" in eine
|
|
heap Speicherungsstruktur */
|
|
|
|
modify teile to heap
|
|
|
|
/* Modifizieren der Relation "teile" in heap aber
|
|
sortieren der Domaene "tnum" und dem
|
|
Entfernen doppelter Tupel */
|
|
|
|
modify teile to heapsort on tnum
|
|
|
|
/* Modifizieren der Relation "personal" in
|
|
aufsteigender Sortierfolge nach
|
|
"gebdat" (Geburtsjahr) und absteigender
|
|
Sortierfolge nach "gehalt" sowie dem
|
|
Entfernen doppelter Tupel */
|
|
|
|
modify personal to heapsort on gebdat, gehalt:descending
|
|
|
|
SIEHE AUCH
|
|
modifyr(mutos), sysmod(mutos)
|