Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida no relacionamento entre tabelas

Boa noite, pessoal!

Queria uma ajuda de vocês.

Seguinte, estou criando um pequeno projeto e estou com uma dúvida.

Vamos supor que eu tenha um determinados tipos de cafés, esses cafés podem ser servidos em mais de dois tamanhos de xícaras. Como o relacionamento entre as tabelas são de n para n, temos as seguintes tabelas:

Café

id_cafe (PK) nome_cafe

Xicara_cafe

id_cafe (PK) id_xicara (PK)

Xicara

id_xicara (PK) nome_xicara

Obs: Na tabela Xicara_cafe temos uma chave primária composta

Os comando SQL ficam:

create table cafes (id_cafe int auto_increment not null, nome_cafe varchar(30) not null,
    primary key (id_cafe));

create table xicara (id_xicara int auto_increment not null, nome_xicara varchar(30) not null,
    primary key (id_xicara));

create table xicara_cafe (id_cafe int, id_xicara int,
    primary key (id_cafe, id_xicara));

alter table xicara_cafe foreign key (id_cafe) references cafes(id_cafe);

alter table xicara_cafe foreign key (id_xicara) references xicara(id_xicara);

Acontece que está dando erro exatamente no relacionamento entre as tabelas. Queria a dica para esse impasse. Desde já agradeço.

3 respostas
solução!

Olá Luan,

Há uma inconsistência no seu código de criação da FK. Faltou o add.

alter table xicara_cafe add foreign key (id_cafe) references cafes(id_cafe);

alter table xicara_cafe add foreign key (id_xicara) references xicara(id_xicara);

Eu acho que é isso mesmo. Valeu, Harley!

Ótimo Luan.

Por favor, marque como solucionado na resposta, para que possamos ajudar aos outros colegas também, ok?

Obrigado e até mais!