This commit is contained in:
Oliver Lehmann 1989-07-21 12:37:05 +00:00
parent 6cb1457382
commit 48edad2e85
33 changed files with 1519 additions and 0 deletions

View File

@ -0,0 +1,110 @@
AMX(MUTOS) DABA16 AMX(MUTOS)
NAME
amx - AMX-Compiler
UEBERSICHT
amx [ flags ] file.x
amxf [ flags ] file.x
samx [ flags ] file.x
oamx [ flags ] file.x
oamxf [ flags ] file.x
BESCHREIBUNG
AMX bietet dem Nutzer die Moeglichkeit (aehnlich EQL), Da-
tenbankoperationen aus C-Programmen heraus auszuloesen. Das
AMX-Interface besteht aus dem AMX-Compiler und einer AMX-
Laufzeit-Bibliothek. Der Aufruf des AMX-Compilers umfasst
den Aufruf des DABA-AMX-Praecompilers und den Aufruf von cc
(einschliesslich Linker).
Die verschiedenen Aufrufversionen des AMX-Compilers sind
durch verschiedene spezifische Unterstuetzungen der Be-
triebssysteme bedingt.
Normalerweise (MUTOS) ist fuer den Aufruf des AMX-Compilers
amx zu benutzen.
In Betriebssystemen mit der Moeglichkeit einer Segmentierung
der ausfuehrbaren Programme kann samx benutzt werden.
Bei der Moeglichkeit der Erzeugung einer Ueberlagerungs-
struktur (Overlay-Struktur) koennen entweder oamx oder oamxf
verwendet werden.
Ein Suffix f fuer amxf und oamxf ist das Kennzeichen, dass
ein zu Fortran compatibler C-Code entsteht.
Die fuer AMX notwendigen AMX-Laufzeit-Bibliotheken (Stan-
dard: .../lib/libamx.a) sind bereitgestellt und werden auto-
matisch angeschlossen.
Compilationsbedingungen
Alle AMX-Programme muessen mit dem Suffix .x enden.
Wenn der AMX-Compiler ein AMX-Programm uebersetzen soll, ar-
beitet dieser als Nutzer daba. Damit das uebersetzte Pro-
gramm in das Directory, in dem sich das File file.x befin-
det, geschrieben werden kann, muss der Nutzer daba in diesem
Directory Schreiberlaubnis besitzen.
Das durch den AMX-Compiler erzeugte Programm besitzt den
File-Modus oktal "6755". Es ist beim Kopieren des Files zu
sichern, dass dieser Modus erhalten bleibt.
Die Spezifikation des File-Namen erfolgt, wie ueblich, als
absoluter oder relativer Pfadname.
Es ist moeglich, mit einem amx Aufruf mehrere AMX-
Objektmoduln zu erzeugen.
Wenn mehrere Objektmoduln zu einem ausfuehrbaren Programm
verbunden (Linken) werden, darf von diesen nur ein einziger
Objektmodul AMX-Anweisungen enthalten.
Compilation
Um ein AMX-Programm vorzuuebersetzen, zu compilieren und zu
verbinden (Linken), d.h. um ein abarbeitungsfaehiges Pro-
gramm zu erzeugen, ist zu spezifizieren:
amx -o file file.x.
Es koennen alle von cc her bekannten flags verwendet werden.
BEISPIELE
Erzeugen eines Objektmoduls aus einem Qullmodul:
amx -c -O neuheit.x
Erzeugen eines Programmes aus einem Objektmodul:
amx -o neuheit neuheit.o
Erzeugen eines Programmes aus einem AMX-Quellmodul:
amx -O -o neuheit neuheit.x
Erzeugen eines Programmes aus einem AMX- und einem C-
Quellmodul:
amx -O -o neuheit neuheit.x zusatz.c
Erzeugen von Objektmoduln aus eienem AMX- und einem C-
Quellmodul:
amx -c -O neuheit.x zusatz.c oder
amx -c -O neuheit.x; cc -c -O zusatz.o
Erzeugen eines Programmes aus Objektmoduln:
amx -o neuheit neuheit.o zusatz.o
SIEHE AUCH
amx(daba), libamx(files)

View File

@ -0,0 +1,48 @@
APPEND(QL) DABA16 APPEND(QL)
NAME
append - Anfuegen (Einfuegen) neuer Tupel an die Relation
UEBERSICHT
append [to] relname (target_list) [where qual]
BESCHREIBUNG
Append fuegt Tupel, welche die Qualifikation qual erfuellen,
an die Relation relname, wobei relname der Name einer beste-
henden Relation sein muss. Die target_list (Ziel- oder Er-
gebnisliste) spezifiziert die Werte der Attribute, die an
relname anzufuegen sind.
Die Funktionen int1, int2 usw. konvertieren Zeichen in nume-
rische Werte (ql(iql)).
Das Schluesselwort all kann verwendet werden, wenn alle Do-
maenen einer Relation angefuegt werden sollen.
Ein append kann nur durch den Relations-Eigentuemer oder ei-
nem Nutzer mit appendBefugnis auf die gegebene Relation an-
gewendet werden.
BEISPIEL[E]
/* Uebernehme den Mitarbeiter Mueller, Josef aus der */
/* Relation "zugang" in die Relation "personal" */
range of z is zugang
append to personal(z.name, z.gehalt, einstdat=1987,
beruf="Programmierer", gebdat = 1987-z.alter)
where z.name = "Mueller, Josef"
/* Fuege die Relation "zugang1" an "zugang" an */
range of z1 is zugang1
append to zugang(z1.all)
SIEHE AUCH
copy(ql), copyr(mutos), permit(ql), ql(iql), retrieve(ql)
DIAGNOSE
Bei Zuweisung eines numerischen Ausdruckes auf eine Zei-
chenkettendomaene oder einer Zeichenkette auf eine numeri-
sche Domaene werden Nachrichten ausgegeben.
FEHLERQUELLEN
Doppelte Tupel, die an eine Relation vom Speicherungstyp
"paged heap" (Schluessellos, unstrukturiert) angefuegt wer-
den sollen, werden nicht abgewiesen.

View File

