Das ATOS-Magazin 1/00
papyrus: OFFICE 8

# Relationale Verknüpfungen in der Datenbank

Wer von Datenbanken spricht, der redet auch schnell über Relationen. Was früher ein besonderes Feature war, ist heute eine Selbstverständlichkeit. Was sind nun aber Relationen?

> Relationen sind Verknüpfungen zwischen Datenbanktabellen, die der Vereinfachung der Datenspeicherung dienen, indem sie Daten, die in einer Datenbank mehrfach benötigt werden, zwischen den verschiedenen Tabellen verknüpfen.

Das heißt, dass mehrfach benötigte Daten nicht mehrfach eingeben werden müssen, sondern dass die Daten in einer Tabelle gespeichert werden und alle anderen Tabellen auf diese Daten über eine oder mehrere Relationen zugreifen können.

Außerdem machen Relationen komplexe Datenbanken erst möglich. Bestes Beispiel ist immer eine Faktura. Hier hat man alle Kunden mit ihren Daten in einer Tabelle erfaßt. Schreibt man nun für einen Kunden eine Rechnung, benötigt man dafür in der Regel seine Adresse. Diese wird nun in der Rechnungstabelle nicht jedesmal neu eingetragen, sondern über eine Relation aus der Kundentabelle geholt.

Eine Faktura als papyrus BASE-Datenbank liegt der Version 8 bei. Diese kann, wenn man sie benutzen will, an die eigenen Bedürfnisse angepaßt werden oder zumindest als Anhaltspunkt dienen, wenn man beim Anlegen oder Benutzen von Relationen Probleme hat.

### Wie werden den nun in papyrus Relationen angelegt?

Dazu geht man in den Dialog "Feldeigenschaften" aus dem Menü "Datenbank". Hier wählt man im Popup "Relationen".

Mit dem Button "Neue Relation" öffnet man den Dialog zum Anlegen und Verändern der Relationen. Nachdem man der Relation einen Namen gegeben hat, wird die Primärtabelle zugewiesen. Das ist die Tabelle, aus der die Daten übernommen werden sollen.

Nun kann man noch einige Einstellungen vornehmen, die das Verhalten der Relation bei der späteren Benutzung beeinflussen. Wichtig ist hier vor allem die Einstellung über das Verhalten beim Löschen eines Primärdatensatzes.

Hat man diesen Dialog bestätigt, landet man wieder im Dialog "Feldeigenschaften". Schaut man sich nun die beiden Listen neben den Relationsbuttons an, sieht man, dass im linken Feld alle angelegten Relationen aufgelistet sind. Markiert man eine der Relationen, werden in der rechten Liste alle Felder der verknüpften Datenbank aufgeführt. Nun muß nur noch den Feldern der Zieldatenbanktabelle die richtigen Felder der Primärtabelle zugewiesen werden. Dazu wählt man in der großen Liste das Feld aus, das Daten erhalten soll, geht in den unteren Bereich des Dialogs, wählt eine der zuvor angelegten Relationen und selektiert nun noch in der rechten Liste das Feld, aus dem die Daten kommen sollen.

### Wie benutzt man die Relationen in papyrus?

Das Benutzen der Relationen ist ganz simpel gelöst worden und dennoch sehr komfortabel. Wenn man eine Maske öffnet, um einen neuen Datensatz anzulegen sieht man sofort, in welchen Feldern die Daten produziert werden. Diese werden nämlich grau unterlegt. Daten, die ihren Ursprung in einer Relation haben, werden noch mit blauer Schrift hervorgehoben. Schade ist, dass man die Farben für diese Hervorhebungen nicht selbst bestimmen kann.

Nun muß man nur in einem verknüpften Feld mit dem Schreiben beginnen oder einen Doppelklick in ein Feld setzen. Dann öffnet sich die Primärtabelle und man kann den gewünschten Datensatz wie gewohnt wählen. Hat man den entsprechenden Datensatz gefunden, kann er mit einem Doppelklick übernommen werden. Alternativ kann man sich vor der Übernahme noch die Eingabemaske anzeigen lassen. Jetzt wird natürlich nicht nur dieses eine Feld übernommen, sondern alle Felder, die über diese Relation verknüpft sind. Einfacher gehts nicht.

Zusätzlich kann man sich noch von jedem Datensatz in einer Primärtabelle alle Datensätze anzeigen lassen, die Daten von ihm erhalten haben. Ein Klick mit der rechten Maustaste auf den jeweiligen Datensatz und danach "Zeige Referenzen aus 'Tabellenname'" im Kontextmenü und man erhält diese Liste.

Rechenfunktionen in der Datenbank