powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Классификация компонентов (частей)
17 сообщений из 17, страница 1 из 1
Классификация компонентов (частей)
    #39034337
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде тема избитая, но как-то не складывается паззл у меня
Например, имеем сущность Человек. Нужно описать все его составляющие с учетом принадлежности части к системе
Как мне это видится
таблица 1
{id;name;description} - описание всех уникальных систем и их составляющих (скелет, кость, печень, клапан ect), возможно с объединением в группы
таблица 2
{id;parentid;reference;description}, где reference - ссылка на Таблицу 1

{{1;Человек;null};
{2;Скелет;Null};
{3; Таз;null};
{4; Бедренная кость;null};
{5; Тазобедренный сустав;null}
}

{{1;null;1;N'Человек'};
{2;1;2;N'Скелет человека'};
{3;2;3;N'Таз скелета'};
{4;3;4;N'Бедренная кость таза'};
{5;3;5;N'Тазобедренный сустав таза'};
}

Насколько это живуче будет? Или есть какие-то классические реализации таких структур? (с неограниченной вложенностью элементов) Bill Of Materials - похожая задача, но и там не могу должным образом абстрагироваться. Направьте на путь истинный
...
Рейтинг: 0 / 0
Классификация компонентов (частей)
    #39034423
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewicz Или есть какие-то классические реализации таких структур?
http://www.osp.ru/pcworld/2007/03/4199032/
...
Рейтинг: 0 / 0
Классификация компонентов (частей)
    #39034424
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку
waszkiewicz с неограниченной вложенностью элементовВ подавляющем большинстве случаев число уровней вложенности ограничено и не больно-то велико (можно посчитать на пальцах). При большом числе вложенности, человеку пользоваться деревом просто неудобно. Поэтому "материализованный путь" (/usr/user/folder/subfolder) рулит.
...
Рейтинг: 0 / 0
Классификация компонентов (частей)
    #39034469
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257В подавляющем большинстве случаев число уровней вложенности ограничено и не больно-то велико (можно посчитать на пальцах). При большом числе вложенности, человеку пользоваться деревом просто неудобно.+1
Особенно если учесть, что при вдумчивом анализе возможно часть уровней можно будет смело выбросить. Например, уровень "Человек", если только в этой БД не будет храниться структура других организмов. Остальные связи скорее всего будут представлять собой некий граф, а не дерево, где каждый узел может быть связан с несколькими другими и не всегда направленными связями. В той же медицине давно уже есть своё устоявшееся описание функциональных систем организма. IMHO, в ней вообще нет иерархиии в классическом её понимании, обычно подразумевающем однотипные элементы, типа генеалогии или подчинения. Вместо наследования больше агрегирования. В результате, вместо введение абстрактной иерархии возможно будет достаточно обычных связей между сущностями или обычными развязками вида M:N, возможно с указанием типа связи.
...
Рейтинг: 0 / 0
Классификация компонентов (частей)
    #39034486
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChA,

смех и грех
иерархия (т.е. - граф , где единственный тип связей), намного проще чем граф, где - "возможно придется указать типы связей":)
...
Рейтинг: 0 / 0
Классификация компонентов (частей)
    #39034488
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosиерархия (т.е. - граф , где единственный тип связей), намного проще чем граф, где - "возможно придется указать типы связей""Если в руках молоток, то всё кажется гвоздями" (c)

P.S.Под типами связи подразумевается добавление семантики во взаимоотношении сущностей. Т.е., не просто некая абстрактная связь, а роль, которую играют конкретная связь между сущностями. Иногда это бывает полезно, в частности, при появлении возможных дополнительных связей в будущем. Но с равным успехом можно раскрыть соответствующим количеством простых отношений M:N.
...
Рейтинг: 0 / 0
Классификация компонентов (частей)
    #39034491
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> не складывается паззл у меня

Вы задачу криво формулируете, вот и не складывается. Видите ли, в чём дело: описание человека безобразно формализовано, выдумывать ничего не нужно, нужно читать. Близкая задача - не BOM, а территориально-связанные структуры. Пример: государство. Есть административно-территориальное деление, есть политическая система, есть экономическая активность, есть национальный состав, есть социальные аспекты, есть демографические и пр. Ступор у вас должен наступить после осознания факта, что понятие "государство" не тождественно понятию "страна". Т. е. вроде как только что была достаточно жёсткая иерархия, а на самом деле это один из возможных подходов. Понимаете?

Если это учебная задача, возьмите пример попроще, вы её не решите, только запутаетесь.
...
Рейтинг: 0 / 0
Классификация компонентов (частей)
    #39034492
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Но с равным успехом можно раскрыть соответствующим количеством простых отношений M:N

Не всегда.
...
Рейтинг: 0 / 0
Классификация компонентов (частей)
    #39034503
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621,

а что за воще "простые отношения" М:N?
...
Рейтинг: 0 / 0
Классификация компонентов (частей)
    #39034522
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
таблица 1
{id;name;description} - описание всех уникальных систем и их составляющих (скелет, кость, печень, клапан ect), возможно с объединением в группы
таблица 2
{id;parentid;reference;description}, где reference - ссылка на Таблицу 1


а в где здесь не описание дерева? (не бинарного)
...
Рейтинг: 0 / 0
Классификация компонентов (частей)
    #39034539
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewicz,

пока что тут мусорная яма, не видно ограничений
...
Рейтинг: 0 / 0
Классификация компонентов (частей)
    #39034543
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> а что за воще "простые отношения" М:N?

a (id, parent_id, ...);
rel_one (a_id_a, a_id_b);

в противоположность явному указанию
...
rel_qualifier (id, ...);
rel (rel_qualifier_id, a_id_a, a_id_b);

Иногда существует необходимость явного описания контекста, тогда структура будет немного сложнее.
...
Рейтинг: 0 / 0
Классификация компонентов (частей)
    #39034557
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,
ограничений чего не видно?
...
Рейтинг: 0 / 0
Классификация компонентов (частей)
    #39034559
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewicz,

того что ты называешь деревом (непонятно почему)
...
Рейтинг: 0 / 0
Классификация компонентов (частей)
    #39034567
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

просвяти, где в тут
{id;parentid;reference;description}

ошибка в реализации дерева?
...
Рейтинг: 0 / 0
Классификация компонентов (частей)
    #39034568
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если parentid смущает благородного дона - так это ссылка на себя. Думалось, что очевидно.
...
Рейтинг: 0 / 0
Классификация компонентов (частей)
    #39046341
ShkrylAndrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы правильно мыслите вам нужно прямо взять и описать свойства каждой функции. Если я правильно понял из тех крякозябл которые вы написали, то вы описываете Анатомию человека:
Сущность человек
Голова
Туловище
Руки
Ноги

Голова
Череп
Волосы
рот


Руки
Кисти
Пальцы


и т.п.

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


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