@ -0,0 +1,61 @@
COPY(QL) DABA16 COPY(QL)
NAME
copy - Kopieren von Daten zwischen Relation und MUTOS-File
UEBERSICHT
copy relname (domname = format {, domname = format })
direction "filename"
BESCHREIBUNG
Copy uebertraegt Daten zwischen DABA-Relationen und einem
Standard-MUTOS-File. Relname ist der Name einer bestehenden
Relation. Im allgemeinen identifiziert domname eine Domaene
in der Relation relname. Format bestimmt das Format, das im
MUTOS-File eine Domaene besitzen soll, die mit der spezifi-
zierten Domaene der Relation korrespondiert. Direction
(Richtung) kann entweder into (in) oder from (aus) sein.
Filename ist der vollstaendige Pfadname eines Files.
Erlaubte Formate bei copy sind :
i1,i2,i4 - Der Datenwert im MUTOS-File ist als Festkommazahl
(Integer) der Laenge 1, 2 oder 4 Byte gespeichert.
f4,f8 - Der Datenwert im MUTOS-File ist eine Gleitkommazahl
(entweder einfacher oder doppelter Genauigkeit).
c1,c2,...,c255 - Der Datenwert ist als Zeichenkette (String)
fester Laenge gespeichert.
c0 - Zeichenkette variabler Laenge (begrenzt durch
Begrenzerzeichen).
d0,d1,...,d255 - Pseudo(Dummy)-Domaene
BEISPIEL[E]
/* Kopieren von Daten in die Relation "personal"*/
copy personal (name=c20,gehalt=f4,gebdat=i2,xxx=d1)
from "/mnt/peter/pers1"
/* Kopieren der Namen und Gehaelter in ein File*/
copy personal (name=c0,comma=d1,gehalt=c0,nl=d1)
into "/mnt/klaus/gehalt"
/* Gesamtkopie der Relation "personal" in ein File*/
copy personal ()
into "/mnt/kop/personal"
/* Rueckspeichern der Gesamtkopie aus einem File*/
copy personal ()
from "/mnt/kop/personal"
SIEHE AUCH
append(ql), create(ql), creater(mutos), integrity(ql),
permit(ql), ql(iql), view(ql), iql(mutos)

View File

@ -0,0 +1,43 @@
COPYDB(MUTOS) DABA16 COPYDB(MUTOS)
NAME
copydb - Kopieren einer Datenbank
UEBERSICHT
copydb [ -uname ] dbname directory { relname }
BESCHREIBUNG
Copydb erstellt im spezifizierten Directory, das als voll-
staendiger Pfadname anzugeben ist (/...), zwei DABA-
Kommando-Files :
copy.out
und
copy.in.
Das spezifizierte Directory darf NICHT das Datenbank-
Directory sein, da die Namen der Relationen und der Files
dann uebereinstimmen wuerden.
Das -u Flag (-uname-Spezifikation, kein Leerzeichen dazwi-
schen!) kann benutzt werden, damit der DABA-
Systemverantwortliche oder der DBA fuer einen anderen Nutzer
(mit dessen Nutzeridentifikator) ein copydb ausfuehren kann.
BEISPIEL[E]
chdir /mnt/mein_dir
copydb db /mnt/mein_dir/backup
iql db <backup/copy.out
tar c1 backup
rm -r backup
tar x1
iql db <backup/copy.in
SIEHE AUCH
copy(ql), create(ql), creater(mutos), define(ql), index(ql),
indexr(mutos), integrity(ql), modify(ql), modifyr(mutos),
permit(ql), ql(mutos), view(ql)
FEHLERQUELLEN
Copydb kann nicht beruecksichtigen, dass eine Relation mit
einem Fuellfaktor fillfactor oder mit minpages spezifiziert
wurde.

View File

@ -0,0 +1,45 @@
COPYR(MUTOS) DABA16 COPYR(MUTOS)
NAME
copyr - Kopieren von Daten zwischen Relation und MUTOS-File
UEBERSICHT
copyr [ flags ] dbname relname { domname format })
into/from file
BESCHREIBUNG
Die Aussagen zu copy(ql) gelten auch fuer copyr(mutos).
Sie sind jedoch um Folgendes zu ergaenzen:
File:
Statt des MUTOS-Filenamens kann auch das Nummernzeichen "#"
fuer die Standardeingabe bei copyr ... from "#" oder die
Standardausgabe copyr ... into "#" angegeben werden.
Es brauchen keine vollstaendigen Pfadnamen spezifiziert wer-
den. Es ist zu beachten, dass Grossbuchstaben in den File-
name in Kleinbuchstaben konvertiert werden!
Flags:
-uname erlaubt es, sich als Nutzer mit dem Login-Namen aus-
zugeben; siehe iql(mutos).
+/-w Warten oder kein Warten auf die Nutzbarkeit der Daten-
bank dbname (iql(mutos)).
BEISPIEL[E]
copyr dt erfind \
x0 "d0'" \
erfindung "c0'" \
x1 d2 \
erfinder "c0'" \
x2 "d0'" \
jahr "c0'" \
x3 d2 \
land "c0'" \
x4 "d0;" \
x5 d0nl \
from erfind/erfindungen

View File

