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));
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));
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.