Перепроектировать базу данных, чтобы учесть индивидуальные изменения объектов по умолчанию - PullRequest
0 голосов
/ 01 января 2011

У меня есть дизайн базы данных, в котором хранятся опции для нескольких проектов по всему миру, теперь босс хочет иметь возможность указать вес категории для каждого проекта.

Это мой текущий дизайн базы данных ....

Category (grouping of items)
-name
-weight

Item (a task that needs completed for objects)
-name
-id_category
-order_by
-(other info here)

Project
-name
-(lots of other stuff)

ProjectItems
-id_item
-id_project
-status (enum - not complete, in progress, complete)

Меры сгруппированы по категориям, которые имеют свои собственные веса, используемые при расчете выполненного процента (сколько элементов выполнено в сравнении с общим числом элементов для проекта ... некоторые категории являются более сложными, чем другие,поэтому, когда элементы из определенной категории завершены, они должны сделать относительный скачок в процентах относительно относительного).

Эта модель в настоящее время работает действительно хорошо, каждый созданный проект получает элементы объекта, заполненные на основе выбора пользователя из отправленной формы.

Каков наилучший способ перепроектирования базы данных для поддержки весов категорий по отдельным проектам только для начальника?

Примечания: категории не должны когда-либо изменяться, тольковеса.

1 Ответ

1 голос
/ 01 января 2011

Добавьте один столбец catWeight в таблицу элементов того же типа, что и столбец веса в таблице Catagory. Когда для проекта создается новый элемент, задайте для столбца значение в таблице категории. Разрешить пользователю изменять значение в столбце catWeight.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...