Foreign Key Constraint

Nessa postagem vamos falar sobre as Constraints do tipo Foreign Key, entender o que são e seus benefícios.

Uma Foreign Key (chave estrangeira), assim como as outras constraints, reforçam a integridade dos dados, elas impõem a integridade referencial.

A constraint do tipo chave estrangeira é definida em um conjunto de atributos em que é chamada de tabela de referência e aponta para um conjunto de atributos de chaves candidatas como uma Primary Key ou Unique Constraint em que é chamada de tabela referenciada (as tabelas de referência e a referenciada podem ser a mesma).

Portanto, a Foreign Key tem como finalidade restringir o domínio de valores permitidos nas colunas de Foreign Key àqueles existentes nas colunas referenciadas.

Além disso, durante os estágios de desenvolvimento e teste, as chaves estrangeiras ajudam a detectar um bom número de bugs relacionados ao processamento incorreto de dados, porém uma FK possui um preço, cada vez que você insere dados na tabela de referência, é necessário verificar se há linhas correspondentes na tabela de referência.

Vamos fazer um exemplo criando uma tabela de nome Orders com uma PK na coluna orderid:

CREATE TABLE dbo.Orders
(
Orderid INT NOT NULL,
Empid INT NOT NULL,
Custid VARCHAR(15) NOT NULL,
Orderts DATETIME NOT NULL,
Qty INT NOT NULL, CONSTRAINT PK_Orders 
PRIMARY KEY(orderid)
);

Para que seja possível impor uma regra de integridade para restringir o domínio de valores suportados pela coluna empid da tabela Orders a valores existentes na coluna empid da tabela Employees precisamos que seja definido uma Foreign Key Constraint na coluna empid da tabela Orders apontando para a coluna empid na tabela Employees conforme abaixo:

ALTER TABLE dbo.Orders
ADD CONSTRAINT FK_Orders_Employees
FOREIGN KEY (empid)
REFERENCES dbo.Employees(empid);

Portanto, podemos dizer que as Constraints do tipo Foreign Key definem os relacionamentos entre as tabelas no sistema, ajudam a melhorar a qualidade dos dados do seu Database mas durante o processo para verificar a integridade referencial podemos ter algumas sobrecargas, é muito importante definir o índice na coluna de referência na tabela de referência sempre que for possível.

Sendo assim, finalizamos a postagem para falar melhor sobre o que é uma Constraint Foreign Key no SQL, o objetivo era explicar o que ela é para quem está começando a utilizá-lo!

Espero que tenham gostado!

Aguardem que vem mais conteúdo pela frente!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s