Parola chiave SQL FOREIGN KEY
❮ Riferimento alle parole chiave SQL
CHIAVE STRANIERA
Il FOREIGN KEY
vincolo è una chiave utilizzata per collegare tra loro due tabelle.
Una CHIAVE ESTERA è un campo (o insieme di campi) in una tabella che fa riferimento alla CHIAVE PRIMARIA in un'altra tabella.
CHIAVE ESTERA SQL su CREATE TABLE
Il seguente SQL crea una CHIAVE ESTERA nella colonna "PersonID" quando viene creata la tabella "Ordini":
MySQL:
CREATE TABLE Orders
(
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);
SQL Server/Oracle/Accesso MS:
CREATE TABLE Orders
(
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);
Per consentire la denominazione di un vincolo FOREIGN KEY e per definire un vincolo FOREIGN KEY su più colonne, utilizzare la seguente sintassi SQL:
MySQL/SQL Server/Oracle/MS Access:
CREATE TABLE Orders
(
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID)
);
CHIAVE ESTERA SQL su ALTER TABLE
Per creare un vincolo FOREIGN KEY sulla colonna "PersonID" quando la tabella "Ordini" è già stata creata, utilizzare il seguente SQL:
MySQL/SQL Server/Oracle/MS Access:
ALTER TABLE Orders
ADD FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID);
Per consentire la denominazione di un vincolo FOREIGN KEY e per definire un vincolo FOREIGN KEY su più colonne, utilizzare la seguente sintassi SQL:
MySQL/SQL Server/Oracle/MS Access:
ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID);
RILASCIA un vincolo CHIAVE ESTERA
Per eliminare un vincolo FOREIGN KEY, utilizzare il seguente SQL:
MySQL:
ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;
SQL Server/Oracle/Accesso MS:
ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;
❮ Riferimento alle parole chiave SQL