@ -0,0 +1,127 @@
CREATDB(MUTOS) DABA16 CREATDB(MUTOS)
NAME
creatdb - Erstellen einer Datenbank
UEBERSICHT
creatdb [ -uname ] [ -e ] [ -m ] [ -/+c ]
[ -/+q ] [ -1 | -2 | -4 | -8 ] dbname
BESCHREIBUNG
Creatdb erstellt eine neue DABA-Datenbank oder modifiziert
den Status einer existierenden.
Das Flag -u mit dem unmittelbar folgenden Login-Namen
name gestattet es, sich als Nutzer mit dem Login-Namen name
auszugeben.
Das -c Flag schaltet die sogenannte "Gleichzeitigkeitssteue-
rung" aus (Standard : "ein").
Das +q Flag schaltet die sogenannte "Anfragenmodifikation"
ein (Standard : "ein").
BEISPIEL[E]
creatdb demo
creatdb -upeter +q peters_db
creatdb -e +q +c -upeter peters_db
creatdb -upeter -c peters_db
creatdb -e +c peters_db
Montiertes Filesystem im DABA-DB-Pfad .../data/base
Soll eine Datenbank z.B. db_in_mount auf einem separaten
Filesystem, das im DABA-Datenbankpfad .../data/base mit
mount montiert wird, erstellt werden, ist das Folgendes zu
tun.
Der DABA-Systemverantwortliche daba (login: daba) richtet
das Datenbank-Directory ein und setzt den richtigen File-
Modus:
mkdir .../data/base/db_in_mount
chmod 777 .../data/base/db_in_mount
Der MUTOS-Systemverantwortliche root (login: root) montiert
im Directory
.../data/base/db_in_mount das Filesystem,
auf dem die Datenbank residieren soll.
Der DBA der Datenbank fuehrt folgendes Kommando aus:
creatdb -m db_in_mount
Vor jeder Benutzung der Datenbank db_in_mount ist dafuer zu
sorgen, dass das Filesystem montiert worden ist.
Das Anlegen von ausgelagerten Datenbanken
Als ausgelagerte Datenbanken werden solche bezeichnet, die
nicht, wie ueblich, im Datenbankpfad .../data/base angelegt
werden. Das kann sinnvoll sein, wenn z.B. mehrere Datenban-
ken als ein Komplex auf einem separaten Datentraegern an-
gelegt werden muessen.
Ausgelagerte Datenbanken koennen ausschliesslich vom DABA-
Systemverantwortlichen daba im Auftrage eines anderen Nut-
zers angelegt werden!
Wenn die Datenbank db_aus_mount im Directory
/mount/peters_dbs existieren, der Nutzer peter der DBA die-
ser Datenbank sein wird, die mit Anfragenmodifikation und
Gleichzeitigkeitssteuerung arbeiten soll, ist das Folgende
zu tun:
Der DABA-Systemverantwortliche daba (Login: daba) gibt die
folgenden Kommandos:
login: daba
passwd:
cd data/base
creatdb -upeter +c +q db_aus_mount
In "/mount/peters_dbs"
koennte ein Datentaeger
montiert werden.
mkdir /mount/peters_dbs/dbs_a
chmod 700 /mount/peters_dbs/dbs_a
Der File-Name "dbs_a"
ist ein beliebiger.
In "/mount/peters_dbs/dbs_a"
koennte ein Datentraeger montiert werden.
mkdir /mount/peters_dbs/dbs_a/db_a
chmod 777 /mount/peters_dbs/dbs_a/db_a
Der Name "db_a" ist ein beliebiger.
Hier eine Datentraeger zu montieren
ist nicht sinnvoll.
mv db_aus_mount/* /mount/peters_dbs/dbs_a/db_a
rmdir db_aus_mount
echo /mount/peters_dbs/dbs_a/db_a >db_aus_mount
chmod 600 db_aus_mount
FILES
.../sys/etc/dbtmplt6.3
.../data/base/*
SIEHE AUCH
destroydb(mutos), permit(ql), users(files)

View File

@ -0,0 +1,33 @@
CREATE(QL) DABA16 CREATE(QL)
NAME
create - Erstellen einer neuen Relation
UEBERSICHT
create relname (domname1 = format {, domname2 = format })
BESCHREIBUNG
Create fuegt in die Datenbank eine neue Relation ein. Der
Anwender der Anweisung wird Eigentuemer der Relation, die
fuer sieben Tage reserviert wird. Der Name der Relation ist
relname , und die Domaenen werden domname1 , domname2 usw.
benannt. Die Domaenen werden mit einem Typ erstellt, der
durch format, spezifiziert wird. Gueltige Formate sind in
ql(iql) beschrieben.
Die Relation wird mit dem Speicherungstyp "paged heap" ohne
Daten erzeugt.
BEISPIEL[E]
/* Erstellen der Relation "personal" mit den Domaenen */
/* name, gehalt und gebdat */
create personal (name=c20,gehalt= f4, gebdat=i2)
SIEHE AUCH
append(ql), copy(ql), copyr(mutos), creater(mutos), de-
stroy(ql), modify(ql), modifyr(mutos), save(ql)

View File

@ -0,0 +1,20 @@
CREATER(MUTOS) DABA16 CREATER(MUTOS)
NAME
creater - Erstellen einer neuen Relation
UEBERSICHT
creater [ flags ] dbname relname { domname format }
BESCHREIBUNG
Die Aussagen zu create(ql) gelten auch fuer creater(mutos).
Sie sind jedoch sie um Folgendes zu ergaenzen:
Flags:
-uname erlaubt es, sich als Nutzer mit dem Login-Namen
auszugeben; siehe iql(mutos).
+/-w Warten oder kein Warten auf die Nutzbarkeit der
Datenbank dbname siehe iql(mutos).

View File

@ -0,0 +1,15 @@
DAYFILE(FILES) DABA16 DAYFILE(FILES)
NAME
.../sys/etc/dayfile6.3 - DABA-Login-Nachrichten
BESCHREIBUNG
Der Inhalt des Files "dayfile" stellt Informationen von all-
gemeinem Interesse innerhalb der DABA-Nutzung dar und aeh-
nelt dem /etc/motd File des MUTOS. Das File besitzt kein
bestimmtes Format und wird zum Login-Zeitpunkt durch den
DABA-Terminal-Monitor in die Standardausgabe kopiert, wenn
beim daba Aufruf die -s oder -d Flags nicht gesetzt wurden.
Das Vorhandensein des "dayfile" ist nicht erforderlich, so
dass seine Abwesenheit oder auch eine Nicht-Lesbarkeit zu
keiner Fehlernachricht fuehrt.

View File

@ -0,0 +1,27 @@
DEFINE(QL) DABA16 DEFINE(QL)
NAME
define - Definieren Sicht, Befugnisse oder Integritaetsbe-
dingungen
UEBERSICHT
define view name (target_list) [ where qual ]
define permit oplist on tuple_variable [ (attlist) ] to
name [ at term ] [ from time to time ]
[ on day to day ] [ where qual ]
define integrity on tuple_variable is qual
BESCHREIBUNG
Define erstellt Eintraege fuer Sichten, Befugnisse und In-
tegritaetsbedingungen, wenn die Anfragemodifikations-
Unterstuetzung (QRYMOD, Query Modification) eingeschaltet
wurde (Sollte sie stets!).
Die vollstaendigen Beschreibungen sind bei den im Abschnitt
SIEHE AUCH aufgefuehrten Anweisungen zu finden.
SIEHE AUCH
integrity(ql), permit(ql), view(ql)

View File

