Ograniczenie SQL FOREIGN KEY
Ograniczenie SQL FOREIGN KEY
Klucz obcy w tabeli do jednego punktu inny klucz tabeli podstawowej.
Użyjmy przykład wyjaśnić klucz obcy. Rozważmy następujące dwie tabele:
"Osoby" tabeli:
P_Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Hansen | Ola | Timoteivn 10 | Sandnes |
2 | Svendson | Tove | Borgvn 23 | Sandnes |
3 | Pettersen | Kari | Storgt 20 | Stavanger |
"Zamówienia" tabeli:
O_Id | OrderNo | P_Id |
---|---|---|
1 | 77895 | 3 |
2 | 44678 | 3 |
3 | 22456 | 2 |
4 | 24562 | 1 |
Należy pamiętać, że "Zamówienia" stół "p_id" punkt kolumna "osoby" stół "p_id" kolumny.
"Osoby" stół "p_id" kolumna jest "Osoby" tabeli klucz podstawowy.
"Zamówienia" stół "p_id" kolumna jest "Zamówienia" tabeli klucza obcego.
FOREIGN KEY ograniczeniem jest używany, aby zapobiec uszkodzeniu połączenia pomiędzy zachowaniem tabeli.
FOREIGN KEY zapobiega również ograniczenie nielegalnych danych do kolumny klucza obcego, to musi być jeden, ponieważ wskazuje na stole.
FOREIGN KEY SQL CREATE TABLE, gdy ograniczenie
Poniższy SQL kiedy "Zamówienia" Stół jest stworzony, aby utworzyć klucz obcy ograniczenia w kolumnie "p_id":
MySQL:
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
)
SQL Server / Oracle / MS Access:
(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
)
Aby wymienić klucz obcy ograniczenia i zdefiniować wiele kolumny klucz obcy ograniczeń, należy użyć następującej składni SQL:
MySQL / SQL Server / Oracle / MS dostępu:
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
)
SQL ALTER FOREIGN KEY TABELA kiedy
Kiedy "Zamówienia" tabela została stworzona dla kolumn utworzyć FOREIGN KEY ograniczenie "p_id", proszę kliknąć na poniższy SQL:
MySQL / SQL Server / Oracle / MS dostępu:
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
Aby wymienić klucz obcy ograniczenia i zdefiniować wiele kolumny klucz obcy ograniczeń, należy użyć następującej składni SQL:
MySQL / SQL Server / Oracle / MS dostępu:
ADD CONSTRAINT fk_PerOrders
FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
Cofanie ograniczenie klucz obcy
Aby usunąć ograniczenie klucz obcy, należy użyć następującego SQL:
MySQL:
DROP FOREIGN KEY fk_PerOrders
SQL Server / Oracle / MS Access:
DROP CONSTRAINT fk_PerOrders