INGRES/Forms, JoinDefs und INGRES/QBF

Inhaltsübersicht

 

INGRES/Forms, JoinDefs und INGRES/QBF.................................................................................... 1

4     INGRES/Forms, JoinDefs und INGRES/QBF............................................................................. 1

4.1     Einfache Masken................................................................................................................... 1

4.2     JoinDefs................................................................................................................................ 2

4.3     Komplexe Masken................................................................................................................ 2

Aufgabe.......................................................................................................................................... 2

 

 

 

 

4      INGRES/Forms, JoinDefs und INGRES/QBF

 

 

         Dieses Kapitel  beschreibt  die  Erstellung  und  den  Ablauf

         von   Masken.   Zuerst   wird   die   Generierung   einfacher

         Maskenspezifikationen  mit Hilfe  von INGRES/Forms erläutert.

         Nach  der  Erklärung  des  Begriffs  JoinDefinition  und  der

         Erstellung  mehrerer JoinDefs  wird die Generierung komplexer

         Maskenspezifikationen beschrieben.  Sowohl für  die einfachen

         als auch  für die  komplexen Maskenspezifikationen werden die

         Operationen wie  das Suchen, Ändern, Einfügen und Löschen von

         Daten mit Hilfe von INGRES/QBF gezeigt.

 

Zurück zum Inhaltsverzeichnis

 

 

 

4.1        Einfache Masken

 

 

         Masken  bieten dem  Benutzer die  Möglichkeit,  auf  einfache

         Weise das Suchen, Ändern und Löschen existierender Datenwerte

         in  einer Datenbank  durchzuführen. Zusätzlich  dazu  ist  es

         möglich, mit Hilfe von Masken Datenwerte in eine Datenbank zu

         laden.

 

         Die  Maskenspezifikation                    bei  INGRES  wird

         mit   der  INGRES-Komponente  VIFRED  durchgeführt.  Um  eine

         Maskenspezifikation zu erstellen, muß im Hauptmenü von INGRES

         die Funktion  Forms  aufgerufen  werden.  Mit  diesem  Aufruf

         wird die Komponente VIFRED ("Visual-Forms-Editor") aktiviert.

         VIFRED ist  ein visuelles  Dienstprogramm, das der Erstellung

         und Modifizierung  von Maskenspezifikationen  dient. Nach der

         Auswahl  der Funktion  Forms erscheint  das in  Abbildung 4-1

         gezeigte frame.

 

 

 


        VIFRED - Frames Catalog

 

Name

Owner

Short Remark

 

 

 

 

 

 

        Place cursor on row and select derived operation from menu           

 

       Create    Destroy    Edit    Rename    MoreInfo    Utilities    Go                

 

 

                             Abb. 4-1 VIFRED-frame

 

          Das  Funktionsmenü   der  Abbildung   4-1  enthält  folgende

          Funktionen:

 

Funktion

Bedeutung

Create

erstellt eine neue Maskenspezifikation.

Delete

löscht eine existierende Maskenspezifikation.

Edit

editiert eine existierende Maskenspezifikation. Der Benutzer hat dann die Möglichkeit, diese Spezifikation zu ändern.

Rename

Benennt eine existierende Maskenspezifikation um.

MoreInfo

gibt zusätzliche Information (Erstellungsdatum, Kommentar usw.) über eine existierende Maskenspezifikation aus.

Utilities

gibt das Menü mit den Operationen Übersetzen, Drucken usw. für die Maskenspezifikation aus.

Go

startet den Ablauf der durch die Schreibmarke gekennzeichneten Maskenspezifikation.

 

 

          Wir werden  an einem  Beispiel  zeigen,  wie  eine einfache

          Maske            für  eine  Tabelle  erstellt  werden  kann.

          Zuerst muß  die Funktion Create ausgewählt werden und danach

          erscheint  das gleiche  frame wie  in Abb. 4-1 mit den neuen

          Menüfunktionen:

 

                        - TableDefault;

                        - Blankform  und

                        - JoinDefDefault   .

 

Menüunktion

Bedeutung

TableDefault

