Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

diegoholiveira

relacionamento muitos para muitos

Recommended Posts

Galera, beleza?

 

To desenvolvendo um projeto e tenho uma tabela de relacionamentos muito para muito, neste esquema:

 

 

 

valor1 | valor2

x | y

y | x

 

 

 

Agora, o lance é o seguinte, eu quero reconhecer estes dois registros como se fossem unicos (são os mesmos dados apenas em ordem diferente).

 

Como eu faço este "select"?

 

valeu galera.

Compartilhar este post


Link para o post
Compartilhar em outros sites

como serão essas tuas duas tabelas???

qual será o relacionamento entre elas?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imagino, que sendo um relacionamento muito para muitos, você possui 3 tabelas.

tabela_valores1

tabela_valores2

tabela_valores12

 

Sendo que a tabela_valores1, deve ter um campo chamado 'valor', assim como a tabela_valores2 tenha um campo chamado 'valor'.

Você teria que ter, na tabela_valores12, PK em ambos os campos (valor1, valor2), e vice-versa, como unique (valor2, valor1).

Ao colocar como primary key ou unique, não tem como os pares de valores serem iguais, nunca.

Por isso que normalmente uma tabela de relacionamento (no caso tabela_valores12) deveria ser composta por IDs, e não pode valores (estou presumindo estas informações, já que você não deu mais nenhum detalhe). Daí no caso, a tabela_valores1 e valores2 teria um auto-increment na PK ID, e seria utilizada na tabela_valores12 para que a relação fosse feita.

Numa tabela de relacionamento de muito para muitos, não poderia ter um mesmo PAR de relações, senão iria ser um caos (vários elementos duplicados por exemplo).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Paulo.

 

Eu to usando o ID sim, me referi ali como valor só pra abstrair a ideia.

 

Então o segredo é uma chave composta?

 

Você poderia dar um exemplo em codigo sql pra mim poder entender essa questão da chave composta? (eu sempre apanhei disso)

 

 

Abração e obrigado cara

 

 

 

Imagino, que sendo um relacionamento muito para muitos, você possui 3 tabelas.

tabela_valores1

tabela_valores2

tabela_valores12

 

Sendo que a tabela_valores1, deve ter um campo chamado 'valor', assim como a tabela_valores2 tenha um campo chamado 'valor'.

Você teria que ter, na tabela_valores12, PK em ambos os campos (valor1, valor2), e vice-versa, como unique (valor2, valor1).

Ao colocar como primary key ou unique, não tem como os pares de valores serem iguais, nunca.

Por isso que normalmente uma tabela de relacionamento (no caso tabela_valores12) deveria ser composta por IDs, e não pode valores (estou presumindo estas informações, já que você não deu mais nenhum detalhe). Daí no caso, a tabela_valores1 e valores2 teria um auto-increment na PK ID, e seria utilizada na tabela_valores12 para que a relação fosse feita.

Numa tabela de relacionamento de muito para muitos, não poderia ter um mesmo PAR de relações, senão iria ser um caos (vários elementos duplicados por exemplo).

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.