Ir para conteúdo

POWERED BY:

Arquivado

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

PHP_desenvolvimento

Relacionamento com multi-valores

Recommended Posts

Boa tarde galera,

 

Vou ser breve e tentar explicar ao certo o que estou precisando:

 

Tenho 3 tabelas:

 

nivelacessos

-------------------------------------------------------------------------

| id_tipoAcessos | tipoAcessos | descricao | menuAcessos |

| 1 | 1 | Adm | 3,2,1 |

| 2 | 2 | Super | 3,2 |

| 3 | 3 | User | 1 |

------------------------------------------------------------------------

 

menu

-------------------------------------------

| id_menu | nomeMenu | subMenu |

| 1 | Imove | 1,2,3 |

| 2 | Consultor | 1,2,3 |

| 3 | Prospota | 1,2,3 |

--------------------------------------------

 

submenu

 

------------------------------

| id_menu | nomeMenu |

| 1 | Cadastra |

| 2 | Remove |

| 3 | Altera |

------------------------------

 

Qual é a melhor forma em SQL eu relacionar estas tabelas com este dados separados por virgula ? Alguem pode me ajudar ?

 

Relacionar as tabelas nivelacessos -> menu -> submenu

 

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se quer um conselho refaça este modelo, até dá para buscar isto via sql usando funções de string mas o trabalho não compensa a "economia" deste modelo.

 

Existem até formas simples (group_concat) que permite do modelo normalizado (forma normal) chegar ao agrupado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo você acha que seria então melhor criar uma outra tabela para fazer o relacionamento dos dados contendo somente os ID's? Seria dessa forma ? E quando consultar joga-se num group-concat ! Dessa forma seria melhor você acha?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com certeza.



Não fosse pelo modelo a query já estaria pronta, neste modelo ela seria uma complicação só.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só pra fechar então, a melhor forma seria assim veja se concorda comigo por favor:

 

nivelacessos

------------------------------------------------------

| id_tipoAcessos | tipoAcessos | descricao |

| 1 | 1 | Adm |

| 2 | 2 | Super |

| 3 | 3 | User |

------------------------------------------------------

 

rel_nivelAcesso_menu

 

--------------------------------------

| id_tipoAcessos | id_menu |

| 1 | 1 |

| 1 | 2 |

| 2 | 1 |

| 2 | 2 |

| 3 | 1 |

| 3 | 2 |

-------------------------------------

 

menu

-------------------------------------------

| id_menu | nomeMenu | subMenu |

| 1 | Imove | 1,2,3 |

| 2 | Consultor | 1,2,3 |

| 3 | Prospota | 1,2,3 |

--------------------------------------------

 

rel_menu_submenu

 

--------------------------------------

| id_menu | id_submenu |

| 1 | 1 |

| 1 | 2 |

| 2 | 1 |

| 2 | 2 |

| 3 | 1 |

| 3 | 2 |

-------------------------------------

 

submenu

 

------------------------------

| id_menu | nomeMenu |

| 1 | Cadastra |

| 2 | Remove |

| 3 | Altera |

------------------------------

 

E quando fizer a consulta jogar estes dados como group-concat ?! Correto?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vai ver que os sql ficam simples, e exceção (relatório em lista) fica num group_concat

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.