erstellt eine Standard-Maskenspezifikation für eine Benutzertabelle aufgrund der Einträge in den INGRES-Systemtabellen.

Blankform

gibt eine leere Maske aus.

JoinDefDefault

erstellt eine Standard-Maskenspezifikation für ein schon definiertes JoinDef aufgrund der Einträge in den INGRES-Systemtabellen.

 

 

          Um  die   Maskenspezifikation  für   die  Tabelle   arbeiten

          zu   erstellen,  muß   zuerst  die   Funktion   TableDefault

          ausgewählt und  danach der Tabellenname (arbeiten) angegeben

          werden.  Der Benutzer  hat jetzt  die Möglichkeit,  zwischen

          zwei  unterschiedlichen  Ausgabeformen  -  Simplefields  und

          TableField   -  zu   wählen.  SimpleFields   gibt  immer  je

          eine   Reihe  aus,  während  TableField  mehrere  Reihen  im

          Tabellenformat auf einmal ausgibt.

 

          Nach der Auswahl von SimpleFields erscheint die in Abbildung

          4-2 dargestellte Maskenspezifikation:

 

                                                                           

                                                                            

                               ARBEITEN Table                              

                                                                           

          M_nr: f_____________         Pr_nr: c___                          

          Aufgabe: c____________      Einst_dat: c________________     

                                                                           

          --------------------------End-of-Form------------------------

                                                                            

Abb. 4-2 Maskenspezifikation für die Tabelle arbeiten

 

          Die   in  Abbildung  4-2  gezeigte  Maskenspezifikation  für

          die Tabelle  arbeiten kann  nachträglich,  falls  gewünscht,

          geändert  werden. Diese  Änderungen werden  mit der Funktion

          Edit  angeleitet und  können  sowohl  an  den  Überschriften

          als  auch  an  den  Darstellungsformaten  einzelner  Spalten

          durchgeführt  werden.   Mit  der  Funktion  Save  wird  eine

          erstellte Maskenspezifikation gesichert.

 

          Nachdem  eine  Maskenspezifikation  erstellt  und  gesichert

          wurde,  kann sie  zum Suchen,  Ändern, Löschen  und Einfügen

          von  Daten   verwendet  werden.   Das  INGRES-Subsystem  QBF

          ("Query-By-Forms")   unterstützt  den   Benutzer   bei   der

          Durchführung  dieser Operationen.  Um  QBF  aufzurufen,  muß

          im  INGRES/MENU  zuerst  die  Funktion  Queries  und  danach

          QBF  ausgewählt   werden.  (INGRES/QBF  kann  auch  mit  dem

          Betriebssystemkommando   qbf   aufgerufen   werden.   Dieses

          Kommando ist in Kapitel 15 beschrieben.)

 

          QBF arbeitet  in zwei  Phasen: In  der ersten  Phase  werden

          Daten, die  gesucht, geändert  oder eingefügt werden sollen,

          festgelegt.  Die   Festlegung  von   Daten  kann  über  drei

          QBF-Funktionen:

 

                        - Tables,

                        - JoinDefs   und

                        - QBF-Names

 

          durchgeführt werden.

 

Funktion

Bedeutung

Tables

definiert  eine Tabelle  bzw. ein  View, das für die Festlegung der Datenmenge verwendet wird.

JoinDefs

definiert zwei  oder mehrere  Tabellen,  die miteinander verknüpft  sind und  die für die Festlegung der Datenmenge verwendet werden.

QBFNames

definiert eine existierende Maskenspezifikation, die mit VIFRED erstellt und entweder mit  einer Tabelle  oder einem JoinDef in Verbindung steht.

 

 

          Nach  der   Auswahl  einer  der  drei  Funktionen  wird  die

          zweite   QBF-Phase  gestartet,   in  der   die  Daten   dann

          ausgewählt,  geändert  oder  eingefügt  werden.  Um  die  in

          Abbildung  4-2 gezeigte  Maske aufzurufen,  muß der Name der

          Maskenspezifikation (arbeiten)  markiert und die Funktion Go

          ausgewählt werden.

 

          Das  in   Abbildung  4-3   gezeigte  frame   entspricht  der

          in  Abbildung   4-2  definierten   Maskenspezifikation.  Das

          gewünschte Einfügen,  Suchen und  Ändern von  Daten wird mit

          den drei, in der Menüleiste existierenden Funktionen Append,

          Retrieve, und Update respektive durchgeführt.

 

                                                                           

                                                                          

                                 ARBEITEN Table                           

                                                                          

                                                                           

           M_nr:                       Pr_nr:                               

           Aufgabe:                  Einst_dat:                               

 

 

