Fórum WMO: Tabela Com 3 Chaves Estrangeiras - Fórum WMO

Ir para

Página 1 de 1
  • Novo tópico
  • Responder
  • Ícone  Compartilhar

Tabela Com 3 Chaves Estrangeiras

#1 Membro offline   Greg 

  • 12 Horas
  • Ícone
  • Grupo: Usuários
  • Posts: 292
  • Cadastrado: 06/09/2006
  • Sexo:Não informado
  • Localidade:Florianópolis
Pontos: 0
Neutral

Postou 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!
0

#2 Membro offline   Renan L. Queiroz 

  • Mestre
  • Ícone
  • Grupo: Usuários
  • Posts: 690
  • Cadastrado: 11/12/2007
  • Sexo:Masculino
  • Localidade:Brasilia - DF
Pontos: 17
Good

Postou 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

Este post foi editado por Renan L. Queiroz: 09/02/2010, 13:23

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Imagem
0

Página 1 de 1
  • Novo tópico
  • Responder

1 usuário(s) está(ão) lendo este tópico
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)