Лучший способ представить меню с множеством иерархий в SQL с "неограниченным" потомком? - PullRequest
0 голосов
/ 18 мая 2019

Я пытаюсь создать многослойное меню без ограничений на то, как далеко оно может разветвляться - например, Food-> Fruits-> Round Shape-> color etc ...

Я не уверенкак представить отношения в SQL, а также не знаю, как запросить данные.

Я думал о том, чтобы:

MainMenu: ID: ChildID: Имя: URL: PermissionID:и т. д.

Подменю: PID: ChildID: Имя: URL: PermissionID: и т. д.

Я думаю, что если подменю имеет дополнительные подменю, его дочерние элементы будут другим элементом в таблице SubMenu., а что должно работать?PermissionID используется, чтобы определить, может ли элемент меню быть доступным для группы пользователей.

Я не уверен насчет SQL-запроса, так как я немного зеленый на нем.В конце концов, я знаю, что передаю идентификаторы PermissionID группы пользователей в SQL, чтобы получить все меню и подменю из таблиц.

1 Ответ

0 голосов
/ 18 мая 2019

Хранение иерархических данных в RDBMS не очень хорошая идея.Либо вы можете использовать основанные на документе фреймворки, такие как Elastic https://www.elastic.co/, которые хранят данные в формате документа JSON, или вы можете использовать иерархический JSON в столбце varchar в RDBMS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...