Append      Help      End                                                 

                                                                          

 

                    Abb. 4-3 Die Maske für die Tabelle arbeiten

 

          Durch die Auswahl der Funktion Append kann der Anwender neue

          Reihen der Tabelle arbeiten einfügen.

 

          Wie  wir schon erwähnt haben, existieren zwei Möglichkeiten,

          die  Ausgabe der  Tabellenreihen zu  formen. Die Ausgabe mit

          Hilfe der  Funktion SimpleFields,  die je eine Reihe ausgibt

          ist in Abbildung 4-2 dargestellt. Die Verwendung der anderen

          Funktion TableField,  die mehrere  Reihen im  Tabellenformat

          gleichzeitig  ausgibt, empfiehlt  sich besonders,  wenn eine

          Tabelle viele Reihen hat.

 

          Die Abbildung  4-4 zeigt  das Retrieve-frame für die Tabelle

          arbeiten, das durch die Auswahl der Funktion TableField  und

          anschließend analog  dem in  Abbildung 4-3  gezeigten  frame

          entstanden ist.

 

 

 


               ARBEITEN TABLE(S)                                                   

 

M_nr

Pr_nr

Aufgabe

Einst_dat

>=10000

 

*leiter

 

 

?3

 

 

 

 

 

 

 

 

 

 

                                                                          

     Go   Blank   LastQuery   Order   Help   End                          

                                                                          

 

                     Abb. 4-4 Suchkriterium für die Tabelle arbeiten

 

          Die  Funktion Retrieve  ermöglicht die Suche nach bestimmten

          Reihen   einer  Tabelle,  die  eine  Vorgabe  des  Benutzers

          erfüllen.  Dies geschieht durch die Angabe eines Datenwertes

          oder durch die Verwendung der Suchoperatoren. Die Angabe des

          Datenwertes 28559  in der Spalte M_nr würde z.B. die Ausgabe

          folgender zwei Reihen

 

                  28559|p1|              |01-aug-1988  und

                  28559|p2|Sachbearbeiter|01-feb-1989

 

          bedeuten.

 

          Die  komplexeren Formen  der Suche  sind  in  Abbildung  4-5

          gezeigt. Die  Angabe des  Wertepaares ">=1000" und "*leiter"

          in einer  bzw. des Wertes "?3" in der anderen Reihe bedeutet

          eine  ODER-Verknüpfung, die  wahr ist,  falls  entweder  die

          Bedingung  der einen  oder die  Bedingung der  anderen Reihe

          oder beide erfüllt sind.

 

          Das  Zeichen ">="  definiert  den  grösser-gleich  Operator,

          der,  genauso  wie  die  anderen  Vergleichsoperatoren  beim

          Vergleich numerischer Werte benutzt werden kann. Das Zeichen

          "*"  kennzeichnet eine  beliebige Zeichenfolge von n Zeichen

          (n>=0),  während "?" genau ein beliebiges Zeichen darstellt.

          Die  Kombination zweier  (oder  mehrerer)  Suchkriterien  in

          einer  Zeile   (">=10000"  und   "*leiter")  definiert  eine

          UND-Verknüpfung,  die  wahr  ist,  falls  beide  Bedingungen

          erfüllt sind.

 

          Die Abbildung  4-5 zeigt  die Treffermenge  der Reihen,  die

          mit  den in Abbildung 4-4 definierten Suchbedingungen in der

          Tabelle arbeiten gefunden wurde.

 

                                                                           

                                                                           

              ARBEITEN TABLE(S)                                                 

                                                                           

       

M_nr

Pr_nr

Aufgabe

