powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / подскажите по проектированию
14 сообщений из 14, страница 1 из 1
подскажите по проектированию
    #37904485
sergq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Есть таблица "фактов"

product_idflagdata1244.2data2123.5

флаг в 97% случаев меняется только один раз за период.
После каждого периода строятся отчеты. все вроде хорошо.

Но в 3% случаев устанновленный в одном периоде флаг может в другом периоде поменяться.
Возникает вопрос - куда писать значение этого флага.
если писать(обновлять) в эту же таблицу, то потеряется историчность. и повторное построение отчета по предидущему периоду даст уже другой результат.

Что тут можно придумать?
Писать изменения в отдельную таблицу - кажется что получится громоздко в плане отчетов.

Спасибо.
...
Рейтинг: 0 / 0
подскажите по проектированию
    #37904599
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergqЕсть таблица "фактов"

product_idflagdata1244.2data2123.5

А где идентификатор периода хранится ?
...
Рейтинг: 0 / 0
подскажите по проектированию
    #37904700
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergq,

Табличку полностью покажите, а не огрызок. А еще лучше и скрипт создания таблички. Поскольку типы полей угадывать нехочется.
...
Рейтинг: 0 / 0
подскажите по проектированию
    #37904736
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergqПисать изменения в отдельную таблицу - кажется что получится громоздко в плане
отчетов.
Это только кажется. Всего-то добавится одна таблица и одно условие во Where.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
подскажите по проектированию
    #37904745
sergq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Н,

есть табличка

product_idposition_idyear_idflag11201112120112

и другая

product_idyear_id position_idfrom_dateto_date111

по ней определяется, что на данную дату "активно" и потом join таблицы с флагами по условию равенства product_id и position_id.

но может так случиться, что на две разные даты и при разных year_id у продукта одна и та же позиция.
т.е. в прошлом году он был на position_id= 1 и в этом году он на position_id = 1
В прошлом году ему проставили флаг. и в этом году должны проставить.
...
Рейтинг: 0 / 0
подскажите по проектированию
    #37904840
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergq,
Чего то не могу вкурить...
А зачем вам year_id, если есть даты?
Укажите название таблиц, пожалуйста.
...
Рейтинг: 0 / 0
подскажите по проектированию
    #37904946
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergq,

Автор нечитатель? Ну тогда типы полей озвучивай, раз лень скрипт скопипастить. И еще б сказать какая БД, а то они ведь "слегка" отличаются.
...
Рейтинг: 0 / 0
подскажите по проектированию
    #37905496
sergq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой Бобр,

все поля integer.
FB 2.5
...
Рейтинг: 0 / 0
подскажите по проектированию
    #37905503
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergqЗлой Бобр,

все поля integer.
FB 2.5
И даты?

Блин, код давай, неча людям мозги полоскать.
...
Рейтинг: 0 / 0
подскажите по проектированию
    #37905539
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
подскажите по проектированию
    #37905916
sergq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

скрипт таблиц и данных

Запрос
Код: sql
1.
2.
3.
4.
select pos.*,flags.flag from pos
left join flags on flags.product_id = pos.product_id and flags.position_id = pos.position_id
where pos.product_id = 1
and '01.02.2011' between pos.from_date and pos.to_date



и 2010 и 2011 года выдаеют ссылку на одну и ту же строку флагов. но надо сохранить все значения.
и соответственно чтобы выдавало за разные года разные значения флагов
...
Рейтинг: 0 / 0
подскажите по проектированию
    #37906060
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавь поле FLAG в таблицу POS. Если строк немного то по идее таблица FLAGS вообще ненужна, все можно брать из POS.
...
Рейтинг: 0 / 0
подскажите по проектированию
    #37906433
sergq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой Бобр,

таблица flags это почти отдельная сущность, если сравнивать с pos.
Это практически две подсистемы, которые могут существовать поотдельности
...
Рейтинг: 0 / 0
подскажите по проектированию
    #37907817
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergq,

Вопрос был о том что "надо сохранить все значения. и соответственно чтобы выдавало за разные года разные значения флагов". Ответ я тебе дал: "Добавь поле FLAG в таблицу POS."
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / подскажите по проектированию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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