SQL - chave estrangeira
Uma chave estrangeira é uma chave usada para vincular duas tabelas. Às vezes, também é chamada de chave de referência.
Uma chave estrangeira é uma coluna ou uma combinação de colunas cujos valores correspondem a uma chave primária em uma tabela diferente.
The relationship between 2 tables matches the Primary Key in one of the tables with a Foreign Key in the second table.
Se uma tabela tem uma chave primária definida em qualquer campo (s), então você não pode ter dois registros com o mesmo valor desse campo (s).
Exemplo
Considere a estrutura das duas tabelas a seguir.
CUSTOMERS table
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
ORDERS table
CREATE TABLE ORDERS (
ID INT NOT NULL,
DATE DATETIME,
CUSTOMER_ID INT references CUSTOMERS(ID),
AMOUNT double,
PRIMARY KEY (ID)
);
Se a tabela ORDERS já foi criada e a chave estrangeira ainda não foi configurada, use a sintaxe para especificar uma chave estrangeira alterando uma tabela.
ALTER TABLE ORDERS
ADD FOREIGN KEY (Customer_ID) REFERENCES CUSTOMERS (ID);
DROP uma restrição FOREIGN KEY
Para eliminar uma restrição FOREIGN KEY, use a seguinte sintaxe SQL.
ALTER TABLE ORDERS
DROP FOREIGN KEY;