Einst_dat

10102

p1

Projektleiter

01-oct-1988

10102

p3

Gruppenleiter

01-jan-1989

9031

p3

Sachbearbeiter

15-nov-1988

2581

p3

Projektleiter

15-oct-1989

 

 

 

 

 

 

 

 

                                                                   

 

             

   Abb. 4-5 Gefundene Treffermenge in der Tabelle arbeiten

 

Zurück zum Inhaltsverzeichnis

 

 

 

4.2        JoinDefs

 

 

          Die   elementaren  Funktionen,   die  das   INGRES-Subsystem

          QBF   unterstützt,  sind  das  Suchen,  Ändern  und  Löschen

          existierender  Datenwerte einer  Tabelle sowie  das Einfügen

          neuer  Reihen  einer  Tabelle.  Diese  QBF-Operationen,  die

          sich  auf einzelne  Tabellen beziehen,  werden  oft  in  der

          Praxis benutzt;  sie decken  aber  nur  einen  kleinen  Teil

          der   Anforderungen  an  QBF  ab.  Mit  solchen  elementaren

          QBF-Operationen   ist  es   z.B.  nicht   möglich,  aus  der

          Beispieldatenbank    gleichzeitig   den    Namen   und   das

          Einstellungsdatum  eines Mitarbeiters zu erfragen. Für diese

          und ähnliche  Aufgaben ist  es notwendig, solche Operationen

          zu benutzen, die mehrere Tabellen miteinander verknüpfen.

 

          Die   Voraussetzung,   QBF-Programme   zu   erstellen,   die

          gleichzeitig  die Information aus mehreren Tabellen liefern,

          ist die  Verwendung des  INGRES-Subsystems JoinDef.  JoinDef

          ermöglicht sowohl die Beschreibung von Tabellenverknüpfungen

          einer  Datenbank als auch die Beschreibung von Eigenschaften

          dieser Verknüpfungen.

 

          Bevor   das  INGRES-Subsystem   JoinDef  mit   allen  seinen

          Funktionen   beschrieben    wird,   werden   die   möglichen

          Tabellenverknüpfungen der  Beispieldatenbank  erörtert.  Die

          ersten  beiden Tabellen,  die miteinander  verknüpft  werden

          können, sind  abteilung und mitarbeiter. Die beiden Tabellen

          können mit Hilfe der Spalte abt_nr, die die Abteilungsnummer

          der  Firma  enthält,  miteinander  verknüpft  werden.  Diese

          Spalte  ist   in  beiden  Tabellen  gleichnamig,  was  nicht

          unbedingt notwendig ist. Damit haben wir die Spalten

 

                        abteilung. abt_nr    und

                        mitarbeiter.abt.nr

 

          als   Verknüpfungsspalten   der   Tabellen   abteilung   und

          mitarbeiter.

 

          Wie aus  der Definition  der Beispieldatenbank  ersichtlich,

          gehören    jeder   Abteilung    mehrere   Mitarbeiter    an.

          Diese   Beziehungsart,  wo   jeder   Reihe   einer   Tabelle

          mehrere  Reihen  einer  anderen  Tabelle  entsprechen,  wird

          Master/Detail-Beziehung   genannt.  Im  Falle  der  Tabellen

          abteilung  und mitarbeiter  ist damit  abteilung die Master-

          und mitarbeiter die Detail-Tabelle.

 

          In     der    Beispieldatenbank    können    zwei    weitere

          Tabellenverknüpfungen  definiert werden. Die Tabelle projekt

          kann mit der Tabelle arbeiten verknüpft werden, wobei

 

                        projekt.pr_nr     und

                        arbeiten.pr_nr

 

          die  Verknüpfungsspalten   sind.  Aus   der  Definition  der

          Beispieldatenbank  geht hervor, daß in jedem Projekt mehrere

          Mitarbeiter  arbeiten. Damit  ist projekt  die  Master-  und

          arbeiten die Detail-Tabelle.

 

          Schließlich  können   auch  die   Tabellen  mitarbeiter  und

          arbeiten mit Hilfe der Spalten

 

                        mitarbeiter.m_nr      und

                        arbeiten.m_nr

 

          verknüpft  werden. Weil jede Mitarbeiternummer einmal in der

          Tabelle  mitarbeiter und  mehrmals in  der Tabelle  arbeiten

          vorkommt,  ist mitarbeiter  die  Master-  und  arbeiten  die

          Detail-Tabelle.

 

          Um diese  Tabellenverknüpfungen dem INGRES-System bekannt zu

          machen, muß die Funktion JoinDefs des INGRES/MENU (Abb. 4-6)

          aufgerufen werden.

 

                                                                           

                                                                          

             QBF   JoinDefs Catalog                                             

 

