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

[Dúvida] CHAVE ESTRANGEIRA

Qual a diferença entre declarar a chave estrangeira na criação do código, exemplo:

CREATE TABLE TABELA_DE_ITENS_VENDIDOS
(
    NUMERO VARCHAR(5) NOT NULL,
    CODIGO VARCHAR(10) NOT NULL,
    QUANTIDADE INT NULL,
    PRECO FLOAT NULL,

    PRIMARY KEY (NUMERO, CODIGO),
    
    FOREIGN KEY (NUMERO) REFERENCES TABELA_DE_VENDAS(NUMERO),
    FOREIGN KEY (CODIGO) REFERENCES PRODUTOS(CODIGO)
);

Ou declarar a chave estrangeira com ALTER TABLE - ADD CONSTRAINT?

1 resposta
solução!

Ei, Robson! Tudo bem?

A diferença está na organização e na flexibilidade do seu código SQL:

  • No CREAT TABLE, tudo fica centralizado em um único bloco de código. É melhor para quando estiver criando a tabela do zero e quiser garantir que todas as restrições sejam aplicadas imediatamente. O script fica mais organizado e fácil de entender.

  • No ALTER TABLE é útil quando é preciso adicionar ou modificar restrições em uma tabela já existente. Isso oferece flexibilidade, pois você pode alterar a estrutura de uma tabela sem ter que recriá-la completamente.

Em resumo, a escolha de qual usar depende do fluxo de trabalho e das suas necessidades específicas. Se você está criando uma nova tabela e quer manter tudo em um lugar, declare as chaves estrangeiras na criação. Se você está modificando uma tabela existente, ALTER TABLE é o caminho a seguir.

Espero ter ajudado e qualquer dúvida, conte conosco aqui no fórum.

Até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado!