Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Restrição

Não consegui compreender a função do "ADD CONSTRAINT", para que serve essa restrição?

1 resposta
solução!

Olá, Marcio, tudo bem?

Este comando, é utilizado para realizar a criação da FK em uma tabela após a sua criação:

ALTER TABLE  TB_DEPENDENTE 
ADD CONSTRAINT tb_funcionario_tb_dependente_fk
FOREIGN KEY (CPF_FUNCIONARIO)  
REFERENCES TB_FUNCIONARIO (CPF)
ON DELETE  NO ACTION 
ON UPDATE NO ACTION;
  • Utilizamos o comando ALTER TB_DEPENDENTE, para indicar que será realizada uma alteração em uma tabela, neste caso, será a tabela de DEPENDENTE.

  • O comando ADD CONSTRAINT tb_funcionario_tb_dependente_fk, adiciona uma CONSTRAINT ou RESTRIÇÃO com o nome de tb_funcionario_tb_dependente_fk a tabela de TB_DEPENDENTE.

  • A restrição inserida é indicada no trecho seguinte, neste caso, o comando FOREIGN KEY (CPF_FUNCIONARIO), onde será adicionada a restrição de chave estrangeira ao campo CPF_FUNCIONARIO da tabela de TB_DEPENDENTE.

  • A penúltima parte do comando de alteração, é o REFERENCES TB_FUNCIONARIO (CPF), neste caso, está sendo referenciado a tabela origem do campo CPF, a tabela de TB_FUNCIONARIO e indicando o campo desta tabela que será feita a ligação.

  • As duas ultimas linhas, ON DELETE NO ACTION e ON UPDATE NO ACTION; ,de modo simplificado, vai gerar um erro toda vez que alterar um FUNCIONARIO que existir na tabela TB_DEPENDENTE, mas não estiver registrado na tabela TB_FUNCIONARIO .

Qualquer dúvida é só falar!