Name

Owner

Short Remark

 

 

 

 

 

 

 

 

 

                                                                     

             Place cursor on row and select desired operation from menu           

 

             Create    Destroy    Edit    Rename    MoreInfo    Go                          

                                                                           

                           Abb. 4-6 JoinDefs Catalog-frame

 

          Die  Menüfunktionen  des  JoinDefs-Katalogs  haben  folgende

          Bedeutung:

 

Funktion

Bedeutung

Create

Mit dieser Funktion kann eine Tabellenverknüpfung definiert werden.

Destroy

löscht eine schon existierende Tabellenverknüpfung.

Edit

Mit Edit kann die Information über eine schon mit JoinDefs definierte Tabellenverknüpfung ausgegeben werden.

Rename

Ändert den Namen einer mit  JoinDefs definierten Tabellenverknüpfung.

MoreInfo

Mit dieser Funktion können sowohl stichwortartige als auch lange Kommentare zu einer mit    JoinDefs definierten Tabellenverknüpfung erstellt werden. (Der stichwortartige Kommentar erscheint  in  der Spalte Short Remarks der Abbildung 4-6.)

Go

führt ein JoinDef aus.

 

 

          Um  eine Tabellenverknüpfung  zu erstellen, muß die Funktion

          Create  aufgerufen werden.  Nach dem  Aufruf dieser Funktion

          erscheint das in Abbildung 4-7 gezeigte frame.

 

                                                                        

                                                                          

           QBF - JoinDef Definition Form                                     

                                                                           

              JoinDef Name: abt_mit                                       

                                                                          

           For each table in the JoinDef, enter table name (with optional       

                                                                     abbreviation for table name) below.

           For Master/Detail JoinDefs enter Master or detail under Role

                                                                     (Default is Master if blank).           

 

Role

Table Name

Abbreviation

MASTER

abteilung

 

detail

mitarbeiter

 

 

 

 

                                                                

           Table Field Format? (y/n): YES                   

                                                                           

           Select the "Go" to run the Join Definition                

 

           Go      Blank     ChangeDisplay      Joins      Rules               

                                                                           

 

                        Abb. 4-7 JoinDef Definition Form-frame

 

          In Abbildung  4-7  sind  die  Angaben  für  die  Verknüpfung

          der  Tabellen  abteilung  und  mitarbeiter  gemacht  worden.

          In der  Role-Spalte haben  wir  die  Master/Detail-Beziehung

          zwischen  diesen beiden  Tabellen definiert,  während in der

          Abbreviation-Spalte  ein Kürzel für jede Tabelle eingetragen

          werden kann.

 

          Nachdem die  Namen der  zu verknüpfenden  Tabellen und  ihre

          Master/Detail-Beziehung  definiert  sind,  müssen  noch  die

          Verknüpfungsspalten der beiden Tabellen spezifiziert werden.

          Diese  Spezifikation erfolgt  durch die Auswahl der Funktion

          Joins,  wonach das  in der  Abbildung  4-8  gezeigtes  frame

          erscheint.

 

                                                                           

           QBF - JoinDef Join Specification                                    

                                                                            

       

Column

Join

Column

abteilung.abt_nr

MD

mitarbeiter.m_nr

 

 

 

 

 

 

                                                                   

           To get help on a  table enter the table name or identifier          

           below and select the "GetTableDef" menu item.                       

 

Column

Data Type

m_nr

i4

m_name

char(20)

m_vorname

char(20)

abt_nr

