Breve Conceito de Foreign key
Vamos ver o conceito de relacionamento entre tabelas e como criar.
Adicionar chave estrangeira
Chave estrangeira (foreign key) é o campo que estabelece o relacionamento entre duas tabelas. Assim, uma coluna corresponde à mesma coluna que é a chave primária de outra tabela. Dessa forma, deve-se especificar na tabela que contém a chave estrangeira quais são essas colunas e à qual tabela está relacionada. O banco de dados irá verificar se todos os campos que fazem referências à tabela estão especificados.
Relacionamento e integridade referencial
Determinar esse tipo de relacionamento, fica garantida a integridade das informações. Os valores presentes nas clunas definidas como chave estrangeira devem ter um correspondente em outra tabela, caso contrário o bando de dados deve retornar uma mensagem de erro, assim as restrições de chave estrangeira identificam os relacionamentos entre tabelas e assegura que a integridade referencial seja mantida.
Constraints
Constraints são regras agregadas a colunas ou tabelas. Assim, pode-se definir como obrigatório o preenchimento de uma coluna que tenha um valor-padrão quando uma linha for incluída na tabela ou quando aceitar apenas alguns valores pre-definidos. No caso de regras aplicadas a tabelas, tem-se a definição de chaves primárias e estrangeiras.
No post anterior, nós vimos como criar tabelas utilizando o Sql Server Management Studio e também revisamos como criar uma tabela e index utilizando o Create Table e Create Index. Agora, após criadas as tabelas, podemos alter e adicionar uma Foreign Key (o relacionamento)
Tabelas: Cidade, Estado e Fabricante.
Alter table
cliente
add
constraint fk_cliente_cidade foreign key (cidade) references cidade (id_cidade)
Alter table
cliente
add
constraint fk_clientte_estado foreign key (estado) references estado (id_estado)
Alter table
produto
add
constraint fk_fabricante foreign key (nome_fabricante) references fabricante(id_fabricante)
Excluir cheve estrangeira
Mais uma vez, uma chave estrangeira é muito importente. É ela que vai fazer referencia (relacionamento com outra). Antes de tudo, analise a estrutura da tabela, não poderá excluir uma chave estrangeira se o compo da tabela referenciada estiver preenchida.
Alter table
cliente
drop
constraint fk_cliente_cidade
Alter table
cidade
drop
constraint fk_cidade_estado
Alter table
cliente
drop
constraint fk_cliente_estado
Tomamos conhecimento de como criar um relacionamento entre tabelas e a grande importância da integridade referencial. Até a próxima.
Confira também
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo