Anlegen
eines
Fremdschlüssel
|
 |
Der Befehl |
|
Ein Fremdschlüssel wird fast genauso wie ein Primärschlüssel
angelegt. Jedoch muß hier (mit dem Befehl references) die Tabelle
angegeben werden, aus welcher der foreign key stammt:
foreign key (<spalte1>)
references <tabelle>(<spalte1>)
|
 |
Beispiel |
|
In diesem Beispiel wählen wir direkt die "bessere Form"
der Definition eines constraints, die wir von der vorigen
Seite kennen (mit Angabe eines constraint Namens):
create table auftrag
(
auftragsnummer number(4),
kundenname char(15),
constraint pk_auftragsnummer
primary key (auftragsnummer),
constraint fk_kundennummer
foreign key (kundennummer)
references kunde
)
|
 |
Anmerkung 1 |
|
Der Befehl foreign key(auftragsnummer) hätte auch am Anfang
oder in der Mitte des Befehls create table stehen können.
Wichtig ist nur, daß er zwischen den beiden Klammern steht.
|
 |
Anmerkung 2 |
|
Nehmen wir an, daß wir in der Tabelle Auftrag die Spalte
Kundennummer zum Fremdschlüssel erklären. Dann muß
die Spalte Kundennummer in der Tabelle Kunde unbedingt
eindeutig sein, d.h. sie muß Primärschlüssel sein, oder auf
dieser Spalte muß ein Index liegen.
|
|