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)