Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Документы и История Справочников? / 18 сообщений из 18, страница 1 из 1
11.02.2013, 15:09
    #38146185
tahiondb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Документы и История Справочников?
Добрый День!

Есть справочники с историей. Например История справочника "Валюта" имеет структуру (Дата, Курс, Кратность)
Есть Документы (с датой) в которых эти справочники используются.
Вопрос:
Данные из справоников с историей вытягивать только те которые соответствуют дате документа?
Или же последнии данные (на последнюю дату в истории)? То есть история служит только для того, что бы посмотреть какой курс бакса был месяц назад?

То есть вопрос такой: как правильно?

Заранее спасибо!
...
Рейтинг: 0 / 0
11.02.2013, 15:15
    #38146201
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Документы и История Справочников?
tahiondb,

Справочник валют и справочник/таблица курсов - это, вообще говоря, разные вещи. И если уж говорить о том как правильно - правильно их, конечно, не смешивать.
...
Рейтинг: 0 / 0
11.02.2013, 15:22
    #38146214
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Документы и История Справочников?
tahiondbДанные из справоников с историей вытягивать только те которые соответствуют
дате документа?
Об этом обычно в ТЗ пишут...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11.02.2013, 15:28
    #38146229
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Документы и История Справочников?
tahiondbДанные из справоников с историей вытягивать только те которые соответствуют дате документа?Обычно те, которые соответствуют дате операции, использующей этот курс.

Но вообще правильно сказал Кот Матроскин, нужно у заказчика узнать, может, ему нужно вытягивать какие то произвольные цифры?
...
Рейтинг: 0 / 0
11.02.2013, 16:09
    #38146330
tahiondb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Документы и История Справочников?
Кот Матроскин
Ну это само собой разумеется!

Тогда так:
В большинстве случаев какой вариант используется, если не секрет конечно?
...
Рейтинг: 0 / 0
11.02.2013, 16:27
    #38146383
_мод
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Документы и История Справочников?
tahiondbДанные из справоников с историей вытягивать только те которые соответствуют дате документа?

Если в справочниках предусмотрена история изменений, то да, только так. И это касается не только ( и не столько) куросов валют.
...
Рейтинг: 0 / 0
11.02.2013, 16:31
    #38146395
tahiondb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Документы и История Справочников?
_модЕсли в справочниках предусмотрена история изменений, то да, только так. И это касается не только ( и не столько) курсов валют.
Сенкью!
Тогда вопросик:
А если в истории нет записи за эту дату, что тогда делать, если не секрет?
...
Рейтинг: 0 / 0
11.02.2013, 16:47
    #38146435
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Документы и История Справочников?
tahiondbА если в истории нет записи за эту дату, что тогда делать, если не секрет?

То, что написано в ТЗ. Выводить пустое значение.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11.02.2013, 17:01
    #38146474
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Документы и История Справочников?
http://www.sql.ru/forum/actualthread.aspx?tid=620607

данные с максимальной датой, не превышающей заданную - "срез последних"
...
Рейтинг: 0 / 0
11.02.2013, 17:44
    #38146572
tahiondb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Документы и История Справочников?
Nafданные с максимальной датой, не превышающей заданную
Так нет такой записи (даты)

Код: plaintext
1.
2.
3.
4.
5.
6.
Пример:
  Справочник:
    2005.01.01 -  4.1
    2008.06.01 - 12.8
    2010.02.01 -  8.1
  Документ:
    2000.01.01

Какой курс взять в этом случае?
...
Рейтинг: 0 / 0
11.02.2013, 18:16
    #38146641
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Документы и История Справочников?
tahiondbВ большинстве случаев какой вариант используется, если не секрет конечно?В большинстве случаев в документ записывают курс, который использовался для операции. Он естественно может не совпадать с курсом на дату проведения документа, т.о. если не писать курс, то нужно писать ссылку (или дату) того курса, который использовался.
...
Рейтинг: 0 / 0
11.02.2013, 18:19
    #38146647
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Документы и История Справочников?
tahiondb
Код: plaintext
1.
2.
3.
4.
5.
6.
Пример:
  Справочник:
    2005.01.01 -  4.1
    2008.06.01 - 12.8
    2010.02.01 -  8.1
  Документ:
    2000.01.01
Какой курс взять в этом случае?Откуда вообще идеи что то "брать"???

В документе должен быть либо тот курс, который использовался (реально использовался, по которому бапки отстёгивали), либо "неопределено", если эту информацию решили не хранить.
...
Рейтинг: 0 / 0
11.02.2013, 18:42
    #38146679
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Документы и История Справочников?
tahiondbТак нет такой записи (даты)

Код: plaintext
1.
2.
3.
4.
5.
6.
Пример:
  Справочник:
    2005.01.01 -  4.1
    2008.06.01 - 12.8
    2010.02.01 -  8.1
  Документ:
    2000.01.01

Какой курс взять в этом случае?

Значит, надо внести в справочник курс, по которому проводился документ.
Ваш вопрос это все равно как спросить "Вот у меня тут была операция обмена евро, а в справочнике только курс доллара, что мне делать? Какой брать курс?"
...
Рейтинг: 0 / 0
11.02.2013, 18:58
    #38146703
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Документы и История Справочников?
tahiondbNafданные с максимальной датой, не превышающей заданную
Так нет такой записи (даты)

Код: plaintext
1.
2.
3.
4.
5.
6.
Пример:
  Справочник:
    2005.01.01 -  4.1
    2008.06.01 - 12.8
    2010.02.01 -  8.1
  Документ:
    2000.01.01

Какой курс взять в этом случае?никакой не брать, возможно запретить такие ситуации на уровне бизнес-логики
...
Рейтинг: 0 / 0
11.02.2013, 20:24
    #38146800
tahiondb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Документы и История Справочников?
Nafникакой не брать, возможно запретить такие ситуации на уровне бизнес-логики
То же так подумал, но сделал так:
всё по нулям и с выводом сообщения пользователю: мол в Истории за такуе-то дату нет записи ...7300
...
Рейтинг: 0 / 0
12.02.2013, 15:47
    #38147999
П-Л
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Документы и История Справочников?
Конкретно использование курса валюты в документе за какую бы то ни было дату и при каком-бы то ни было образцовом справочнике курсов валют в реальной жизни требует обязательной денормализации .
...
Рейтинг: 0 / 0
12.02.2013, 17:37
    #38148279
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Документы и История Справочников?
П-Л,

Не надо путать божий дар с яичницей.
Размещение курса в документе,а не ссылка на справочник - это обычно не денормализация, а признание факта, что курс документа может отличаться от обычного курса на дату, и следовательно, ФЗ между атрибутами документа нет.
Денормализация же - это когда мы знаем , что ФЗ есть, что курс однозначно определяется только датой и типом, но все равно указываем значение в документе [чтобы не делать лишний джойн].
...
Рейтинг: 0 / 0
21.02.2013, 11:56
    #38160381
П-Л
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Документы и История Справочников?
[quot Кот Матроскин]Размещение курса в документе,а не ссылка на справочник - это обычно не денормализация, а признание факта, что курс документа может отличаться от обычного курса на дату, и следовательно, ФЗ между атрибутами документа нет./quot]
Согласен. Это более точно и строго. Я для простоты сказал "денормализция".
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Документы и История Справочников? / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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