powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Посоветуйте структуру данных для иерархии групп
6 сообщений из 6, страница 1 из 1
Посоветуйте структуру данных для иерархии групп
    #36756608
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно организовать справочник групп, который выглядит примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Легковые
    Колеса
    Кузов
    Фары
Грузовые
    Средние
        Колеса
        Кузов
        Фары
        Прицепы
    Тяжелые
        Колеса
        Кузов
        Фары
        Прицепы
Автобусы
    Колеса
    Фары
Т.е. элемент может входить в разные группы одновременно, при этом располагаться на произвольном уровне иерархии.

Сейчас для реализации такой структуры используется две таблицы:
GROUP_LIST (ID, NAME)
GROUP_TREE (GROUP_ID, PARENT_ID, POSITION, ROOT_ID)

POSITION указывает номер позиции в текущей родительской группе (для произвольного порядка групп), ROOT_ID указывает на корневой элемент дерева (для более простого построения дерева).

Посоветуйте, можно ли сделать лучше?
________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
Посоветуйте структуру данных для иерархии групп
    #36756891
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Посоветуйте, можно ли сделать лучше?
Враг хорошего - еще лучшее. (с)
...
Рейтинг: 0 / 0
Посоветуйте структуру данных для иерархии групп
    #36757037
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зря вы так, Колеса для тяжелых грузовиков и Колеса для средних грузовиков это все таки две различные сущности
...
Рейтинг: 0 / 0
Посоветуйте структуру данных для иерархии групп
    #36757400
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naf , но колёсами от этого они быть не перестали...
...
Рейтинг: 0 / 0
Посоветуйте структуру данных для иерархии групп
    #36757411
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Нужно организовать справочник групп, который выглядит примерно так:Непонятно, что означает "справочник групп". В дерево-то все это можно уложить, но будет ли удобно и будет ли обеспечивать согласованность данных - вот в чем вопрос.
...
Рейтинг: 0 / 0
Посоветуйте структуру данных для иерархии групп
    #36757442
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообщем, разобрался.
Я сам себя запутал.
По сути, мне нужен самый обычный иерархический справочник типа ID-ParentID-Name. Только вместо Name будет не значение, а ссылка на запись в плоском справочнике прототипов групп.

Т.е. такая схема решает все вопросы:

GROUPS_LIST (GROUP_ID, NAME)
GROUPS_TREE (TREE_ID, PARENT_ID, POSITION, GROUP_ID)
PARTS (PART_ID, CODE, NAME, ... )
PARTS_GROUPS (PART_ID, TREE_ID)

Таблица GROUPS_LIST — справочник прототипов групп, GROUPS_TREE — реальный справочник групп, PARTS — таблица сущностей, PARTS_GROUPS — таблица связей, определяющих принадлежность сущности к группам.

NafЗря вы так, Колеса для тяжелых грузовиков и Колеса для средних грузовиков это все таки две различные сущностин

Поскольку привязка идет не к GROUP_ID, а к TREE_ID, то никакой путаницы не будет.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Посоветуйте структуру данных для иерархии групп
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]