char(4)

                                                                     

            Rules      GetTableDef       Forget       Help       End                                

 

                           Abb. 4-8 JoinDef Specification-frame

 

          Das  in Abbildung  4-8 gezeigte  frame enthält  die Verknüpfungsspalten

          sowie die mit MD gekennzeichnete  Master/Detail-Beziehung

          der Tabellen abteilung und mitarbeiter. Im unteren

          Teil  der Maske kann der Benutzer durch die Eintragung eines

          Tabellennamens und den Aufruf der Funktion GetTableDef, alle

          Spalten  einer Tabelle  am  Bildschirm  angezeigt  bekommen.

          Damit hat  er  die  Möglichkeit,  das  logische  Schema  der

          Tabelle  anzuschauen, um  sich z.B. ins Gedächtnis zu rufen,

          welche Spalte die Verknüpfungsspalte ist.

 

          Hinweis.

          INGRES    unterscheidet     zwischen    Master/Detail-   und

          Master/Master-Beziehung.     Die     Master/Master-Beziehung

          kennzeichnet die Beziehungsart, wo jeder Reihe einer Tabelle

          genau eine  Reihe einer  anderen  Tabelle  entspricht.  Eine

          solche Beziehungsart  wird in  der  Role-Spalte  (Abb.  4-7)

          durch die entsprechende Angabe definiert.

 

          Die zweite  wichtige Funktion  des JoinDef  Definition-frame

          ist  Rules.  Mit  dieser  Funktion  können  Regeln  für  das

          Ändern  bzw.   Löschen  der   Reihen  der  beiden  in  einer

          Master/Detail-Beziehung stehenden Tabellen definiert werden.

          Die  Abbildung  4-9  zeigt  das  JoindDef  Update  &  Delete

          Rules-frame.

 

                                                                          

                                                                          

          QBF - JoinDef   Update & Delete Rules                           

                                                                          

          Update Information: To enable modification of join fields in    

          Update mode, enter "Yes" under UPDATE? Column                    

           

Column

Update?

abteilung.abt_nr

no

mitarbeiter.abt_nr

no

                                                              

          Delete Information:To disable deletion of rows in a table during

          Update mode, enter "No" under Delete? column                    

      

Column

Delete?

abteilung.abt_nr

yes

mitarbeiter.abt_nr

yes

                                                                   

             Joins    Forget    Help    End                                           

                                                                          

 

                      Abb. 4-9 JoinDef Update & Delete Rules-frame

 

          Das  JoinDef   Update  &   Delete   Rules-frame   beschreibt

          die   Regeln,  die  beim  Ändern  einer  Verknüpfungsspalte,

          bzw.   Löschen    einer   Reihe   der   beiden   verknüpften

          Tabellen  gelten.  Die  Änderungsregeln  beziehen  sich  auf

          die  Frage,   was  passiert,   wenn  die   Werte  einer  der

          beiden  Verknüpfungsspalten  geändert  werden.  Sollten  die

          entsprechenden   Werte  der   Tabelle  mitarbeiter  geändert

          werden,  wenn z.B.  der Datenwert  a1 der  Spalte abt_nr der

          Tabelle  abteilung in  a4 geändert  wird? Falls  ja, muß die

          Angabe  in der  Update?-Spalte in  der zweiten  Zeile  "yes"

          enthalten. Dieselbe  Frage kann  auch gestellt  werden, wenn

          Datenwerte  der   Spalte  abt_nr   der  Tabelle  mitarbeiter

          geändert  werden. Falls  die entsprechende  Änderung auch in

          der Tabelle abteilung durchgeführt werden sollte, muß in der

          Update?-Spalte in der ersten Zeile "yes" eingetragen werden.

 

          Die Regeln zum Löschen entsprechen bis auf einen Punkt genau

          den Änderungsregeln.  Der einzige  Unterschied ist,  daß die

          Änderungsregeln sich  auf Spalten und die Regeln zum Löschen

          auf  Reihen beziehen.  Falls z.B.  die  Reihen  der  Tabelle

          mitarbeiter, die  den Datenwert a3 enthalten, nicht gelöscht

          sein sollten,  nachdem die  Reihe der  Tabelle abteilung mit

          demselben  Datenwert gelöscht  wurde, muß  die Angabe in der

          Delete?-Spalte in der zweiten Zeile "no" lauten.

 

