У меня есть три таблицы Initiative
, Category
и Forecasts
.Отношение 1 ко многим во всех таблицах.
Initiative
может иметь несколько Category
может иметь несколько Forecasts
Initiative
может быть либо повторяющимся, либо не основанным на том, что имена Category
могут различаться.Например, для повторяющегося Initiative
он будет иметь набор определенных Categories
, которые будут повторяться для всех Initiatives
повторяющегося типа.
А прогнозы будут по категориям по месяцам года.Вот как это сейчас, и скрипка здесь
С этим подходом связано то, что для каждой инициативыДля конкретного типа название категории повторяется много раз, хотя оно одно и то же.
Другая проблема заключается в том, что когда нам нужно добавить инициативу определенной категории, нам нужно будет поддерживать еще одну таблицу AllInitiative со всеми Инициативами и всеми категориями, чтобы первоначально сопоставить их с таблицей Category
.После чего прогнозы могут быть добавлены к вновь добавленной инициативе и категории.
Как мне лучше спроектировать эту структуру так, чтобы у меня была одна таблица AllInitiative
, которая содержит все типы инициатив ровно один раз, и таблица AllCategory
, которая имеет список категорий для каждого типа инициативы.
И используйте другую таблицу для отслеживания конкретного типа инициативы и категории без дублирования названий категорий в каждом экземпляре определенного типа инициативы.