Jump to content


Photo

Tabela Com 3 Chaves Estrangeiras


  • Faça o login para participar
1 reply to this topic

#1 Greg

Greg

    Ativo

  • Usuários
  • 302 posts
  • Sexo:Não informado
  • Localidade:Florianópolis

Posted 09/02/2010, 12:50

Olá pessoal, seguinte, possuo duas tabelas.

User
id_user
name_user


Transfer
id_transfer
user_operation - fk1
user_origin - fk2
user_destination - fk3
value

onde:
user_operation = id do user q efetuou uma operação de transferencia de valores
user_origin = id do user q teve o valor transferido
user_destination = id do user que teve o valor recebido

Como faço para gerar um sql desse modelo sendo que na tabela Transfer eu possuo três chaves estrangeiras que apobntam para o mesmo campo da tabela User, ou seja, id_user.

Valew!

#2 Renan L. Queiroz

Renan L. Queiroz

    Mestre

  • Usuários
  • 690 posts
  • Sexo:Masculino
  • Localidade:Brasilia - DF

Posted 09/02/2010, 13:13

Voce precisa referenciar essas Foreing Keys, a partir de um campos de outra tabela, quais seriam essas?

Se bem que vendo sua explicação, percebo que as 3 FKS são referenciadas ao ID da primeira tabela!!
Eu utilizo do MySQL Workbench, que assim faço o MER visualmente e apartir disso gero o script.

Resultado:

CREATE TABLE IF NOT EXISTS `mydb`.`Transfer` (
`id_transfer` INT NOT NULL AUTO_INCREMENT ,
`user_operation` INT NULL ,
`user_origin` INT NULL ,
`user_destination` INT NULL ,
`value` FLOAT NULL ,
PRIMARY KEY (`id_transfer`) ,
INDEX `user_operation` () ,
INDEX `user_origin` () ,
INDEX `user_destination` () ,
CONSTRAINT `user_operation`
FOREIGN KEY ()
REFERENCES `mydb`.`User` ()
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `user_origin`
FOREIGN KEY ()
REFERENCES `mydb`.`User` ()
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `user_destination`
FOREIGN KEY ()
REFERENCES `mydb`.`User` ()
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB

Edição feita por: Renan L. Queiroz, 09/02/2010, 13:23.

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Posted Image





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq