DieZz
@DieZz

Как организовать хранение дерева в БД?

Пытаюсь придумать как организовать хранение связей между кроссами и муфтами. Связь - это оптический кабель, который может связывать:
  • кросс-кросс
  • кросс-муфта
  • муфта-муфта

В упрощенном виде это выглядит примерно так:
41a7cbf02a544862be1552cdb5920ec2.png
Для меня проблема заключается в том, что связь может быть либо с кроссом либо с муфтой. Сейчас вижу следующую реализацию:
3316ef93578140359cd77efb6e089354.png
Хотелось бы услышать мнения по-поводу более грамотной реализации базы данных
  • Вопрос задан
  • 218 просмотров
Пригласить эксперта
Ответы на вопрос 2
Writerim
@Writerim
Заполнить позже...
objects
id | name | ident
1 | Муфта | mufta
...


links
id_object | id_child


В таблице objects храним типы объектов
В таблице links связи.
Можно усложнить добавив такую сущность в links как "схема" или какой нибудь определитель группы.
Вариации можно под конкретный случай делать
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Между таблицами `cables` и `communications` связь один-к-одному? Тогда их лучше объединить в одну таблицу.
И непонятно, в вашей системе кабель таки может связывать кросс с кроссом или всегда только кросс с муфтой?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы