Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Статус объекта: отдельная таблица? / 5 сообщений из 5, страница 1 из 1
14.07.2006, 16:40
    #33854680
Юрий Т
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статус объекта: отдельная таблица?
Доброго времени суток,

Необходимо составить схему БД для следующей ситуации:

1. Есть 5-10 тысяч бизнес-объектов, у каждого объекта есть признак - статус.

2. Статус определен на каждый месяц для каждого года, начиная с 2003 и заканчивая Текущий+1 (на момент написания поста -2007). И эта инфа должна быть доступна в любой момент времени. В общем, пока 60 статусов для каждого объекта.

3. Статус зависит от следующего:
а) Если у объекта выставлен признак заблокирован, то статус - заблокирован.

б) Если по объекту есть на данный месяц на данную дату подтвержденный резерв (в бд есть таблица с резервами, в которой есть колонка is_approved), то статус - продан.

в) Если по объекту нет подтвержденных резервов, но есть хотя бы один непросроченный резерв, то статус - в резерве.

г) Если не а, б, в, то статус - свободна.

Вычислять статус каждый раз - весьма накладно.

Если хранить в БД, то как лучше это организовать?
...
Рейтинг: 0 / 0
14.07.2006, 17:01
    #33854748
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статус объекта: отдельная таблица?
Юрий Т
Вычислять статус каждый раз - весьма накладно.
Если хранить в БД, то как лучше это организовать?
научить объекты сериализоваться в БД в BLOB + дублировать важные для поиска поля (напр. "Статус") в поля БД
idObj Статус BLOB
...
Рейтинг: 0 / 0
14.07.2006, 17:16
    #33854804
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статус объекта: отдельная таблица?
> Если хранить в БД, то как лучше это организовать?

Исходную задачу сформулируйте.
...
Рейтинг: 0 / 0
14.07.2006, 17:39
    #33854902
ModelR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статус объекта: отдельная таблица?
Юрий ТДоброго времени суток,

Необходимо составить схему БД для следующей ситуации:

1. Есть 5-10 тысяч бизнес-объектов, у каждого объекта есть признак - статус.

2. Статус определен на каждый месяц для каждого года, начиная с 2003 и заканчивая Текущий+1 (на момент написания поста -2007). И эта инфа должна быть доступна в любой момент времени. В общем, пока 60 статусов для каждого объекта.
Таблица СТАТУС (Объект,Месяц,Статус) ключ (Объект,Месяц) Юрий Т
3. Статус зависит от следующего:
а) Если у объекта выставлен признак заблокирован, то статус - заблокирован.

б) Если по объекту есть на данный месяц на данную дату подтвержденный резерв (в бд есть таблица с резервами, в которой есть колонка is_approved), то статус - продан.

в) Если по объекту нет подтвержденных резервов, но есть хотя бы один непросроченный резерв, то статус - в резерве.

г) Если не а, б, в, то статус - свободна.

Вычислять статус каждый раз - весьма накладно.

Если хранить в БД, то как лучше это организовать?Если ваша СУБД поддерживает материализованные представления то отлично подойдет к этой таблице.
Иначе триггерами например ее обновляйте.
Но вообще-то опасения про сложность вычисления по-моему преувеличины . Вполне может оказаться достаточно view.
...
Рейтинг: 0 / 0
14.07.2006, 19:37
    #33855169
Юрий Т
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статус объекта: отдельная таблица?
ModelRЕсли ваша СУБД поддерживает материализованные представления то отлично подойдет к этой таблице.
Иначе триггерами например ее обновляйте.
Но вообще-то опасения про сложность вычисления по-моему преувеличины . Вполне может оказаться достаточно view.

К сожалению, не поддерживает. С триггерами тоже проблема в виде jboss, который кэширует объекты из базы. В любом случае, спасибо за совет. Предложу перейти на бд, поддерживающую материализованные вьюшки.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Статус объекта: отдельная таблица? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]