1
resposta

[Dúvida] ADD CONSTRAINT

Não entendi oq é o 'ADD CONSTRAINT'

1 resposta

Olá Marcos, tudo bem?

Após a criação da tabela ESTOQUE, é importante essa alteração na tabela para que seja aplicado uma regra "restrição" que garanta a integridade dos dados, ou seja, garanta que o dado que "veio de outra tabela" não sofra modificações, permanecendo íntegro. .

Essa restrição recebe um nome para que possamos identificá-la, nesse caso o nome da restrição é CE_ESTOQUE_LIVROS, e ela foi aplicada no campo ID_LIVRO. .

Observe que a tabela ESTOQUE possui o campo ID_LIVRO, mas esse campo ID_LIVRO "vem de outro lugar". Se, ID_LIVRO vem de outro lugar, lá onde ele nasceu ele é considerado uma chave primária e aqui ele é uma chave estrangeira. Então, após o nome da restrição, identificamos e separamos em duas linhas quem é quem. Quem é o campo estrangeiro que faz referência ao campo chave primária da tabela LIVROS. .

Exemplo do código, com comentários:

ALTER TABLE ESTOQUE  --vamos alterar a tabela ESTOQUE

ADD CONSTRAINT CE_ESTOQUE_LIVROS --vamos adicionar/criar uma restrição/regra de integridade, para garantir que os dados não sofram modificações, permanecendo íntegros e vamos criar um nome (CE_ESTOQUE_LIVROS) para essa restrição

FOREIGN KEY (ID_LIVRO) --vamos informar que queremos aplicar a restrição no campo ID_LIVRO, massss como esse campo já existe em outra tabela e lá ele é uma chave primária PRIMARY KEY, então aqui ele é identificado como chave estrangeira FOREIGN KEY.

REFERENCES LIVROS(ID); --já que o campo ID_LIVRO é considerado estrangeiro e foi aplicado a restrição nele, então, é preciso informar de que tabela ele vem e como chama a chave primaria lá na tabela origem, referenciando "esclarecendo" a origem desse ID.

Espero ter ajudado!

Bons estudos!

Cida.