Ir para conteúdo
Fórum Script Brasil
  • 0

chave estrangeira


Jamil

Pergunta

Estou com problemas para criar chaves estrangeiras de um trabalho, sou iniciante com o mysql, então não sei qual o problema na syntax :S

vou colocar o código aqui, para se possivel alguém me ajudar

create table CLIENTE(
cod_cliente int(2),
nome char(25),
endereco char(40),
cidade char(25),
telefone char(10));

create table VENDA(
cod_venda int(4),
data_venda date,
cliente int(2),
data_entrega date,
valor_total double(7,2),
FOREIGN KEY (cliente) REFERENCES CLIENTE (cod_cliente));

create table ITEM_VENDA(
cod_venda int(4),
cod_item_venda int,
cod_produto int(4),
quantidade int,
FOREIGN KEY (cod_venda) REFERENCES VENDA (cod_venda),
FOREIGN KEY (cod_produto) REFERENCES PRODUTO (cod_produto));

create table PRODUTO(
cod_produto int(4),
descricao char(25),
preço double(8,2));

desde já, agradeço

Editado por Denis Courcy
Melhorar entendimento do código.
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Oi, 'Jamil'

A resolução deste problema é simples.

Inverta a ordem de criação da tabela produto.

Ela deve ser criada antes de criar a tabela ITEM_VENDA.

Crie indices primary key para as tabelas CLIENTE atributo cod_cliente, PRODUTO atributo cod_produto e VENDA atributo cod_venda.

O código corrigido está abaixo.

create table CLIENTE(
cod_cliente tinyint unsigned,
nome char(25),
endereco char(40),
cidade char(25),
telefone char(10),
primary key(cod_cliente)
)engine = innodb;

create table PRODUTO(
cod_produto smallint unsigned,
descricao char(25),
preço double(8,2),
primary key (cod_produto)
)engine = InnoDB;

create table VENDA(
cod_venda smallint unsigned,
data_venda date,
cliente tinyint unsigned,
data_entrega date,
valor_total double(7,2),
FOREIGN KEY (cliente) REFERENCES CLIENTE (cod_cliente),
primary key (cod_venda)
)engine = InnoDB;

create table ITEM_VENDA(
cod_venda smallint unsigned,
cod_item_venda int unsigned,
cod_produto smallint unsigned,
quantidade int,
FOREIGN KEY (cod_venda) REFERENCES VENDA (cod_venda),
FOREIGN KEY (cod_produto) REFERENCES PRODUTO (cod_produto),
primary key (cod_venda, cod_item_venda)
) engine = InnoDB;

desde já, agradeço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...