Мне тяжело с этим проектом, я создаю конфигуратор лодки, который разделен на категории / пакеты / дополнения.
Каждая категория не связана с другой, так что это не большая проблема.
Проблема выходит с пакетами и дополнениями. Дополнительно - это опции, которые можно выбрать в пакете (увеличив общую стоимость). Я объясню все зависимости, которые могут существовать между этими двумя объектами:
- В некоторых случаях вы также можете приобрести пакет вместе, у которого может быть дополнительное (или 2) обновление до этого пакета
- Бывают случаи, когда вы можете купить одну упаковку от 4 до 5, и дополнительно вы можете купить дополнительные услуги в другой 6-й упаковке
- Иногда дополнительные могут быть куплены, только если у вас есть хотя бы один предмет в данной упаковке
- Иногда дополнительный можно купить, только если у вас есть определенный дополнительный
В данный момент у меня нет никакой другой зависимости (но я уверен, что есть и другие возможные).
Я не знаю, какой подход я должен использовать для хранения всех этих зависимостей, у меня есть 3 базовые таблицы sql (категория, пакет, дополнительные, которые не связаны, потому что пакет => Дополнительная зависимость может отличаться для других категорий) и CategoryRelationship, PackageRelationship, ExtraRelationship, но мне трудно выразить некоторые зависимости, особенно 2-е, которое не ограничивается одним полем идентификатора.
Как обычно обрабатываются все эти взаимозависимости?
Я никогда не сталкивался с этой проблемой, спасибо за любые предложения
Редактировать 1:
Я подумываю об изменении подхода к 1 таблице для каждого «типа» зависимости, можно ли считать ее хорошим способом обработки вместо одной таблицы со всеми типами зависимостей?