Adicionar chave estrangeira /
relacionamento / integridade referencial / constraints
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.
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 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.
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
Conclusão: Tomamos conhecimento de como criar um relacionamento entre tabelas e a grande importância da integridade referencial. Até a próxima.
"Nada sou sem o SENHOR" - Alex Tenório