" /> Hasło <br /><input type="password" name="passwd" id="passwd" class="inputbox" size="18" alt="password" />
Dom SQL Foreign Key
PDF

FOREIGN KEY - One punktów tabeli do innego PRIMARY KEY.

Spójrz na następujące dwie tabele:

Istnieje tabeli "Osoby":

P_IdNazwiskoImięAddressMiasto
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

Istnieje tabeli "Zamówienia":

O_IdOrderNoP_Id
1 77895 3
2 44678 3
3 22456 2
4 24562 1

Należy pamiętać, że w kolumnie "P_Id" w tabeli "Zamówienia" oznacza "P_Id" w tabeli "Osoby".

W kolumnie "P_Id" w tabeli "Osoby" jest kluczem podstawowym.

W kolumnie "P_Id" w tabeli "Zamówienia" to klucz obcy.

FOREIGN KEY nie zezwala, aby wstawić nieprawidłowych danych w kolumnie "P_Id" w tabeli "Zamówienia" i "Osoby".

SQL ograniczenia klucz obcy w TWORZENIE TABLE

Następujące SQL tworzy kolumnę klucza obcego "P_Id", podczas tworzenia tabeli "Zamówienia":

MySQL:

TWORZENIE TABELA Zamówienia (
O_Id int NIE NULL,
OrderNo int NIE NULL,
P_Id int,
PRIMARY KEY (O_Id),
FOREIGN KEY (P_Id) Referencje Osób(P_Id)
)

SQL Server / Oracle / MS Access:

TWORZENIE TABELA Zamówienia (
O_Id int NIE NULL PRIMARY KEY,
OrderNo int NIE NULL,
P_Id int FOREIGN KEY Referencje Osób(P_Id)
)

Można rozpowszechniać ogranicznik FOREIGN KEY na wielu kolumn, do korzystania z następujących składni SQL:

MySQL / SQL Server / Oracle / MS Access:

1
2
3
4
5
6
7
8
TWORZENIE TABELA Zamówienia(
O_Id int NIE NULL,
OrderNo int NIE NULL,
P_Id int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerZamówienia FOREIGN KEY (P_Id)
Referencje Osób(P_Id)
)

SQL klucz obcy w ALTER TABLE

Następujące SQL tworzy kolumnę klucza obcego "P_Id", gdy "Zamówienia" tabeli jest już utworzone:

MySQL / SQL Server / Oracle / MS Access:

1
2
3
ALTER TABELA Zamówienia
ADD FOREIGN KEY (P_Id)
Referencje Osób(P_Id)

Można rozpowszechniać ogranicznik FOREIGN KEY na wielu kolumn, do korzystania z następujących składni SQL:

MySQL / SQL Server / Oracle / MS Access:

1
2
3
4
ALTER TABELA Zamówienia
ADD CONSTRAINT fk_PerZamówienia
FOREIGN KEY (P_Id)
Referencje Osób(P_Id)

Usuwanie FOREIGN KEY

Aby usunąć klucz obcy przy użyciu następujących SQL:

MySQL:

1
2
ALTER TABELA Zamówienia
DROP FOREIGN KEY fk_PerZamówienia

SQL Server / Oracle / MS Access:

1
2
ALTER TABELA Zamówienia
DROP CONSTRAINT fk_PerZamówienia

Komentarze

 
+5 #1 Симо 2011-07-07 15:50 Bardzo przydatny tutorial. Dopiero teraz zdałem sobie sprawę, co to są klucze obce. Cytować
 
 
+3 #2 Sin 2011-08-14 17:32 Dzięki za lekcję, tylko dwa pytania voznyklo:
1
2 s?
Cytować
 
 
+1 #3 pnz 2012-02-21 11:28
w3schools.com /.../...
Cytować
 

Upoważnienie

Nicea Ajax Poll

Który z moich rozszerzeń jest najlepszy?

Statystyka

Reklama