1
resposta

Desafio: criando a tabela de itens de notas fiscais

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

PRIMARY KEY (NUMERO);
ALTER TABLE ITENS_NOTAS_FISCAIS
ADD CONSTRAINT FK_TABELA_DE_VENDAS
FOREIGN KEY (NUMERO) REFERENCES TABELA_DE_VENDAS (NUMERO);
ALTER TABLE ITENS_NOTAS_FISCAIS
ADD CONSTRAINT FK_TABELA_DE_PRODUTOS
FOREIGN KEY (CODIGO) REFERENCES TABELA_DE_VENDAS (CODIGO);
1 resposta

Olá Bruno, tudo bem?

Parabéns pela dedicação aos estudos, é muito importante realizar as atividades propostas, pois elas ajudam a consolidar os conhecimentos.

Bruno, analisei as suas consultas e tenho alguns pontos de melhorias:

  • A tabela de itens vendidos, é composta por uma chave primária composta, que é o código e o numero. Note que ao criar a tabela ITENS_NOTAS_VENDIDOS você não inseriu o código. A linha referente a chave primária deverá ficar asim:
PRIMARY KEY (NUMERO, CODIGO)
  • Além disso, ao adicionar a restrição, as chaves estrangeiras, você fez uma alteração na tabela nomeada ITENS_NOTAS_FISCAIS, porém você tinha nomeado ela como ITENS_NOTAS_VENDIDOS, é importante manter a consistência nos nomes, pois o programa identificará como tabelas diferentes. Considerei o primeiro nome ITENS_NOTAS_VENDIDOS. Prosseguindo nas chaves estrangeiras, ao referenciar o código da TABELA_DE_PRODUTOS você coloca REFERENCES TABELA_DE_VENDAS (CODIGO); quando, na verdade, o código é originado da tabela de produtos. O código corrigido ficará assim:
ALTER TABLE ITENS_NOTAS_VENDIDOS
ADD CONSTRAINT FK_PRODUTOS
FOREIGN KEY (CODIGO) REFERENCES TABELA_DE_PRODUTOS (CODIGO);

Espero ter ajudado.

Bruno, continue realizando as atividades, que você vai longe!

Caso surja alguma dúvida, fico à disposição.

Abraços e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!