Latest web development tutorials

SQL FOREIGN KEY Vincolo

SQL FOREIGN KEY Vincolo

FOREIGN KEY in una tabella punti ad un altro tasto tabella primaria.

Facciamo un esempio per spiegare la chiave esterna. Considerate i seguenti due tabelle:

tabella "Persone":

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

tabella "Ordini":

O_Id OrderNo P_Id
1 77895 3
2 44678 3
3 22456 2
4 24562 1

Si prega di notare colonna della tabella, "Ordini" "P_Id" punto di colonna "Persone" tavolo "P_Id".

colonna "Persone" tavolo "P_Id" è il "Persone" KEY tabella primaria.

"Ordini" tavolo colonna "P_Id" è il "Ordini" FOREIGN KEY tavolo.

Vincolo FOREIGN KEY viene utilizzato per evitare di danneggiare il collegamento tra il comportamento del tavolo.

FOREIGN KEY vincolo impedisce anche i dati illegali in una colonna chiave esterna, deve essere uno perché punta al tavolo.


SQL vincolo FOREIGN KEY CREATE TABLE quando

Il seguente SQL quando la tabella "Ordini" è stato creato per creare un vincolo FOREIGN KEY sulla colonna "P_Id":

MySQL:

CREATE TABLE Orders
(
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:

CREATE TABLE Orders
(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
)

Per citarne vincolo FOREIGN KEY, e definire una pluralità di vincolo colonna di chiave esterna, utilizzare la seguente sintassi SQL:

MySQL / SQL Server / Oracle / MS accesso:

CREATE TABLE Orders
(
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 vincolo FOREIGN KEY ALTER TABLE quando

Quando la tabella "Ordini" è stato creato per le colonne creare vincolo FOREIGN KEY "P_Id", si prega di utilizzare il seguente SQL:

MySQL / SQL Server / Oracle / MS accesso:

ALTER TABLE Orders
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)

Per citarne vincolo FOREIGN KEY, e definire una pluralità di vincolo colonna di chiave esterna, utilizzare la seguente sintassi SQL:

MySQL / SQL Server / Oracle / MS accesso:

ALTER TABLE Orders
ADD CONSTRAINT fk_PerOrders
FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)


Annulla vincolo FOREIGN KEY

Per eliminare un vincolo FOREIGN KEY, utilizzare il seguente SQL:

MySQL:

ALTER TABLE Orders
DROP FOREIGN KEY fk_PerOrders

SQL Server / Oracle / MS Access:

ALTER TABLE Orders
DROP CONSTRAINT fk_PerOrders