Zurück zum Inhaltsverzeichnis

 

 

 

4.3        Komplexe Masken

 

 

          Im Unterschied  zu einfachen Masken basieren komplexe Masken

          gewöhnlich  auf   einer  Verknüpfung  zweier  oder  mehrerer

          Tabellen.  In dem  vorherigen Abschnitt  haben wir  gezeigt,

          wie  die Verknüpfung  von Tabellen  mit  Hilfe  von  JoinDef

          spezifiziert werden  kann. In diesem Abschnitt werden die so

          erzeugten  Verknüpfungen für  die Erstellung  und Ausführung

          von Maskenspezifikationen  verwendet.  Um  dies  zu  zeigen,

          werden  wir  das  existierende  JoinDef,  das  die  Tabellen

          abteilung und mitarbeiter verknüpft, benutzen.

 

          Die   Erstellung  und   die  Ausführung   einer  mit   Hilfe

          von    JoinDef   erzeugten    Maskenspezifikation    erfolgt

          analog  der   Erstellung  und   Ausführung  einer  einfachen

          Maskenspezifikation.  Zuerst  wird  die  Funktion  Forms  im

          INGRES-Hauptmenü und  danach die Funktion Create aufgerufen.

          Um   eine  Maskenspezifikation  mit  Hilfe  von  JoinDef  zu

          erstellen,   muß  jetzt   die  Menüfunktion  JoinDefDefaults

          ausgewählt  und der  JoinDef-Name (abt_mit) angegeben werden

          (Abb. 4-10).

                                                               

                                                                           

                                   ABTEILUNG TABLE                             

                                                                            

            Abt_nr:c___                Abt_name: c______________               

            Stadt:c______________                                             

                                                                            

                                                                           

           MITARBEITER TABLE(S)                                             

 

M_nr

M_name

M_vorname

f_____

c______________

c______________

 

 

 

                                                                 

          Create   Delete   Edit   Move   Undo   Order   Save   FormAttr   Location  Help        

                                                                           

      Abb. 4-10 Maskenspezifikation für die Tabellen abteilung und mitarbeiter

 

          Die  in Abbildung  4-10 gezeigte  Maske kann  anschließend -

          wie bei  den einfachen  Masken schon  beschrieben -  mit der

          Funktion Edit geändert und mit Save gesichert werden.

 

          Die  Operationen an  Daten erfolgen mit Hilfe von QBF analog

          zu den schon beschriebenen Operationen bei einfachen Masken.

          Abbildung  4-11 zeigt  die Ausführung  der Funktion Retrieve

          nach der Eingabe des Wertes a1 für die Spalte abt_nr.

                                                                          

                                                                           

                                   ABTEILUNG TABLE                            

                                                                           

            Abt_nr: a1                 Abt_name: Beratung                      

            Stadt: Muenchen                                                   

                                                                            

                                                                           

           MITARBEITER TABLE(S)                                            

          

M_nr

M_name

M_vorname

18316

Mueller

Gabriele

28559

Mozer

Sibille

 

 

 

 

                      Abb. 4-11 Die Ausführung der  Funktion Retrieve

 

Zurück zum Inhaltsverzeichnis

 

 

Aufgabe.

 

A.4.1   Mit Hilfe des INGRES-Subsystems JoinDef erstellen Sie eine

             Tabellenverknüpfung für die Tabellen projekt und arbeiten.

             Die Datenwerte der Spalte pr_nr der Tabelle projekt sollen

             nicht  geändert werden, falls die entsprechenden Werte der

             Spalte  pr_nr der  Tabelle arbeiten modifiziert werden und

             umgekehrt.  Die Reihen  der Tabelle  arbeiten sollen nicht

             gelöscht werden, falls die entsprechende Reihe der Tabelle

             projekt gelöscht wird und umgekehrt.

 

Zurück zum Inhaltsverzeichnis