@ -0,0 +1,40 @@
DESTROY(QL) DABA16 DESTROY(QL)
NAME
destroy - Zerstoeren einer bestehenden Relation
UEBERSICHT
destroy relname { , relname }
destroy [ permit | integrity ] relname
[ integer { , integer } | all ]
BESCHREIBUNG
Destroy entfernt Relationen (auch virtuelle Relationen oder
Sichten) aus der Datenbank bzw. entfernt Einschraenkungen
(Constraints, Integritaetsbedingungen) oder Befugnisse (Per-
missions) auf eine Relation. Nur der Relationseigentuemer
kann eine Relation oder ihre Befugnisse und Integritaets-
Einschraenkungen zerstoeren. Durch delete oder modify An-
weisungen kann die Relation in eine leere Relation (tupel-
los) ueberfuehrt aber nicht zerstoert werden.
BEISPIEL[E]
/* Zerstoeren der Relation "personal" */
destroy personal
/* Zerstoeren der Relationen "personal" und "teile" */
destroy personal, teile
/* Zerstoeren einiger Befugnisse auf die Relation "teile" */
/* und aller Integritaets-Einschraenkungen auf "personal"*/
destroy permit teile 0, 4, 5
destroy integrity personal all
SIEHE AUCH
create(ql), creater(mutos), delete(ql), destroyr(mutos),
help(ql), helpr(mutos), index(ql), integrity(ql),
modify(ql), modifyr(mutos), permit(ql), view(ql)

View File

@ -0,0 +1,34 @@
DESTROYDB(MUTOS) DABA16 DESTROYDB(MUTOS)
NAME
destroydb - Zerstoeren einer bestehenden Datenbank
UEBERSICHT
destroydb [ -s ] [ -m ] dbname
BESCHREIBUNG
Destroydb zerstoert alle Verweise auf eine existierende Da-
tenbank. Das Directory der Datenbank und alle Files in die-
sem Directory werden entfernt.
Um dieses Kommando auszufuehren, muss der aktuelle Nutzer
entweder der Datenbankadministrator (DBA) der spezifizierten
Datenbank oder der DABA-Systemverantwortliche (bei spezifi-
ziertem -s Flag) sein.
Das -m Flag veranlasst, dass destroydb das MUTOS-Directory
nicht entfernt. Das ist bedeutungsvoll, wenn das Directory
ein separat montiertes (mounted) MUTOS-File-System dar-
stellt.
BEISPIEL[E]
destroydb demo
destroydb -s peters_db
FILES
.../data/base/*
SIEHE AUCH
creatdb(mutos)

View File

@ -0,0 +1,22 @@
DESTROYR(MUTOS) DABA16 DESTROYR(MUTOS)
NAME
destroyr - Zerstoeren einer bestehenden Relation
UEBERSICHT
destroyr [ flags ] dbname { [ permit | integrity ] relname [
integer { , integer } | all ] }
BESCHREIBUNG
Die Aussagen zu destroy(ql) gelten auch fuer
destroyr(mutos).
Sie sind jedoch um Folgendes zu ergaenzen:
Flags:
-uname erlaubt es, sich als Nutzer mit dem Login-Namen
auszugeben; siehe iql(mutos).
+/-w Warten oder kein Warten auf die Nutzbarkeit der
Datenbank dbname; siehe iql(mutos).

View File

@ -0,0 +1,37 @@
ERROR(FILES) DABA16 ERROR(FILES)
NAME
.../sys/etc/error6.3_? - Files mit DABA-Fehlernachrichten
BESCHREIBUNG
Diese Files enthalten die DABA-Fehlernachrichten. Es exi-
stiert jeweils ein File fuer tausend moegliche Nachrichten.
So befindet sich z.B. die Fehler-Nummer 2313 im File "er-
ror6.3_2".
Jedes File besteht aus einer Folge von Fehlernachrichten mit
den zugehoerigen Fehlernummern. Wenn ein Fehler auftritt,
wird das entsprechende Fehler-File nach der Fehlernummer
durchsucht. Wenn sie gefunden wird, erfolgt das Ausgeben
der Nachricht. Wenn nicht, wird der erste Parameter aus-
gegeben.
Jede Nachricht hat das Format
Fehlernummer <TAB> Nachricht Tilde-Zeichen.
Nachrichten werden durch das Tilde-Zeichen ("~") abgeschlos-
sen.
Die Nachricht wird vor der Ausgabe durchsucht. Wenn die
Zeichenfolge %n auftritt, ( n ist eine Ziffer von 0 bis 9
ist), wird der Parameter n substituiert, wobei %0 der erste
Parameter ist.
Die Parameter koennen in beliebiger Folge angeordnet sein.
Beispielsweise kann eine Fehlernachricht auf den Parameter%2
vor dem Parameter %0 verweisen.
BEISPIEL[E]
1003 line %0, bad database name %1~
1005 In the purge of %1, a bad %0 caused execution to halt~
1006 No process, try again.~

View File

@ -0,0 +1,54 @@
HELP(QL) DABA16 HELP(QL)
NAME
help - Anzeigen von Nutzungs- oder Datenbank-Informationen
UEBERSICHT
help [ relname ] [ "[komponentenname]" ]
{, relname}{, "[komponentenname]"}
help view relname {, relname}
help permit relname {, relname}
help integrity relname {, relname}
BESCHREIBUNG
Help kann verwendet werden, um Komponentenbeschreibungen des
vorliegenden Handbuches, Informationen ueber den Inhalt der
benutzten Datenbank, Informationen ueber spezielle Relatio-
nen der Datenbank, Sicht(View)-Definitionen oder
Befugnis(Permit)- und Integritaets(Integrity)-
Einschraenkungen anzuzeigen. Es gibt folgende gueltige For-
men :
help "komponentenname " - Erzeugt eine Kopie der speziellen
Komponentenbeschreibung des Handbuches und gibt sie auf
dem Standardausgabe-Geraet aus
help - Gibt Informationen ueber alle eigenen (fuer die Sie
Eigentuemer sind) Relationen der benutzten Datenbank.
help relname {, relname} - Gibt Informationen ueber die spe-
zifizierten Relationen fuer die Sie mindestens unein-
geschraenkte retrieve Befugnisse besitzen.
help "" - Anzeigen der Komponentenuebersicht
help view relname {, relname} - Anzeigen von Definitionen
spezifizierter Sichten.
help permit relname {, relname} - Anzeigen von Befugnissen
fuer spezifizierte Relationen.
help integrity relname {, relname} - Anzeigen von
Interitaets-Einschraenkungen spezifizierter Relationen
BEISPIEL[E]
help
help "help" /* Druckt diese Seite des Handbuches */
help "ql"
help personal
help personal, teile, "help", lieferung
help view pers_view
help permit teile, personal
help integrity teile, personal
SIEHE AUCH
destroy(ql), destroyr(mutos), helpr(mutos), manr(mutos),
refr(mutos)

