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

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

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

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

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

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

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

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

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

данные с максимальной датой, не превышающей заданную - "срез последних"
...
Рейтинг: 0 / 0
Документы и История Справочников?
    #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
Документы и История Справочников?
    #38146641
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tahiondbВ большинстве случаев какой вариант используется, если не секрет конечно?В большинстве случаев в документ записывают курс, который использовался для операции. Он естественно может не совпадать с курсом на дату проведения документа, т.о. если не писать курс, то нужно писать ссылку (или дату) того курса, который использовался.
...
Рейтинг: 0 / 0
Документы и История Справочников?
    #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
Документы и История Справочников?
    #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
Документы и История Справочников?
    #38146703
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
Документы и История Справочников?
    #38146800
tahiondb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nafникакой не брать, возможно запретить такие ситуации на уровне бизнес-логики
То же так подумал, но сделал так:
всё по нулям и с выводом сообщения пользователю: мол в Истории за такуе-то дату нет записи ...7300
...
Рейтинг: 0 / 0
Документы и История Справочников?
    #38147999
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конкретно использование курса валюты в документе за какую бы то ни было дату и при каком-бы то ни было образцовом справочнике курсов валют в реальной жизни требует обязательной денормализации .
...
Рейтинг: 0 / 0
Документы и История Справочников?
    #38148279
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
П-Л,

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


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