<< >> Up Title Contents Index

Zusammengesetzter Schlüssel

Ein Schlüssel muß nicht - wie es in obigem Beispiel der Fall ist - nur aus einer Spalte bestehen. Er kann sich aus bis zu 127 Spalten zusammensetzen, die zusammen eine Länge von 255 Zeichen nicht überschreiten dürfen.

Es ist jedoch unüblich, einen Schlüssel aus mehr als fünf Spalten zu konstruieren, da es für den Benutzer nicht mehr überschaubar ist, die Werte eindeutig einzugeben.

Betrachten wir nun eine leicht veränderte Tabelle 'kunde'. Es soll für jeden Kunden zunächst festgehalten werden, in welcher Abteilung er Kunde ist. Innerhalb der Abteilung werden dann ebenfalls Kundennummern in Einhunderterschritten vergeben, was mit Hilfe der Modulo-Funktion überprüft wird.

CREATE TABLE kunde (abtnr FIXED (4)
                          CONSTRAINT abtnr BETWEEN 1 and 999,
                    knr   FIXED (4)
                          CONSTRAINT knr BETWEEN 1 AND 9999
                                 AND knr MOD 100 = 0,
                    anrede    ...
                    nachname  ...,
                    PRIMARY KEY (abtnr, knr)
                    )

INSERT kunde
       VALUES (100, 3000, 'Frau',  ...)

INSERT kunde
       VALUES (100, 3100, 'Herr',  ...)

INSERT kunde
       VALUES (100, 3200, 'Herr',  ...)

INSERT kunde
       VALUES (200, 3000, 'Firma', ...)

INSERT kunde
       VALUES (250, 3000, 'Frau',  ...)

Anhand der eingegebenen Werte wird deutlich, daß weder die Abteilungsnummer noch die Kundennummer alleine ausreichend wäre, um eine Eindeutigkeit zu gewährleisten. Als zusammengesetzter Schlüssel (oder: multipler Key) sorgen sie jedoch dafür, daß die Kunden eindeutig unterscheidbar sind.

Die Anordnung der Spalten hinter der PRIMARY-KEY-Klausel legt die Schlüssel-Reihenfolge fest.

Ein direkter Zugriff auf einen Kunden muß dann folgendermaßen formuliert werden:

SELECT DIRECT anrede, nachname
       FROM kunde
       KEY abtnr = 100, knr = 3100


<< >> Up Title Contents Index