Database
 sql >> Base de Dados >  >> RDS >> Database

SQL de chave estrangeira:tudo o que você precisa saber sobre operações de chave estrangeira

No mercado atual, onde muitas empresas multinacionais usam bancos de dados relacionais para lidar com dados, é muito importante entender como cada tabela pode ser relacionada entre si. Portanto, neste artigo sobre SQL de chave estrangeira, discutirei a chave estrangeira em tabelas para que você entenda o relacionamento entre as tabelas.

Os seguintes tópicos serão abordados neste artigo:

  1. O que é restrição de chave estrangeira?
  2. Regras para chave estrangeira
  3. Operações de chave estrangeira:
    • Chave estrangeira SQL na criação de tabela
    • Chave estrangeira SQL na tabela Alter
    • Descartar chave estrangeira

O que é restrição de chave estrangeira?

Uma chave estrangeira é um tipo de chave usada para vincular duas tabelas em um banco de dados. Portanto, uma chave estrangeira é um atributo ou uma coleção de atributos em uma tabela que se refere à chave primária em outra tabela.

Por exemplo, se a Tabela A e a Tabela B estiverem relacionadas entre si, se a Tabela A consistir na chave primária, essa tabela será chamada de tabela referenciada ou tabela pai. Da mesma forma, se a Tabela B consiste em uma chave estrangeira, essa tabela é conhecida como tabela de referência ou tabela filha. Consulte a imagem abaixo:


Agora que você sabe o que é chave estrangeira, a seguir neste artigo sobre SQL de chave estrangeira, vamos entender as regras da chave estrangeira.

Regras para chave estrangeira

As regras de chave estrangeira são as seguintes:

  1. A tabela com a chave estrangeira é chamada de tabela filha e a tabela referenciada pela chave estrangeira é chamada de tabela pai.
  2. Valores nulos são permitidos em uma chave estrangeira
  3. As chaves estrangeiras podem ser duplicadas
  4. Pode haver mais de uma única chave estrangeira em uma tabela
  5. A relação estabelecida entre as tabelas é conhecida como integridade referencial

Agora que você sabe quais são as regras de uma chave estrangeira, a seguir neste artigo sobre SQL de chave estrangeira, vamos ver as operações da chave estrangeira.

Operações de chave estrangeira:

Para entender as várias operações presentes na chave estrangeira, considere as duas tabelas a seguir:

Tabela de clientes:

CustomerID Nome do cliente PhoneNumber
1 Rohan 9876543210
2 Sonali 9876567864
3 Ajay 9966448811
4 Geeta 9765432786
5 Shubham 9944888756

Tabela de cursos:

CourseID

Nome do Curso

CustomerID

c01

DevOps

2

c02

Aprendizado de máquina

4

c03

RPA

1

c04

Tableau

3

c05

AWS

2

Agora, se você observar, a coluna customerID na tabela de cursos se refere à coluna customerID na tabela de clientes. A coluna customerID da tabela de clientes é a chave primária e a coluna customerID da tabela de cursos é a chave estrangeira dessa tabela.

Começando com a primeira operação:

Chave estrangeira na tabela de criação


Você pode usar a seguinte sintaxe para criar uma chave estrangeira na coluna “customerID” ao criar a tabela “courses”:
#For SQL Server/ MS Access/ Oracle
CREATE TABLE courses (
courseID varchar NOT NULL PRIMARY KEY,
courseName varchar NOT NULL,
customerID int FOREIGN KEY REFERENCES customers(customerID)
);
#For MySQL
CREATE TABLE courses (
courseID varchar NOT NULL PRIMARY KEY,
courseName varchar NOT NULL,
customerID int
PRIMARY KEY (courseID),
FOREIGN KEY (customerID) REFERENCES customers(customerID)
);

Aplicar chave estrangeira em várias colunas


Para aplicar a chave estrangeira em várias colunas ao criar uma tabela, consulte o exemplo a seguir:
CREATE TABLE courses (
courseID varchar NOT NULL,
courseName varchar NOT NULL,
customerID int, PRIMARY KEY (courseID),
CONSTRAINT FK_CustomerCourse FOREIGN KEY (customerID)
REFERENCES customers(customerID)
);

A seguir, neste artigo sobre SQL de chave estrangeira, vamos ver como usar a chave estrangeira em Alter Table.

Chave estrangeira na tabela de alteração

Você pode usar a seguinte sintaxe para criar uma chave estrangeira na coluna “customerID” quando a tabela “courses” já estiver criada e você quiser apenas alterar a tabela:

ALTER TABLE courses
ADD FOREIGN KEY (customerID) REFERENCES customers(customerID);

Se você deseja adicionar um nome à restrição de chave estrangeira e defini-la em várias colunas, use a seguinte sintaxe SQL:

ALTER TABLE courses
ADD CONSTRAINT FK_CustomerCourse
FOREIGN KEY (customerID) REFERENCES Customers(customerID);

Em seguida, neste artigo sobre SQL de chave estrangeira, vamos entender como descartar uma chave estrangeira

Descartar chave estrangeira

Para descartar a chave estrangeira, você pode consultar o seguinte exemplo:

#For SQL Server/ MS Access/ Oracle
ALTER TABLE courses
DROP CONSTRAINT FK_CustomerCourse;
For MYSQL
ALTER TABLE courses
DROP FOREIGN KEY FK_CustomerCourse;

Com isso, encerramos este artigo. Espero que você tenha entendido como usar a chave estrangeira no SQL. Se você deseja saber mais sobre MySQL e conheça esse banco de dados relacional de código aberto, então confira nosso Treinamento de certificação de DBA MySQL que vem com treinamento ao vivo conduzido por instrutor e experiência em projetos na vida real. Este treinamento ajudará você a entender o MySQL em profundidade e a dominar o assunto.

Tem alguma pergunta para nós? Mencione-o na seção de comentários deste artigo sobre "Foreign Key SQL" e entrarei em contato com você.