P8000/WEGA/contrib/ingres/dbs/sys/ref/modify

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)