我正在尝试创建一个多层菜单,对其分支的距离没有限制-例如食物->水果->圆形->颜色等...
我不确定如何用SQL表示关系,也不确定如何查询数据。
我考虑过做
MainMenu: ID:ChildID:名称:URL:PermissionID:等。
子菜单: PID:儿童ID:名称:URL:许可ID:等。
我认为,如果子菜单中还有其他子菜单,则其子菜单将成为SubMenu表中的另一个项目,那应该可以吗? PermissionID用于确定UserGroup是否可以访问Menu项。
我不确定SQL查询,因为我对它有点绿色。我知道最后我要向SQL提供UserGroup的PermissionID,以从表中获取所有菜单和子菜单。
答案 0 :(得分:0)
在RDBMS中存储分层数据不是一个好主意。您既可以使用诸如Elastic https://www.elastic.co/之类的基于文档的框架,以JSON文档格式存储数据,也可以在RDBMS的varchar列中使用分层JSON。