From 538785e68f1d8e5282b490fe3e4ae2f47f16a65c Mon Sep 17 00:00:00 2001 From: Oliver Lehmann Date: Fri, 8 Dec 1989 10:51:44 +0000 Subject: [PATCH] ING_DB --- .../ingres/dbs/src/redabas/BEISPIEL.nr | 94 +++ WEGA/contrib/ingres/dbs/src/redabas/DB.nr | 798 ++++++++++++++++++ WEGA/contrib/ingres/dbs/src/redabas/dbi | 27 + 3 files changed, 919 insertions(+) create mode 100644 WEGA/contrib/ingres/dbs/src/redabas/BEISPIEL.nr create mode 100644 WEGA/contrib/ingres/dbs/src/redabas/DB.nr create mode 100644 WEGA/contrib/ingres/dbs/src/redabas/dbi diff --git a/WEGA/contrib/ingres/dbs/src/redabas/BEISPIEL.nr b/WEGA/contrib/ingres/dbs/src/redabas/BEISPIEL.nr new file mode 100644 index 0000000..d794234 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/src/redabas/BEISPIEL.nr @@ -0,0 +1,94 @@ +.th BEISPIEL \*(RR 3.10.89 4 +Alle Erl\*auterungen beziehen sich auf +die Relation personal der \*(II Datenbank \*(rr +mit folgender Struktur: +.s1 +.in 12 +.nf +Relation: personal +--------- +Besitzer: \*(ii +Domaenanzahl: 4 +Tupellaenge: 27 +Tupelanzahl: 7 + + Nummer Domaenname Typ Laenge Schluessel +--------------------------------------------------- + 1 rec_no i 4 + 2 rec_mark c 1 + 3 num i 2 + 4 name c 20 +--------------------------------------------------- +.fi +.i0 +.s1 +und folgenden Daten: +.s1 +.in 12 +.nf +Relation: personal + +|rec_no |rec_mark |num |name | +|---------------------------------------------------| +| 1| | 35|Loda, Dieter | +| 2| | 55|Malter, Juergen | +| 3| | 98|Weise, Juergen | +| 4| | 32|Heine, Rolf | +| 5| | 33|Ernst, Eva | +| 6| | 37|Neumann, Inge | +| 7| | 10|Rose, Peter | +|---------------------------------------------------| +.fi +.i0 +.s1 +Die Dom\*ane rec_no ist vergleichbar +der in \*(RR ver\%f\*ugbaren Satznummer. +Die Dom\*ane rec_mark +stellt die \*(RR L\*oschmarkierung dar. +Die Dom\*ane num ist die An\%ge\%stelltennummer +und die Dom\*ane name der Angestelltenname. +Die Relation personal ist bewu\*st einfach gehalten, +um alle Beispiele \*ubersichtlich +und pr\*agnant zu halten. +.bp +Zu der Beispielrelation personal +der \*(II Datenbank \*(rr wurde +das folgende DBI-file dbi +mit einem \*(UU Texteditor in CL erstellt, +die Zeilennummerierung ist nicht Bestandteil +des DBI-Textfiles: +.s1 +.nf + 1 : command part before conversion + 2 + 3 : \*(RR 2 part + 4 + 5 2 pers.dbd + 6 + 7 F 0 # I4 + 8 F 1 * C1 + 9 F 2 NUM N5 + 10 F 3 NAME C20 + 11 + 12 : \*(ii 16.3/4 part + 13 + 14 I \*(rr + 15 + 16 : relation personal part + 17 T personal + 18 + 19 D 1 rec_no i4 + 20 D 2 rec_mark c1 + 21 D 3 num i2 + 22 D 4 name c20 + 23 + 24 @ 0 1 + 25 @ 1 2 + 26 @ 2 3 + 27 @ 3 4 + 28 + 29 : command part after conversion +.fi +.s1 +Mit diesem DBI-file wurde die \*(R2 Datenbank +pers.dbd erstellt. diff --git a/WEGA/contrib/ingres/dbs/src/redabas/DB.nr b/WEGA/contrib/ingres/dbs/src/redabas/DB.nr new file mode 100644 index 0000000..28df0c7 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/src/redabas/DB.nr @@ -0,0 +1,798 @@ +.th DB \*(RR 3.10.89 4 +.sh AUFRUF +db2 [flags] d_b_i d_b_d d_b {r_e_l} +.br +db3 [flags] d_b_i d_b_d d_b {r_e_l} +.sh FLAGS +.lp +5 5 +.in 0 +-f Ausgabe der \*(RR Felddefinitionen +(fields) +.i0 +.s1 +Die Ausf\*uhrung des Kommandos +.lp +8 8 +% db2 -f dbi pers.dbd \*(rr personal +.i0 +w\*urde folgende Ausgabe erzeugen: +.s1 +.nf +--- no --- off --- field --- type --- length --- dec --- +| 0 0 # I 4 +| 1 0 * C 1 +| 2 1 NUM N 5 +| 3 6 NAME C 20 +-------------------------------------------------------- +.fi +.s1 +Es bedeuten: +.lp +20 20 +no Feldnummer +.lp +20 20 +off Offset des Feldes im \*(RR Datensatz +.lp +20 20 +field Feldname +.lp +20 20 +type Feldtyp +.lp +20 20 +length Feldl\*ange +.lp +20 20 +dec Anzahl der Dezimalstellen +(nur bei Feld\%typ N) +.i0 +.s1 +Das Feld # mit der Nummer 0 +ist die \*(RR Satznummer, +ein Feld das weder im \*(RR Datensatz +noch in den \*(RR Feld\%be\%schreibungen erscheint. +F\*ur dieses Feld wird der in\%ter\%ne Da\%ten\%typ I4 +(32-bit Integer) +vorgegeben. +Das Feld * mit der Nummer 1 +ist die \*(RR L\*oschmarkierung, +ein Feld das im \*(RR Datensatz, +nicht aber in den \*(RR Feld\%be\%schreibungen erscheint. +F\*ur dieses Feld wird der Da\%ten\%typ C1 vorgegeben. +Beide Felder sind imagin\*are Felder, +die aber in beiden Richtungen \*ubernommen werden k\*onnen. +.s1 +.lp +5 5 +.in 0 +-h Ausgabe der \*(RR Da\%ten\%bankdefinitionen +(header) +.i0 +.s1 +Die Ausf\*uhrung des Kommandos +.lp +8 8 +% db2 -h dbi pers.dbd \*(rr personal +.i0 +w\*urde folgende Ausgabe erzeugen: +.s1 +.nf +---- \*(RR -- 2 ---- +| database from file | pers.dbd +| length of header | 521 +| number of records | 7 +| length of record | 26 +| last modification | 3.10.1989 +| number of fields | 4 +---------------------- +.fi +.s1 +Es bedeuten: +.lp +20 20 +database\ from\ file \*(UU Filename der \*(RR Da\%ten\%bank +.lp +20 20 +length\ of\ header \*(RR Kopfl\*ange, +der Kopf enth\*alt die Da\%ten\%bank- +und die Felddefinitionen. +Nach dem Kopf folgen die Datens\*atze. +.lp +20 20 +number\ of\ records Anzahl der \*(RR Datens\*atze, +dabei sind auch die zum L\*oschen markierten Da\%ten\%s\*atze eingeschlossen. +.lp +20 20 +length\ of\ record L\*ange eines \*(RR Datensatzes +(in By\%tes), +in der L\*ange ist das Feld zur Mar\%kie\%rung +gel\*oschter Daens\*atze ent\%hal\%ten. +.lp +20 20 +last\ modification Datum der letzten \*Anderung +in der \*(RR Da\%ten\%bank +.lp +20 20 +number\ of\ fields Anzahl der \*(RR Felder, +die Anzahl ist gegen\*uber \*(RR um 2 erh\*oht, +da die beiden in \*(RR direkt nicht vor\%kom\%menden Felder +Satznummer und L\*osch\%mar\%kierung +automatisch zur Feld\%be\%schreibung hinzugef\*ugt werden. +.i0 +.s1 +.lp +5 5 +.in 0 +-i \*Ubernahme der \*(RR Da\%ten\%bank +im \*(II Format, +das +.i0 +hei\*st, +die imagin\*aren Felder Satznummer +und L\*osch\%mar\%kie\%rung werden nicht \*ubernommen. +.s1 +.lp +5 5 +.in 0 +-l das DBI-file soll nicht erzeugt werden, +d.h. die \*(RR +.i0 +Da\%ten\%bank soll nur gelistet werden +(list only) +.s1 +.lp +5 5 +.in 0 +-r Ausgabe aller \*(RR Datens\*atze +(records) +.i0 +.s1 +Die Ausf\*uhrung des Kommandos +.lp +8 8 +% db2 -r dbi pers.dbd \*(rr personal +.i0 +w\*urde folgende Ausgabe erzeugen: +.s1 +.nf +----no-*------------------------------------------------ +| 1| | 35|Loda, Dieter +| 2| | 55|Malter, Juergen +| 3| | 98|Weise, Juergen +| 4| | 32|Heine, Rolf +| 5| | 33|Ernst, Eva +| 6| | 37|Neumann, Inge +| 7| | 10|Rose, Peter +-------------------------------------------------------- +.fi +.s1 +Es bedeuten: +.lp +20 20 +no \*(RR Satznummer +.lp +20 20 +* \*(RR L\*oschmarkierung, +ein Leer\%zei\%chen kennzeichnet einen g\*ultigen Da\%ten\%satz, +ein * einen gel\*oschten Datensatz. +.lp +20 20 +----- \*(RR Datensatz, +die Felder werden durch das Zeichen | separiert. +Eine bi\%n\*a\%re Null wird als * dargestellt. +.i0 +.s1 +.lp +5 5 +.in 0 +-rd Ausgabe nur der gel\*oschten \*(RR Datens\*atze +.i0 +(deleted records) +.s1 +.lp +5 5 +.in 0 +-rv Ausgabe nur der g\*ultigen \*(RR Datens\*atze +.i0 +(valid records) +.sh ARGUMENTE +.lp +8 8 +d_b_i \*(UU-file-name des DBI-files +.lp +8 8 +d_b_d \*(UU-file-name der \*(RR Da\%ten\%bank +.lp +8 8 +d_b Name der \*(II Da\%ten\%bank +.lp +8 8 +{r_e_l} Namen von \*(II Relationen +aus der Da\%ten\%bank d_b +(max. 5, durch Leerzeichen getrennt) +.i0 +.sh FUNKTION +db2, db3 erstellt zu der existierenden +\*(RR Da\%ten\%bank d_b_d das DBI- +(Data Bases Interface) +Textfile d_b_i +in CL mit einer vollst\*andigen Zuordnung der +\*(RR Da\%ten\%bank zu den Relationen {r_e_l} der +\*(II Da\%ten\%bank d_b. +Das Programm kann zus\*atzlich +zum Auslisten der \*(RR Da\%ten\%bank verwendet werden. +.br +Das Textfile d_b_i kann anschlie\*send +mit einem \*(UU Text\%editor ge\*andert werden. +Bei der Angabe mehrere Re\%la\%tio\%nen +wer\%den alle \*(RR Felder jeder \*(II Relation zu\%ge\%ordnet, +so da\*s eine Bearbeitung +des Textfile d_b_i un\%er\%l\*a\*s\%lich ist. +Die Programme db2, db3 stellen +also nur ein Ger\*ust f\*ur die Konvertierung +\*(RR/\*(II bereit, +grunds\*atzlich kann das DBI-Textfile +auch vollst\*andig mit der Hand erstellt werden. +Das kann notwendig sein, +wenn kei\%ne \*(RR Da\%ten\%bank vorhanden ist, +weil sie erst generiert werden soll. +.s1 +Was kann in d_b_i alles ge\*andert werden +(vergleiche dazu das DBI-Textfile aus BEISPIEL(\*(RR)) ? +.s1 +Nach der Kommentarzeile +.lp +8 8 +: command part before conversion +.i0 +k\*onnen \*(UU Kommandos eingetragen wer\%den, +die vor dem Auslesen (Read) +bzw. Schrei\%ben (Write) +von \*(RR Da\%ten\%banken +ausgef\*uhrt werden sollen. +Alle Zeilen der Form +.lp +8 8 +R \*(uu command +.i0 +werden von rdb2, rdb3 +(Read \*(rr Data Base) +und alle Zei\%len der Form +.lp +8 8 +W \*(uu command +.i0 +werden von wdb2, wdb3 +(Write \*(rr Data Base) +ausgef\*uhrt. +Es ist zul\*assig, +mehrere Kommandos anzugeben. +.bp +Im folgenden werden einige sinnvolle Kommandos diskutiert. +.s1 +.lp +8 8 +R \*(ms xb d_b_d +.lp +8 8 +R \*(cp xb d_b_d +.i0 +Mit den Programmen +\*(ms (\*(MS(\*(RR)), +\*(cp (\*(CP(\*(RR)) +kann die \*(RR Da\%ten\%bank +von einem \*(MS-, \*(CP-Da\%ten\%tr\*ager +ins \*(UU Filesystem +unter dem Namen d_b_d eingespielt werden. +Es k\*on\%nen auch beliebige andere Programme aufgrufen werden, +die diese Funktion +(in der Regel langsamer) +erf\*ullen. +.s1 +.lp +8 8 +R cdb d_b d_b_i +.i0 +Das Kommando cdb(\*(RR) erzeugt vor der Konvertierung +die n\*otigen \*(II Relationen, +die vorher gel\*oscht werden. +.s1 +.lp +8 8 +R modifyr d_b r_e_l truncated +.i0 +Das Kommando l\*oscht die Daten der +Relation r_e_l in der \*(II Da\%ten\%bank d_b, +um sie anschlie\*send mit den Daten +der \*(RR Da\%ten\%bank zu f\*ullen. +.s1 +.lp +8 8 +R modifyr d_b r_e_l heap +.i0 +Das Kommando setzt die +Relation r_e_l in der \*(II Da\%ten\%bank d_b zur\*uck, +um ein schnelles Laden +der \*(RR Da\%ten\%bank zu garantieren. +.s1 +.lp +8 8 +R echo `infomativer Text' +.lp +8 8 +W echo `infomativer Text' +.i0 +Zu Protokollzwecken k\*onnen Texte +\*uber echo(1) +oder andere Kommandos ausgegeben werden. +.s1 +.lp +8 8 +W rm -f d_b_d +.i0 +Das Kommando l\*oscht die alte \*(RR Da\%ten\%bank d_b_d. +.s1 +.lp +8 8 +W modifyr d_b r_e_l +.i0 +Das Kommando reorganisiert die Relation r_e_l +der \*(II Da\%ten\%bank d_b, +um die richtige Satzreihenfolge +in der \*(RR Da\%ten\%bank zu erzeugen. +.s1 +.lp +8 8 +W modifyr d_b r_e_l heapsort ... +.i0 +Das Kommando sortiert die Relation r_e_l +der \*(II Da\%ten\%bank d_b, +um eine gew\*unschte Satzreihenfolge +der \*(RR Da\%ten\%bank zu erzeugen. +.s1 +\*Anderungen in der Beschreibung +der \*(RR Datenbank, +des \*(II Datenbanknamens +und der \*(II Relationsnamen +sind in der Regel nicht angebracht. +.s1 +In den Definitionen der Dom\*anen +einer \*(II Relation +k\*onnen folgende \*Anderungen durchgef\*uhrt werden. +.s1 +.lp +8 8 +- Streichen von Zeilen +.i0 +d.h. es sollen nicht alle +\*(RR Felder in die +\*(II Relation aufgenommen werden. +.s1 +.lp +8 8 +- Hinzuf\*ugenen von Zeilen +.i0 +d.h. es gibt in der +\*(II Relation Dom\*anen, +die nicht aus +\*(RR Feldern gef\*ullt werden. +.s1 +.lp +8 8 +- \*Andern des Namens der Dom\*ane +.i0 +.s1 +.lp +8 8 +- \*Andern des Typs der Dom\*ane +.i0 +.s1 +Nachdem alle \*Anderungen in den Definitionen der Dom\*anen +einer \*(II Relation ausgef\*uhrt sind, +mu\*s sicher\%gestellt werden, +da\*s die Dom\*anen von 1 bis n +l\*uckenlos durchnummeriert sind. +Eine aufsteigende Sortierung ist nicht notwendig, +sollte aber aus Gr\*unden der Lesbarkeit +an\%ge\%strebt werden +.s1 +Im Zuordnungsteil wird definiert, +welches \*(RR Feld in welche +\*(II Dom\*ane konvertiert werden soll. +\*An\%de\%run\%gen im Definitionsteil +der Dom\*anen m\*ussen sinngem\*a\*s +im Zuordnungsteil wiederholt werden. +Folgende Typ\%zu\%ord\%nun\%gen wer\%den unterst\*utzt: +.s1 +.in 13 +.nf +\*(RR \*(II +---------------------------------------------------- +Cl (0 < l < 255) cn (0 < n < 256) +D c8 +L c1 +Nl.d (0 <= d < l < 21) i1 || i2 || i4 || f4 || f8 +M (nur \*(R3/4) keine Zuordnung m\*oglich +Satznummer i4 +Loeschmarkierung c1 +.fi +.i0 +.s1 +.s1 +Nach der Kommentarzeile +.lp +8 8 +: command part after conversion +.i0 +k\*onnen \*(UU Kommandos eingetragen wer\%den, +die nach dem Auslesen (Read) +bzw. Schrei\%ben (Write) +von \*(RR Da\%ten\%banken +ausgef\*uhrt werden sollen. +Alle Zeilen der Form +.lp +8 8 +R \*(uu command +.i0 +werden von rdb2, rdb3 +(Read \*(rr Data Base) +und alle Zei\%len der Form +.lp +8 8 +W \*(uu command +.i0 +werden von wdb2, wdb3 +(Write \*(rr Data Base) +ausgef\*uhrt. +Es ist zul\*assig, +mehrere Kommandos anzugeben. +.bp +Im folgenden werden einige sinnvolle Kommandos diskutiert. +.s1 +.lp +8 8 +W \*(ms c d_b_d +.lp +8 8 +W \*(cp c d_b_d +.i0 +Mit den Programmen +\*(ms (\*(MS(\*(RR)), +\*(cp (\*(CP(\*(RR)) +kann das \*(UU File d_b_d als \*(RR Da\%ten\%bank +auf einem \*(MS-, \*(CP-Da\%ten\%tr\*ager gebracht werden. +Es k\*on\%nen auch beliebige andere Programme aufgrufen werden, +die diese Funktion +(in der Regel langsamer) +erf\*ullen. +.s1 +.lp +8 8 +R rm -f d_b_d +.lp +8 8 +W rm -f d_b_d +.i0 +Wenn die \*(RR Datenbank +nicht mehr ben\*otigt wird, +kann sie aus dem \*(UU Filesystem gel\*oscht werden. +.s1 +.lp +8 8 +R modifyr d_b r_e_l isam ... +.lp +8 8 +W modifyr d_b r_e_l isam ... +.i0 +Das Kommando organisiert die Relation r_e_l +der \*(II Datenbank d_b +entsprechend dem vorgesehenen Datenmodell um. +.s1 +.lp +8 8 +R indexr d_b r_e_l indexrel ... +.lp +8 8 +W indexr d_b r_e_l indexrel ... +.i0 +Zu dem Prim\*arschl\*ussel +k\*onnen Indexschl\*ussel hin\%zu\%ge\%f\*ugt werden. +.s1 +.lp +8 8 +R echo `infomativer Text' +.lp +8 8 +W echo `infomativer Text' +.i0 +Zu Protokollzwecken k\*onnen Texte +\*uber echo(1) +oder andere Kommandos ausgegeben werden. +.sh BEISPIEL\ 1 +Mit dem Kommando +.lp +8 8 +% rdb2 dbi +.i0 +sollen die Daten der \*(R2 Datenbank pers.dbd +an die Re\%la\%tion personal der \*(II Datenbank \*(rr angef\*ugt +und mit dem Kommando +.lp +8 8 +% wdb2 dbi +.i0 +soll die \*(R2 Datenbank pers.dbd +komplett neu erstellt wer\%den. +Die Relation personal soll den +Prim\*arschl\*ussel num +und den Indexschl\*ussel name haben. +Folgendes DBI-Text\%file realisiert die Aufgabenstellung. +.s1 +.nf + 1 : command part before conversion + 2 R \*(ms xb pers.dbd + 3 R modifyr \*(rr personal cheap + 4 W modifyr \*(rr personal cheapsort rec_no + 5 + 6 : \*(R2 part + 7 + 8 2 pers.dbd + 9 + 10 F 0 # I4 + 11 F 1 * C1 + 12 F 2 NUM N5 + 13 F 3 NAME C20 + 14 + 15 : \*(ii 16.3/4 part + 16 + 17 I \*(rr + 18 + 19 : relation personal part + 20 T personal + 21 + 22 D 1 rec_no i4 + 23 D 2 rec_mark c1 + 24 D 3 num i2 + 25 D 4 name c20 + 26 + 27 @ 0 1 + 28 @ 1 2 + 29 @ 2 3 + 30 @ 3 4 + 31 + 32 : command part after conversion + 33 R modifyr \*(rr personal cisam num + 34 R indexr \*(rr personal pers_index name + 35 R rm -f pers.dbd + 36 W modifyr \*(rr personal cisam num + 37 W indexr \*(rr personal pers_index name + 38 W \*(ms c pers.dbd + 39 W rm -f pers.dbd +.fi +.s1 +Diskussion f\*ur rdb2/3: +.lp +10 10 +Zeile\ \ 2 Holt die \*(RR Datenbank pers.dbd +von einem \*(MS Datentr\*ager. +.lp +10 10 +Zeile\ \ 3 Modifiziert die Relation personal +der \*(II Datenbank \*(rr, +um ein schnelles Anf\*ugen der Daten der +\*(RR Datenbank zu gew\*ahrleisten. +.i0 +Jetzt erfolgt die Konvertierung der \*(RR Daten. +.lp +10 10 +Zeile\ 33 Die Relation personal +der \*(II Datenbank \*(rr +wird auf die Dom\*ane num geschl\*usselt. +.lp +10 10 +Zeile\ 34 Die Dom\*ane num wird indiziert. +.lp +10 10 +Zeile\ 35 Die \*(RR Datenbank pers.dbd +wird aus dem \*(UU Filesystem gel\*oscht. +.i0 +.s1 +Diskussion f\*ur wdb2/3: +.lp +10 10 +Zeile\ \ 4 Sortiert tempor\*ar die Relation personal +ent\%sprechend der Dom\*ane rec_no +der \*(II Da\%ten\%bank \*(rr, +um ein satzgerechtes Anf\*ugen der Daten an die +\*(RR Datenbank zu gew\*ahrleisten. +.i0 +Jetzt erfolgt die Konvertierung der \*(II Daten. +.lp +10 10 +Zeile\ 36 Die Relation personal +der \*(II Datenbank \*(rr +wird auf die Dom\*ane num geschl\*usselt. +.lp +10 10 +Zeile\ 37 Die Dom\*ane num wird indiziert. +.lp +10 10 +Zeile\ 38 Schreibt die \*(RR Datenbank pers.dbd +auf einen \*(MS Datentr\*ager. +.lp +10 10 +Zeile\ 39 Die \*(RR Datenbank pers.dbd +wird aus dem \*(UU Filesystem gel\*oscht. +.i0 +.sh BEISPIEL\ 2 +Es soll die \*(R2 Datenbank pers.dbd +in die zwei Re\%la\%tionen num und name +der \*(II Datenbank \*(rr kon\%ver\%tiert werden, +wobei die \*(RR Satznummer die Ver\%bin\%dungs\%in\%for\%ma\%tion +zwischen den Relationen sein soll. +Um die Ar\%beit zu beschleunigen, +wird das Kommando +.lp +8 8 +% db2 bsp pers.dbd \*(rr num name +.i0 +ausgef\*uhrt. +.lp +8 8 +% cat bsp +.i0 +liefert folgende Ausgabe +(die Zeilennummerierung ist nur f\*ur +Dokumentationsbez\*uge eingef\*ugt worden) +.s1 +.nf + 1 : command part before conversion + 2 + 3 : \*(RR 2 part + 4 2 pers.dbd + 5 + 6 F 0 # I4 + 7 F 1 * C1 + 8 F 2 NUM N5 + 9 F 3 NAME C20 + 10 + 11 : \*(ii 16.3/4 part + 12 I \*(rr + 13 + 14 : relation num part + 15 T num + 16 + 17 D 1 rec_no i4 + 18 D 2 rec_mark c1 + 19 D 3 num i2 + 20 D 4 name c20 + 21 + 22 @ 0 1 + 23 @ 1 2 + 24 @ 2 3 + 25 @ 3 4 + 26 + 27 : relation name part + 28 T name + 29 + 30 D 1 rec_no i4 + 31 D 2 rec_mark c1 + 32 D 3 num i2 + 33 D 4 name c20 + 34 + 35 @ 0 1 + 36 @ 1 2 + 37 @ 2 3 + 38 @ 3 4 + 39 + 40 : command part after conversion +.fi +.i0 +.s1 +Anschlie\*send wird das DBI-Textfile bsp +mit einem \*(UU Texteditor ge\*andert +(alle Zeilenangaben beziehen sich ab\%so\%lut +auf vorstehende Liste): +.s1 +.lp +10 10 +Zeile 18 streichen, +L\*oschmarkierung rec_mark wird nicht ben\*otigt +.lp +10 10 +Zeile 19 \*andern Nummer der Dom\*ane von 3 auf 2 +.lp +10 10 +Zeile 20 streichen, +das \*(RR Feld NAME soll in die Re\%la\%tion name +.lp +10 10 +Zeile 23 streichen +(siehe Zeile 18) +.lp +10 10 +Zeile 24 \*andern Nummer der Dom\*ane von 3 auf 2 +.lp +10 10 +Zeile 25 streichen +(siehe Zeile 20) +.lp +10 10 +Zeile 31 streichen, +L\*oschmarkierung rec_mark wird nicht ben\*otigt +.lp +10 10 +Zeile 32 streichen, +das \*(RR Feld NUM soll in die Re\%la\%tion num +.lp +10 10 +Zeile 33 \*andern Nummer der Dom\*ane von 4 auf 2 +.lp +10 10 +Zeile 36 streichen +(siehe Zeile 31) +.lp +10 10 +Zeile 37 streichen +(siehe Zeile 32) +.lp +10 10 +Zeile 38 \*andern Nummer der Dom\*ane von 4 auf 2 +.i0 +.s1 +Nachdem 8 Zeilen gestrichen +und in 4 Zeilen eine Ziffer +durch eine andere ersetzt wurde, +ist folgendes der Auf\%ga\%ben\%stel\%lung +entsprechende DBI-Textfile entstanden. +.s1 +.nf + 1 : command part before conversion + 2 + 3 : \*(RR 2 part + 4 2 pers.dbd + 5 + 6 F 0 # I4 + 7 F 1 * C1 + 8 F 2 NUM N5 + 9 F 3 NAME C20 + 10 + 11 : \*(ii 16.3/4 part + 12 I \*(rr + 13 + 14 : relation num part + 15 T num + 16 + 17 D 1 rec_no i4 + 18 D 2 num i2 + 19 + 20 @ 0 1 + 21 @ 2 2 + 22 + 23 : relation name part + 24 T name + 25 + 26 D 1 rec_no i4 + 27 D 2 name c20 + 28 + 29 @ 0 1 + 30 @ 3 2 + 31 + 32 : command part after conversion +.fi +.i0 +.sh FEHLER +.lp +8 8 +\*(RR\ Sie\ sind\ kein\ eingetragener\ \*(ii-Nutzer +.lp +8 8 +===> Nur eingetragene Nutzer des \*(II Systems +k\*on\%nen dieses Kommando ausf\*uhren. +.i0 +.s1 +.lp +8 8 +\*(RR\ Unbekanntes\ Flag\ 'ff' +.lp +8 8 +usage:\ \ DB2\ [flags]\ dbi\ dbd\ db\ {rel} +.lp +8 8 +flags:\ \ -f\ \ list\ field\ descriptions +.lp +8 8 +\ \ \ \ \ \ \ \ -h\ \ list\ header +.lp +8 8 +\ \ \ \ \ \ \ \ -l\ \ dont't\ create\ DBI-file +.lp +8 8 +\ \ \ \ \ \ \ \ -r\ \ list\ \ \ all\ \ \ records +.lp +8 8 +\ \ \ \ \ \ \ \ -rd\ list\ deleted\ records +.lp +8 8 +\ \ \ \ \ \ \ \ -rv\ list\ \ valid\ \ records +.lp +8 8 +===> Das \*ubergeben Flag ff +ist dem Kommando nicht be\%kannt. +.i0 +.s1 +.lp +8 8 +\ \ \ \ \ \ \ \ can't\ access\ DBD-file\ xx +.lp +8 8 +\*(RR\ syntax\ error +.lp +8 8 +===> Die \*(RR Da\%ten\%bank xx ist nicht vorhanden +oder kann von \*(II nicht zum Lesen +er\*offnet werden. +.i0 +.s1 +.lp +8 8 +\*(RR\ can't\ access\ DBI-file\ xx +.lp +8 8 +===> Das DBI-Textfile xx kann von \*(II +nicht zum Schreiben er\*offnet werden, +m\*oglicherweise ist die Schreiberlaubnis +f\*ur den Nutzer \*(ii in dem ak\%tu\%el\%lem Verzeichnis nicht gegeben. +.i0 +.s1 +.lp +8 8 +\*(RR\ format\ error\ on\ DBD-file\ xx +.lp +8 8 +===> Das angebotene DBD-file xx ist keine \*(RR Da\%ten\%bank, +der Kopfteil ist zu kurz. +.i0 +.s1 +.lp +8 8 +\*(RR\ record\ count\ error +.lp +8 8 +\ \ \ \ \ \ \ \ expected\ r1\ records +.lp +8 8 +\ \ \ \ \ \ \ \ \ \ \ found\ r2\ records +.lp +8 8 +===> Beim Lesen der \*(RR Da\%ten\%bank wurden r1 Da\%ten\%s\*atze erwartet +und r2 Da\%ten\%s\*atze gefunden +(nur bei Verwendung eines der -r Flags m\*oglich). +.i0 +.s1 +.lp +8 8 +\*(RR\ record\ length\ error +.lp +8 8 +\ \ \ \ \ \ \ \ on\ record\ rr +.lp +8 8 +===> Beim Lesen der \*(RR Da\%ten\%bank +trat in dem Da\%ten\%satz rr ein Lesefehler oder EOF ein. +Ist die Satz\%num\%mer rr==0, +ist der Kopfteil der \*(RR Da\%ten\%bank zu kurz, +d.h. das Kommando konnte nicht +auf den ersten Da\%ten\%satz positionieren +(nur bei Verwendung eines der -r Flags m\*oglich). +.i0 +.s1 +.lp +8 8 +\*(RR\ unknown\ type\ tt\ on\ field ff/nn +.lp +8 8 +===> Das Feld mit der Nummer ff und dem Namen nn +der \*(RR Da\%ten\%bank hat den unbekannten Datentyp tt. +.i0 +.s1 +.lp +8 8 +\*(RR\ version\ error\ on\ DBD-file\ xx +.lp +8 8 +\ \ \ \ \ \ \ \ expected\ \*(RR\ v1 +.lp +8 8 +\ \ \ \ \ \ \ \ \ \ \ found\ \*(RR\ v2 +.lp +8 8 +===> Es wurde eine \*(RR Version v1 Da\%ten\%bank erwartet +und eine \*(RR Version v2 Da\%ten\%bank gefunden. +.i0 diff --git a/WEGA/contrib/ingres/dbs/src/redabas/dbi b/WEGA/contrib/ingres/dbs/src/redabas/dbi new file mode 100644 index 0000000..33685f6 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/src/redabas/dbi @@ -0,0 +1,27 @@ +: command part before conversion + +: REDABAS 2 part +2 pers.dbd + +F 0 # I4 +F 1 * C1 +F 2 NUM N5 +F 3 NAME C20 + +: ing_db 6.3/4 part +I redabas + +: relation personal part +T personal + +D 1 rec_no i4 +D 2 rec_mark c1 +D 3 num i2 +D 4 name c20 + +@ 0 1 +@ 1 2 +@ 2 3 +@ 3 4 + +: command part after conversion