|
|
|
Статус объекта: отдельная таблица?
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток, Необходимо составить схему БД для следующей ситуации: 1. Есть 5-10 тысяч бизнес-объектов, у каждого объекта есть признак - статус. 2. Статус определен на каждый месяц для каждого года, начиная с 2003 и заканчивая Текущий+1 (на момент написания поста -2007). И эта инфа должна быть доступна в любой момент времени. В общем, пока 60 статусов для каждого объекта. 3. Статус зависит от следующего: а) Если у объекта выставлен признак заблокирован, то статус - заблокирован. б) Если по объекту есть на данный месяц на данную дату подтвержденный резерв (в бд есть таблица с резервами, в которой есть колонка is_approved), то статус - продан. в) Если по объекту нет подтвержденных резервов, но есть хотя бы один непросроченный резерв, то статус - в резерве. г) Если не а, б, в, то статус - свободна. Вычислять статус каждый раз - весьма накладно. Если хранить в БД, то как лучше это организовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 16:40 |
|
||
|
Статус объекта: отдельная таблица?
|
|||
|---|---|---|---|
|
#18+
Юрий Т Вычислять статус каждый раз - весьма накладно. Если хранить в БД, то как лучше это организовать? научить объекты сериализоваться в БД в BLOB + дублировать важные для поиска поля (напр. "Статус") в поля БД idObj Статус BLOB ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 17:01 |
|
||
|
Статус объекта: отдельная таблица?
|
|||
|---|---|---|---|
|
#18+
> Если хранить в БД, то как лучше это организовать? Исходную задачу сформулируйте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 17:16 |
|
||
|
Статус объекта: отдельная таблица?
|
|||
|---|---|---|---|
|
#18+
Юрий ТДоброго времени суток, Необходимо составить схему БД для следующей ситуации: 1. Есть 5-10 тысяч бизнес-объектов, у каждого объекта есть признак - статус. 2. Статус определен на каждый месяц для каждого года, начиная с 2003 и заканчивая Текущий+1 (на момент написания поста -2007). И эта инфа должна быть доступна в любой момент времени. В общем, пока 60 статусов для каждого объекта. Таблица СТАТУС (Объект,Месяц,Статус) ключ (Объект,Месяц) Юрий Т 3. Статус зависит от следующего: а) Если у объекта выставлен признак заблокирован, то статус - заблокирован. б) Если по объекту есть на данный месяц на данную дату подтвержденный резерв (в бд есть таблица с резервами, в которой есть колонка is_approved), то статус - продан. в) Если по объекту нет подтвержденных резервов, но есть хотя бы один непросроченный резерв, то статус - в резерве. г) Если не а, б, в, то статус - свободна. Вычислять статус каждый раз - весьма накладно. Если хранить в БД, то как лучше это организовать?Если ваша СУБД поддерживает материализованные представления то отлично подойдет к этой таблице. Иначе триггерами например ее обновляйте. Но вообще-то опасения про сложность вычисления по-моему преувеличины . Вполне может оказаться достаточно view. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 17:39 |
|
||
|
Статус объекта: отдельная таблица?
|
|||
|---|---|---|---|
|
#18+
ModelRЕсли ваша СУБД поддерживает материализованные представления то отлично подойдет к этой таблице. Иначе триггерами например ее обновляйте. Но вообще-то опасения про сложность вычисления по-моему преувеличины . Вполне может оказаться достаточно view. К сожалению, не поддерживает. С триггерами тоже проблема в виде jboss, который кэширует объекты из базы. В любом случае, спасибо за совет. Предложу перейти на бд, поддерживающую материализованные вьюшки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 19:37 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=135&tid=1545149]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
315ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 248ms |
| total: | 675ms |

| 0 / 0 |