View File

@ -0,0 +1,32 @@
HELPR(MUTOS) DABA16 HELPR(MUTOS)
NAME
helpr - Anzeigen von Informationen ueber die Relationen der
Datenbank
UEBERSICHT
helpr [ flags ] dbname [ [ integrity | permit | view ]
{relname} | all ]
BESCHREIBUNG
Helpr informiert ueber Relationen analog der QL-Anweisung
"help" (siehe help(ql)). Mit helpr koennen jedoch keine
Komponentenbeschreibungen ausgelistet werden, dafuer gibt es
die Kommandos manr und refr.
Akzeptierte Flags sind -u und +/-w (siehe (iql(mutos)).
Bei den Spezifikationen view, permit und integrity werden
entsprechend die Sichtdefinitionen, die Berechtigungen und
die Integritaetbedingungen fuer die Relationen angezeigt.
Das Anzeigen der Relationen erfolgt im Abhaengigkeit vom
Status des Nutzers.
Das Kommondo helpr dbname all zeigt alle eigenen Relationen
an.
SIEHE AUCH
help(ql), manr(mutos), iql(mutos) refr(mutos)

View File

@ -0,0 +1,28 @@
INDEX(QL) DABA16 INDEX(QL)
NAME
index - Erstellen eines Sekundaerindex ueber eine Relation
UEBERSICHT
index on relname is indexname (domain1 { ,domain2 })
BESCHREIBUNG
Index wird benutzt, um Sekundaerindizes auf existierenden
Relationen zu erstellen und damit die Effizienz von retrie-
ve, delete, replace und append zu erhoehen. Der Sekunda-
erschluessel wird aus den Domaenen 1, 2, ... 6 in spezifi-
zierter Reihenfolge gebildet. Nur der Relationseigentuemer
ist befugt, Sekundaerindizes ueber einer Relation zu erstel-
len.
BEISPIEL[E]
/* Erstellen eines Sekundaerindex "x" ueber "personal" */
index on personal is x(name,gehalt)
SIEHE AUCH
copy(ql), copyr(mutos), destroy(ql), indexr(mutos),
modify(ql), modifyr(mutos)

View File

@ -0,0 +1,43 @@
INDEXR(MUTOS) DABA16 INDEXR(MUTOS)
NAME
indexr - Erstellen eines Sekundaerindex ueber eine Relation
UEBERSICHT
indexr [ flags ] dbname prim_rel index_rel { domname }
BESCHREIBUNG
Die Aussagen zu index(ql) gelten auch fuer indexr(mutos).
Sie sind jedoch um Folgendes zu ergaenzen:
Flags:
-uname erlaubt es, sich als Nutzer mit dem Login-Namen
name auszugeben; siehe iql(mutos).
+/-w Warten oder kein Warten auf die Nutzbarkeit
der Datenbank dbname (iql(mutos)).
-fillfactorn Ist die Spezifikation des Fuellfaktors n
(Zahl).
-minpagesn Ist die Spezifikation der Mindestseitenanzahl n
(Zahl).
-maxpagesn Ist die Spezifikation der maximalen Seitenanzahl
n (Zahl).
-speicherungs_struktur Ist die Spezifikation der Speiche-
rungsstruktur speicherungs_struktur (modify(ql)).
-tidp Ist die Spezifikation, dass eindeutige Schluesselein-
traege durch das Anhaengen des Tupelidentifikators erzeugt
werden. Damit werden auch fuer gleiche Indexwerte (z.B. ge-
halt=1000) fuer jedes dieser Tupel Schluessel gebildet.
Diese Massnahme fuehrt bei Aenderungen i.allg. zu einer Be-
schleunigung.
SIEHE AUCH
destroy(ql), destroyr(mutos), index(ql)

View File

@ -0,0 +1,27 @@
INTEGRITY(QL) DABA16 INTEGRITY(QL)
NAME
integrity - Definieren von Integritaetsbedingungen
UEBERSICHT
define integrity on tuple_variable is qual
BESCHREIBUNG
Integrity fuegt eine Integritaetsbedingung fuer die durch
tuple_variable spezifizierte Relation den Integritaetsbedin-
gungen hinzu. Nachdem die Bedingung gespeichert wurde,
muessen alle Aenderungen auf die Relation die Qualifikation
qual erfuellen.
BEISPIEL[E]
/* Sichern eines positiven Gehaltes */
range of p is personal
define integrity on p is p.gehalt > 0
SIEHE AUCH
copy(ql), copyr(mutos), destroy(ql)

View File

@ -0,0 +1,122 @@
IQL(MUTOS) DABA16 IQL(MUTOS)
NAME
iql - Aufruf des interaktiven Ql-Interface des DBBS DABA16
UEBERSICHT
iql [ flags ] dbname [ process_table ]
BESCHREIBUNG
Das ist das MUTOS-Kommando, das verwendet wird, um DABA16
aufzurufen. Dbname ist der Name einer existierenden Daten-
bank.
Die wahlweisen Flags haben folgende Bedeutung :
+/- bedeutet, dass die Option x durch das Flag +x gesetzt
und durch -x geloescht werden soll. Ein - allein bedeutet,
dass mit -x die Funktion x eingeschaltet werden soll :
+/-U Erlaubt (erlaubt nicht) das direkte Veraendern der
Systemrelationen und Sekundaerindizes. Fuer den
Nutzer muss das 000004 Bit im Statusfeld des Files
"users" (users(files)) gesetzt sein, damit dieses
Flag akzeptiert wird. Diese Option wird aus-
schliesslich fuer eine Fehlersuche im DBBS bereit-
gestellt und ist fuer die normale Benutzung streng
verboten.
-uname Das -u Flag mit unmittelbar folgenden Namen name
gestattet es sich als Nutzer mit dem Login-Namen
auszugeben. Nur der DBA oder der DABA Systemver-
antwortliche duerfen diese Option verwenden.
-cN Setzt die minimale Spaltenbreite fuer die Anzeige
von Character(Zeichen)-Domaenen auf N. Der Stan-
dard ist 6.
-ex setzt das Zeilenseparierungszeichen auf x Der
Standard ist das Minuszeichen "-".
-ilN Setzt die Ausgabebreite fuer Integer (Festkomma-
zahl) auf N. l kann 1, 2 oder 4 fuer entsprechend
i1, i2 bzw. i4 Integer sein. Der Standard ist
fuer i1 und i2 gleich 6 und fuer i4 gleich 13.
-flxM.N Setzt die Ausgabebreite fuer Gleitkommazahlen
(Floating point) auf M Zeichen mit N Dezimalstel-
len nach dem Komma. l kann 4 oder 8 fuer f4 bzw.
f8 sein. Das x kann sein e, E, f, F, g, G, n oder
N, um Ausgabeformate zu spezifizieren. E ist die
Exponentialform, F ist die Gleitkammadarstellung.
G und N sind identisch mit F ausser, wenn die kon-
vertierte Zahl zu gross ist, um in das Feld zu
passen. Dann wird in der Exponentialform E aus-
gegeben. G garantiert die Ausrichtung des Dezi-
malpunktes, N nicht. Das Standardformat fuer bei-
de ist n10.3.
-vX Setzt das Zeichen fuer die Spaltenseparierung
(Trennung) zum Anzeigen am Terminal (beim Wieder-
auffinden) und fuer die Ausgabe mit der print-
Anweisung auf X. Standard ist der senkrechte
Strich "|".
-rM Setzt die Speicherungsstruktur bei der retrieve
Anweisung (retrieve into) auf M. M kann sein:
isam, cisam, hash, chash, heap, cheap, heapsort
oder cheapsort,
fuer ISAM, komprimiertes (compressed) ISAM, HASH-
Relation, komprimierte HASH-Relation, HEAP, kom-
primiertes HEAP, sortiertes HEAP, oder komprimier-
tes und sortiertes HEAP. Standard ist "cheap-
sort".
-nM Setzt die Speicherungsstruktur fuer die index An-
weisung auf M. M kann die gleichen Werte wie beim
obigen -r Flag annehmen. Standard ist "isam".
+/-a Setzt die Autoloeschfunktion Option (automatische
Loeschung des Monitorpuffers) des Terminal-
Monitors ein (aus). Standard ist "ein".
+/-b Setzt die Arbeitsweise Stapelaenderung (batch up-
date) ein (aus). Fuer den Nutzer muss das 000002
Bit des Statusfeldes im File "users"
(users(files)) gesetzt sein, um diese Option aus-
zuschalten. Das Flag ist normalerweise gesetzt.
Wenn es ausgeschaltet ist, werden die Anfragen
zwar etwas schneller verarbeitet, aber es ist kei-
ne Wiederherstellung (recovery) nach einem Syste-
mabsturz ausfuehrbar. Anfragen, die einen Sekun-
daerindex veraendern, setzen automatisch dieses
Flag (nur fuer diese Anfrage) ein.
+/-d Anzeige (keine Anzeige) des Inhaltes des Files
"dayfile" (dayfile(files)) (normalerweise ge-
setzt).
+/-s Anzeige (keine Anzeige, "schweigendes Arbeiten")
irgendwelcher Monitor-Nachrichten, einschliesslich
Eingabeanforderungen (Prompts). Diese Flag ist
normalerweise gesetzt. Wenn ausgeschaltet, ist
auch das -d Flag ausgeschaltet.
Process_table ist der Pfadname eines DABA File, das fuer
eine spezielle DABA Laufzeitkonfiguration verwendet werden
kann. Diese Moeglichkeit ist nur fuer die Systempflege vor-
gesehen und ihre unbesonnene Anwendung durch den normalen
Anwender ist streng untersagt.
Der eine Prozesstabelle verwendende Nutzer muss das 000100
Bit im Statusfeld des users-File gesetzt haben. Der die "="
-Form verwendende Nutzer muss das 000200 Bit gesetzt haben.
Die "=" Form bedeutet, dass dem File process_table der Pfad-
name .../sys/etc/ vorangestellt wird.
Bemerkung : Es ist moeglich, den Terminal-Monitor als
Stapelverarbeitungs-Interface durch die Verwendung der Ope-
ratoren "<", ">" und "|" der MUTOS-Shell zu benutzen.
BEISPIEL[E]
iql demo
iql -d demo
iql -s demo < batchfile
iql -f4g12.2 -i13 +b -rhash demo
FILES
.../sys/etc/users
.../sys/etc/proctab6.3
.../sys/etc/dayfile6.3
.../sys/etc/startup
.../data/base
SIEHE AUCH
monitor(iql)

View File

@ -0,0 +1,27 @@
MANR(MUTOS) DABA16 MANR(MUTOS)
NAME
manr - Anzeigen der Komponentenbeschreibungen
UEBERSICHT
manr {komponentenname}
BESCHREIBUNG
Manr zeigt - anlog \HELP - ohne die Angabe von Parametern
eine Uebersicht ueber die zur Verfuegung stehenden Komponen-
tenbeschreibungen.
Es werden die Anweisungen und Kommandos der Handbuchteile
mutos und ql sowie Beschreibungen zu ausgewaehlten Files in
.../sys/etc angezeigt.
Bei der Angabe von Namen der Komponentenbeschreibungen wird
- analog \HELP - eine ausfuehrliche Dokumentation der ent-
sprechenden Anweisung, des entsprechenden Kommandos oder der
Files angezeigt.
BEISPIEL
manr printr
zeigt die Dokumentation des Kommandos "printr(mutos)".
SIEHE AUCH
help(ql),helpr(mutos), refr(mutos)

View File

@ -0,0 +1,121 @@
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)

