CLAVE EXTRANJERA SQL Palabra clave
❮ Referencia de palabras clave de SQL
CLAVE EXTERNA
La FOREIGN KEY
restricción es una clave que se utiliza para vincular dos tablas.
UNA CLAVE EXTERNA es un campo (o colección de campos) en una tabla que hace referencia a la CLAVE PRIMARIA en otra tabla.
CLAVE EXTERNA SQL en CREAR TABLA
El siguiente SQL crea una CLAVE EXTERNA en la columna "PersonID" cuando se crea la tabla "Pedidos":
mysql:
CREATE TABLE Orders
(
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);
Servidor SQL/Oracle/MS Access:
CREATE TABLE Orders
(
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);
Para permitir el nombramiento de una restricción FOREIGN KEY y para definir una restricción FOREIGN KEY en varias columnas, utilice la siguiente sintaxis 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)
);
CLAVE EXTERNA SQL en ALTER TABLE
Para crear una restricción FOREIGN KEY en la columna "PersonID" cuando la tabla "Pedidos" ya está creada, use el siguiente SQL:
MySQL/SQL Server/Oracle/MS Access:
ALTER TABLE Orders
ADD FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID);
Para permitir el nombramiento de una restricción FOREIGN KEY y para definir una restricción FOREIGN KEY en varias columnas, utilice la siguiente sintaxis SQL:
MySQL/SQL Server/Oracle/MS Access:
ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID);
DROP una restricción FOREIGN KEY
Para descartar una restricción FOREIGN KEY, use el siguiente SQL:
mysql:
ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;
Servidor SQL/Oracle/MS Access:
ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;
❮ Referencia de palabras clave de SQL