Version: Test
©Raddy 2001

SQL mit Oracle II                                      zurück

Anlegen
eines
Fremdschlüssel
a-absatz.pcx (280 Byte)

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>)
   
a-absatz.pcx (280 Byte)

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
        )
  
a-absatz.pcx (280 Byte)

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.  
a-absatz.pcx (280 Byte)

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.

   

(c) by www.mathematik.net