View File

@ -0,0 +1,47 @@
MODIFYR(MUTOS) DABA16 MODIFYR(MUTOS)
NAME
modifyr - Modifizieren der Speicherungsstruktur einer Rela-
tion
UEBERSICHT
modifyr [ flags ] dbname relname [ storage_strukture
{ domname [ :sortorder ] } ]
BESCHREIBUNG
Die Aussagen zu modify(ql) gelten auch fuer modifyr(mutos).
Werden nur der Datenbankname und der Relationsname spezifi-
ziert, entspricht das der Spezifikation "same" (Reorganisa-
tion).
Bei einer Spezifikation der Sortierrichtung ist unmittelbar
nach dem Domaenennamen domname ein Doppelpunkt und unmittel-
bar danach sortorder anzugeben.
Die Spezifikationen sind jedoch um Folgendes zu ergaenzen:
Flags:
-uname erlaubt es, sich als Nutzer mit dem Login-Namen
name auszugeben; siehe iql(mutos).
+/-w Warten oder kein Warten auf die Nutzbarkeit der
Datenbank dbname (iql(mutos)).
-fillfactorn Ist die Spezifikation des Fuellfaktors n
(Zahl).
-minpagesn Ist die Spezifikation der Mindestseitenanzahl n
(Zahl).
-maxpagesn ist die Spezifikation der maximalen
Seitenanzahl n (Zahl).
BEISPIELE
modifyr -fillfactor30 dt personal cisam
SIEHE AUCH
modify(ql)

