estrutura de tabela para os menus no mysql
-
13-09-2019 - |
Pergunta
Eu preciso conselhos para uma estrutura de tabela.
Eu preciso criar menus dinamicamente.
Haverá mais de 3 menus.
Alguns dos menus terão estruturas multi-nível.
O que é a melhor maneira de strucure as tabelas de menu?
- Todos os menus estão em uma tabela
- Cada tabela deve ter uma tabela
- Qualquer outro ??
Por favor, dê-me sua experiência ou práticas comuns para os menus gerados dinamicamente agradar.
Solução
assumindo sua árvore de menu não é muito grande, a chamada lista de adjacência seria a opção mais simples
id
parent_id
title
other fields
para menus de nível superior parent_id = 0
Managing dados hierárquicos em MySQL para uma discussão mais aprofundada e outros opções
Outras dicas
Você pode usar uma estrutura como esta:
nome da tabela: Menu id - chave primária menu_id - referência para o item de menu pai Título - Título do menu (Quaisquer outros dados que você precisa)
Desta forma, você pode ter níveis ilimitados ... off claro que esta não é a única maneira ...
Usando parent_id deve ser suficiente para a maioria das estruturas, no entanto, se você ficar preso em performance (com relação a recursão profunda), você também deve pesquisar modificado preorder árvore Traversal .
este será útil, Dinamicamente preencher itens de menu do banco de dados no ASP.NET