Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как лучше хранить помесячные данные? / 11 сообщений из 11, страница 1 из 1
01.06.2007, 12:15
    #34567314
LisFox
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше хранить помесячные данные?
Привет всем!

Уважаемые, подскажите как лучше/проще/правильнее хранить такой набор данных.
У "потребителей" есть заявленное "потребление" на каждый месяц.
Я вижу такие варианты:
1.
Код: plaintext
1.
2.
3.
CREATE TABLE ... (
FDATE DATE,
CONSUMPTION INTEGER
);
2.
Код: plaintext
1.
2.
3.
4.
CREATE TABLE ... (
FYEAR INTEGER
FMONTH INTEGER
CONSUMPTION INTEGER
);

Никто не переступал похожие грабли?
...
Рейтинг: 0 / 0
01.06.2007, 12:40
    #34567440
SPQR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше хранить помесячные данные?
А где тут грабли?
Можно еще предложить и такой вариант, он более универсален:
CREATE TABLE ... (
BegDATE DATE, -- начало периода(месяца)
EndDATE DATE, -- конец периода(месяца)
CONSUMPTION INTEGER
);
...
Рейтинг: 0 / 0
01.06.2007, 12:45
    #34567466
LisFox
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше хранить помесячные данные?
SPQRА где тут грабли?
Ну, грабли не в смысле ошибки, а в смысле доставания данных за разные периоды.

SPQRМожно еще предложить и такой вариант, он более универсален:
CREATE TABLE ... (
BegDATE DATE, -- начало периода(месяца)
EndDATE DATE, -- конец периода(месяца)
CONSUMPTION INTEGER
);
По-моему одна из дат явно лишняя...
...
Рейтинг: 0 / 0
01.06.2007, 13:55
    #34567798
locky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше хранить помесячные данные?
Вариант №1 лучше.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
02.06.2007, 00:35
    #34569566
Анатолий Иванов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше хранить помесячные данные?
Лучше конечно произвольный период делать, который просто будет в частном случае равняться месяцу (кто сказал что месяц будет календарным?).

Анатолий
...
Рейтинг: 0 / 0
02.06.2007, 02:06
    #34569596
LisFox
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше хранить помесячные данные?
Анатолий ИвановЛучше конечно произвольный период делать, который просто будет в частном случае равняться месяцу
Ага! Это вариант, предложенный SPQR'ом. Согласен.

Анатолий Иванов(кто сказал что месяц будет календарным?)
Но период будет точно месяц, точно-точно.
Расчетный период для бухгалтерии.
...
Рейтинг: 0 / 0
02.06.2007, 04:44
    #34569611
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше хранить помесячные данные?
Есть еще третий вариант: вынести определение периодов в отдельную таблицу Периоды (period_id, beg_date, end_date), а в таблицу с данными помещать ссылку на Периоды по period_id.
________
Не дадим распространиться заразе политкорректности!
...
Рейтинг: 0 / 0
04.06.2007, 15:24
    #34572441
locky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше хранить помесячные данные?
Urri wrote:
> Есть еще третий вариант: вынести определение периодов в отдельную
> таблицу Периоды (period_id, beg_date, end_date), а в таблицу с данными
> помещать ссылку на Периоды по period_id.
Замучишься потом перформанся выпрямлять из-за "лишнего" джойна.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
04.06.2007, 21:32
    #34573580
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше хранить помесячные данные?
Когда как, когда как.
Кроме того, это один из тех случаев, когда ключ периода может иметь собственную семантическую наполненность (например, иметь вид "2007-06").
________
Не дадим распространиться заразе политкорректности!
...
Рейтинг: 0 / 0
06.06.2007, 06:17
    #34576596
Barkan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше хранить помесячные данные?
Вставлю свои пять копеек. Ж:)

У меня есть такое:
CREATE TABLE PLANMONTH (
PLN_YEAR INTEGER,
PLN_MONTH INTEGER,
PLN_BEGINDATE DATE,
PLN_ENDDATE DATE,
...
)

По такой структуре удобно делать выборки по одному месяцу, по нескольки месяцам:
... WHERE PLN_YEAR=2007 AND PLN_MONTH=5
... WHERE PLN_MONTH=5
... WHERE PLN_BEGINDATE>='01.12.2006' AND PLN_ENDDATE<='31.03.2007'
...
Рейтинг: 0 / 0
06.06.2007, 12:58
    #34577402
locky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше хранить помесячные данные?
Barkan wrote:
> PLN_YEAR INTEGER,
> PLN_MONTH INTEGER,
Явно лишние...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как лучше хранить помесячные данные? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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