View File

@ -0,0 +1,22 @@
PRINT(QL) DABA16 PRINT(QL)
NAME
print - Drucken von Relationen
UEBERSICHT
print relname {, relname}
BESCHREIBUNG
Print zeigt den Inhalt jeder spezifizierten Relation am Ter-
minal (Standardausgabe) an. Die Standardformate der ver-
schiedenen Domaenen-Typen koennen durch die Benutzung von
Flags beim iql Aufruf definiert werden.
BEISPIELE
/* Drucken der Relation "personal" und "teile" */
print personal
print personal, teile
SIEHE AUCH
iql(mutos), permit(ql), printr(mutos) retrieve(ql),

View File

@ -0,0 +1,28 @@
PRINTR(MUTOS) DABA16 PRINTR(MUTOS)
NAME
printr - Drucken von Relationen
UEBERSICHT
printr [ flags ] dbname { relname }
BESCHREIBUNG
Printr druckt die spezifizierten Relationen der spezifizier-
ten Datenbank (analog der print QL-Anweisung. Um dieses
Kommando auszufuehren, muss fuer den Nutzer retrieve Befug-
nis gestattet sein.
Akzeptierte Flags sind die iql-Flags (iql(mutos)) -u, +/-w,
-c, -i, -f und -v sowie die printr-spezifischen Flags -s -h.
Bedeutung:
-h[N] setzt pro Seite eine Ueberschrift (header). Mit der
Angabe von N kann die Anzahl der zu druckenden Zeilen
pro Seite veraendert werden. Die Anzahl der Zeilen pro
Seite wird standardmaessig auf 66 gesetzt.
-s unterdrueckt die Kopf- und Fusszeilen.
SIEHE AUCH
iql(mutos), print(ql)

View File

@ -0,0 +1,19 @@
PURGE(MUTOS) DABA16 PURGE(MUTOS)
NAME
purge - Zerstoeren verfallener und temporaerer Relationen
UEBERSICHT
purge [ -f ] [ -p ] [ -a ] [ -s ] [ -w ] { dbname }
BESCHREIBUNG
Purge loescht in den spezifizierten Datenbanken verfallene
Nutzerrelationen oder temporaere Systemrelationen.
SIEHE AUCH
save(ql), restore(mutos)
FEHLERQUELLEN
Wenn keine Datenbanknamen spezifiziert wurden, werden nur
die Datenbanken, die im Directory data/base lokalisiert
sind, bearbeitet.

View File

@ -0,0 +1,27 @@
RANGE(QL) DABA16 RANGE(QL)
NAME
range - Deklarieren einer Variablen (Tupelvariablen) ueber
einer Relation
UEBERSICHT
range [ [ of ] tuple_variable is relname ]
BESCHREIBUNG
Range muss benutzt werden, um Variablen zu definieren, die
in nachfolgenden QL-Anweisungen verwendet werden. Wenn nur
range (ohne Operanden) spezifiziert wird, werden die bereits
vom DBBS registrierten Tupelvariablen angezeigt. Die Varia-
ble tuple_variable wird mit der durch relname spezifizierten
Relation verbunden.
BEISPIEL[E]
/* Deklarieren der Tupel-Variablen p, die sich ueber die
Relation "personal" bewegt */
range of p is personal
SIEHE AUCH
ql(iql), destroy(ql)

View File

@ -0,0 +1,22 @@
REFR(MUTOS) DABA16 REFR(MUTOS)
NAME
refr - Anzeige einer Komponenten-Kurzbeschreibung
UEBERSICHT
refr { komponentenname }
BESCHREIBUNG
Refr zeigt - analog \help - ohne die Angabe von Parametern
eine Uebersicht ueber die zur Verfuegung stehenden Komponen-
tenbeschreibungen. Es werden die Anweisungen und Kommandos
der Handbuchteile MUTOS, QL sowie Beschreibungen zu ausge-
waehlten Files in .../sys/etc angezeigt.
Bei der Angabe von Namen der Komponentenbeschreibungen (kom-
ponentenname) wird eine Kurzinformation zur Syntax und zu
den Flags der entsprechenden Kommandos oder eine kurze Be-
schreibung der Files angezeigt.
BEISPIEL
refr printr
zeigt die Dokumentation des Kommandos "printr(mutos)".

View File

@ -0,0 +1,34 @@
REPLACE(QL) DABA16 REPLACE(QL)
NAME
replace - Ersetzen von Domaenen-Werten in einer Relation
UEBERSICHT
replace tuple_variable (target_list) [where qual]
BESCHREIBUNG
Replace aendert die Werte von Domaenen, spezifiziert in der
target_list, fuer alle Tupel, die die Qualifikation qual er-
fuellen. Die Tupel-Variable tuple_variable muss deklariert
worden sein, um sich ueber die zu modifizierende Relation
bewegen zu koennen. Es ist zu bemerken, dass eine Tupel-
Variable und kein Relationsname gefordert ist. Nur Doma-
enen, die modifiziert werden sollen, muessen in der
target_list auftreten. Diese Domaenen muessen als
Ergebnis-Attributnamen (result_attnames) in der target_list
entweder explizit oder als Annahme spezifiziert werden
(ql(iql)).
BEISPIEL[E]
/* Alle Beschaeftigten des Leiters "Lehmann,Bernd"
erhalten eine Gehaltserhoehung von 10% */
range of p is personal
replace p(gehalt = 1.1 * p.gehalt)
where p.leiter = "Lehmann,Bernd"
SIEHE AUCH
integrity(ql), permit(ql), ql(iql), range(ql)

View File

@ -0,0 +1,36 @@
REPORT(MUTOS) DABA16 REPORT(MUTOS)
NAME
report - DABA-Reportunterstuetzung
UEBERSICHT
rc {[ flags ] file }
rd [ flags ] dbname [ file ]
rg [ flags ]
rp_desc [ desc_file ]
BESCHREIBUNG
Die Reportunterstuetzung gestattet dem Nutzer das Erzeugen
von Berichten (Reports), deren Daten aus einem separaten
Tupel-Files entnommen werden.
Fuer das Erstellen des Tupel-Files aus einer Relation der
Datenbank koennen die DABA-Komponenten copy (copy(ql)) oder
copyr (copyr(mutos)) genutzt werden.
Die Reportunterstuetzung besteht aus einem Report-Compiler
rc, einem Kommando zum Erzeugen eines Domaenen-
Beschreibungs(Description)-Files oder eines Skelett-
Reportprogrammes rd aus der Datenbeschreibung einer Relation
der Datenbank, einem Report-Generator (Interpreter) rg und
einem Kommando zum Drucken (Anzeigen) des Beschreibungs-
Files rp_desc.
SIEHE AUCH
rc(mutos), rd(mutos), rg(mutos), rp_desc(mutos),
report(mutos) report(daba)

View File

@ -0,0 +1,35 @@
RESTORE(MUTOS) DABA16 RESTORE(MUTOS)
NAME
restore - Wiederherstellen nach einem DBBS- oder MUTOS-
Absturz
UEBERSICHT
restore [ -s ] [ -a ] [ -f ] [ +/-p ] [ +/-w ]
[ -S ] [ -P ] { dbname }
BESCHREIBUNG
Restore wird zum Wiederherstellen einer Datenbank verwendet,
nachdem ein DABA- oder MUTOS-Absturz auftrat. Das Kommando
sollte stets nach einer abnormalen Beendigung abgearbeitet
werden, um die Integritaet der Datenbank zu sichern.
Um restore zu benutzen, muessen Sie der DBA der Datenbank
oder der DABA-Systemverantwortliche (Verwendung des -s
Flags) sein.
BEISPIEL[E]
restore -f dt
restore -a grants < /dev/null
DIAGNOSE
SIEHE AUCH
define(ql), index(ql), indexr(mutos), purge(mutos),
sysmod(mutos)
FEHLERQUELLEN
Wenn keine Datenbanknamen spezifiziert wurden, werden nur
die im Directory data/base lokalisierten Datenbanken zu-
rueckgespeichert.

View File

@ -0,0 +1,46 @@
RETRIEVE(QL) DABA16 RETRIEVE(QL)
NAME
retrieve - Wiederfinden (Suchen) von Tupel aus einer Rela-
tion
UEBERSICHT
retrieve [[into] relname ] (target_list) [where qual ]
retrieve unique (target_list) [where qual ]
BESCHREIBUNG
Retrieve stellt alle Tupel bereit, die die Qualifikation er-
fuellen und zeigt sie entweder am Terminal (Standardausgabe)
an oder speichert sie in eine neue Relation. Wurde into mit
relname nicht spezifiziert, werden doppelte Tupel nicht aus-
geblendet. Wenn relname spezifiziert wurde, wird das Ergeb-
nis der Anfrage mit diesem Namen in eine neue Relation ge-
speichert.
Wenn das Schluesselwort unique spezifiziert wird, werden die
Tupel nach der Reihenfolge der angegebenenen Domaenen sor-
tiert und doppelte Tupel vor der Anzeige entfernt.
BEISPIEL[E]
/* Finde alle Beschaeftigten, die mehr als ihr
Leiter verdienen */
range of p is personal
range of l is personal
retrieve (p.name) where p.leiter = l.name
and p.gehalt > l.gehalt
/* Finde alle Domaenen fuer Personen,
die mehr als das Durchschnittsgehalt verdienen */
retrieve into temp (p.all) where p.gehalt > avg(p.gehalt)
/* Wiederfinden der Beschaeftigtennamen, sortiert */
retrieve unique (p.name)
SIEHE AUCH
iql(mutos), modify(ql), permit(ql), ql(iql), range(ql),
save(ql)

View File

@ -0,0 +1,87 @@
RG(MUTOS) DABA16 RG(MUTOS)
NAME
rg - REPORT-Generator (Interpreter)
UEBERSICHT
rg [ flags ]
BESCHREIBUNG
Zur File-Umlenkung sind folgende Flags implementiert:
-dfile Nutzung des Domaenen-Beschreibungs-Files file.
Standard: desc
-ffile Nutzung des Tupel-Files file.
Standard: tuple
-ifile Nutzung des Reportcode-Files file.
Standard: r_code
-ofile Setze das Report-Ausgabe-Files auf file.
Standard: Standard-Output
Zur Ein-/Ausgabesteuerung sind folgende Flags
implementiert:
-lno
(entspricht LINES no)
Laenge des Informationsteils auf einer Seite (no Zei-
len)
Standard: Wert von ALL LINES, wenn dort definiert,
sonst: 66
-ano (entspricht ALL LINES no)
Laenge der physischen Druckseite (no Zeilen)
Standard: Wert von LINES)
-cno (entspricht COLUMNS no)
Breite des Informationsteils (no Spalten)
Standard: 132
-pno (entspricht FROM PAGE no)
Es werden nur die Seiten in die Liste eingetragen, de-
ren Seitennummer groesser oder gleich der angegebenen
Zahl no ist.
Standard: 0
-Pno (entspricht TO PAGE no)
Es werden nur die Seiten in die Liste eingetragen, de-
ren Seitennummer kleiner oder gleich der angegebenen
Zahl no ist.
Standard: 32767 (Maximum)
-tno (entspricht FROM TUPLE no)
Es werden nur die Tupel verarbeitet, deren Tupelnummer
groesser oder gleich der angegebenen Zahl no ist.
Standard: 0
-Tno (entspricht TO TUPLE no)
Es werden nur die Tupel verarbeitet, deren Tupelnummer
kleiner oder gleich der angegebenen Zahl no ist.
Standard: 32767 (Maximum)
-b (entspricht BIG)
Alle Kleinbuchstaben werden beim Einschreiben in die
Liste automatisch in Grossbuchstaben umgewandelt.
Standard: keine Umwandlung
-Xno Setze Debug-Information = `no'
-Sno Setze SWITCH `no' = TRUE
-Vno=val Setze VAR `no' = `val'
SIEHE AUCH
rc(mutos), rd(mutos), rp_desc(mutos), report(mutos), report
(daba)