1
resposta

Resposta


CREATE TABLE TB_VENDAS 
(NUMERO VARCHAR(5) NOT NULL, 
DATA_2 DATE NULL,
CPF VARCHAR(11) NOT NULL,
MATRICULA VARCHAR(5) NOT NULL,
IMPOSTO FLOAT,
PRIMARY KEY(NUMERO),
FOREIGN KEY(CPF, MATRICULA));
1 resposta

Oiê, tudo certo por aí?

Peço desculpas por demorar a te responder.

Parabéns pelo criação da tabela, Vitor!

Existem alguns pontos que eu gostaria de comentar, vamos olhá-los mais de perto?

A identificação das chaves estrangeiras CPF e MATRICULA foi feita em somente uma linha. Para que ambas sejam reconhecidas de forma independente, precisamos separá-las em duas partes, desta maneira:

FOREIGN KEY(CPF),
FOREIGN KEY(MATRICULA)

As chaves estrangeiras têm como objetivo relacionar duas tabelas por meio de uma coluna identificadora. Sendo assim, precisamos especificar, durante a criação da tabela TB_VENDAS, a quais tabelas CPF e MATRICULA pertencem, assim:

FOREIGN KEY(CPF) REFERENCES CLIENTES(CPF),
FOREIGN KEY(MATRICULA) REFERENCES VENDEDORES(MATRICULA)

Observe que, após estabelecer qual campo será uma chave estrangeira (com FOREIGN KEY(NOME_COLUNA)), utilizamos a palavra reservada REFERENCES, o nome de outra tabela e a sua chave primária (que, nesse caso, será tratada como chave estrangeira de TB_VENDAS). Nesse momento, é importante prestarmos atenção nos nomes das colunas e das tabelas, a fim de evitarmos possíveis erros durante a execução do código SQL.

Após essas mudanças, chegaremos no seguinte resultado:

CREATE TABLE TB_VENDAS 
(NUMERO VARCHAR(5) NOT NULL, 
DATA_2 DATE NULL,
CPF VARCHAR(11) NOT NULL,
MATRICULA VARCHAR(5) NOT NULL,
IMPOSTO FLOAT,
PRIMARY KEY(NUMERO),
FOREIGN KEY(CPF) REFERENCES CLIENTES(CPF),
FOREIGN KEY(MATRICULA) REFERENCES VENDEDORES(MATRICULA));

Dessa maneira, conseguiremos criar a nossa tabela de vendas, bem como identificar quais das suas colunas serão chaves estrangeiras (FKs). Vitor, continue estudando e se dedicando, fico à disposição para ajudar caso surja alguma dúvida!

Um forte abraço.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software