Struttura della tabella per i menu a mySQL
-
13-09-2019 - |
Domanda
ho bisogno di consigli per una struttura di tabella.
Ho bisogno di creare i menu in modo dinamico.
Non ci saranno più di 3 menu.
Alcuni dei menu avranno strutture multi-livello.
Qual è il modo migliore per strucure le tabelle di menu?
- Tutti i menu sono in una tabella
- Ogni tabella dovrebbe avere una tabella
- Ogni altro ??
Vi prego di dare la vostra esperienza o pratiche comuni per i menu generati in modo dinamico per favore.
Soluzione
assumendo il vostro albero di menu non è molto grande, la cosiddetta lista di adiacenza sarebbe l'opzione più semplice
id
parent_id
title
other fields
per i menu di livello superiore parent_id = 0
Gestione dati gerarchici in MySQL per ulteriori discussioni e altri opzioni
Altri suggerimenti
Si potrebbe utilizzare una struttura come questa:
nome della tabella: Menu id - chiave primaria menu_id - riferimento alla voce di menu principale Titolo - titolo del menu (Tutti gli altri dati è necessario)
questo modo si può avere un numero illimitato di livelli ... off Naturalmente questo non è l'unico modo ...
Utilizzando parent_id dovrebbe essere sufficiente per la maggior parte delle strutture, se si rimane bloccata sulle prestazioni (per quanto riguarda la profondità di ricorsione), si dovrebbe anche ricerca Modified preorder albero Traversal .
questo sarà utile, Dinamicamente popolando le voci di menu dal database in ASP.NET