Я пытаюсь спроектировать архитектуру базы данных для простой программы инвентаризации.
Этот инвентарь будет состоять из предметов в коробках. Коробки содержат предметы и сами являются предметами.
Я думаю, box
будет супер типом item
.
Моя основная проблема - как структурировать / ограничить отношения между блоками, чтобы я мог по-прежнему ограничивать уникальное условие, что элемент может находиться только в одном «месте» за раз.
Я знаю, что отношения «многие ко многим» должны сообщать мне, какие элементы находятся в каких коробках, а как быть с коробками в других коробках?
Например:
Box A
содержит Item B
и Box C
. Box C
содержит Item D
.
Как мне спроектировать систему, чтобы при поиске Item D
я находил ее внутри Box A
и Box C
(действительно здорово, если бы я мог также знать, как соотносятся коробки - последние находятся внутри первых ).