powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / История одна дата vs две. Что лучше?
25 сообщений из 129, страница 1 из 6
История одна дата vs две. Что лучше?
    #35650193
Novice22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Подскажите плз какой из двух вариантов ведения истории значения поля лучше выбрать:
Вариант1:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    Tovar(
      id int,
      type varchar( 50 )
    )
    Tovar_history(
      id, FK(Tovar.id),
      Date,
      Name
    )
    id+Date - PK Tovar_history
Вариант2:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    Tovar(
      id int,
      type varchar( 50 )
    )
    Tovar_history(
      id, FK(Tovar.id),
      DateStart,
      DateEnd,
      Name
    )
    id+DateStart - PK Tovar_history

Что лучше и эффективней использовать?
Вариант1 быстрее для вставки и удаления записей, Вариант2 для выборок?
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650210
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Novice22
Код: plaintext
1.
    id+Date - PK Tovar_history
Вот это зря, имхо.
Уже неоднократно обсуждалось, что чревато пытаться достичь уникальности на основе даты (даже со временем).
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650221
Novice22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftNovice22
Код: plaintext
1.
    id+Date - PK Tovar_history
Вот это зря, имхо.
Уже неоднократно обсуждалось, что чревато пытаться достичь уникальности на основе даты (даже со временем).

А можно ссылку на посты, где это обсуждалось, плз. А то при поиске как лучше организовать хранение изменений поля у меня наоборот сложилось впечатление, что этот вариант лучший :/ . http://rdbms.narod.ru/article/history/index.html
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650262
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Novice22 пишет:

> Tovar(
> id int,
> type varchar(*50*)
> )
> Tovar_history(
> id, FK(Tovar.id),
> DateStart,
> DateEnd,
> Name
> )
> id+DateStart - PK Tovar_history
>
>
> Что лучше и эффективней использовать?

2-ой однозначно. Первый ты почти не сможешь обрабатывать запросами.
Т.е. сможешь, но очень сложно.
К тому же это нереляционно - данные в одной записи неявно зависят
от данных в другой записи, поскольку дата начала действия (или конца) записи
лежит в данной записи, а дату конца (или соотв. начала)
действия данной записи ты можешь узнать, только найдя не самым простым
запросом последующую (или соотв. предыдущую ) запись.

(на самом деле конечно не такой он и сложный, но если его вложить
в другие запросы которые уже реально с данными работать будут,
будет совсем невесело).
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650270
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Novice22,
а между диапазонами разрывы могут быть?
Т.е. может ли так оказаться, что между DateEnd одной записи и DateStart другой записи ничего не будет.?
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650274
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivК тому же это нереляционноА дублировать (и не просто дублировать, а следить за непересечением и неразрывностью интервалов) данные лучше, что ли?
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650318
Novice22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Первый ты почти не сможешь обрабатывать запросами.


В первом варианте относительно запросов я вижу пока только одну проблему: каким образом отсекать, что с даты n история временно перестала вестись. Например:
Код: plaintext
1.
2.
3.
        1  Гвоздь  01 . 01 . 08 
        1  Большой гвоздь  15 . 02 . 08 
        1  Ржавый гвоздь    26 . 03 . 08 

Может понадобится "свернуть" историю по Товару с id = 1 с 30.05 он временно перестал выпускаться/покупаться/завозиться. Единственное, что пока придумалось добавление еще одной записи с пустым наименованием и датой, когда история временно прекращена.

miksoft
а между диапазонами разрывы могут быть?

Пересечений быть не должно разрывы могут. Товар может какое-то время отсутствовать по разным причинам на предприятии, на это время нужно прекратить вести историю, после появления товара историю нужно продолжить с даты появления.
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650334
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Novice22Товар может какое-то время отсутствовать по разным причинам на предприятии, на это время нужно прекратить вести историю, после появления товара историю нужно продолжить с даты появления.А тогда как вы вообще собирались применять первый вариант?
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650369
Novice22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftА тогда как вы вообще собирались применять первый вариант?

Путем вставки записей с пустым наименованием и датой
Код: plaintext
1.
2.
3.
4.
5.
6.
        1  Гвоздь  01 . 01 . 08 
        1  Большой гвоздь  15 . 02 . 08 
        1  Ржавый гвоздь    26 . 03 . 08 
        1                            30 . 05 . 08  -- разрыв 
        1  Ржавый гвоздь    01 . 08 . 08 

В случае Варианта2:
Код: plaintext
1.
2.
3.
4.
        1  Гвоздь  01 . 01 . 08   14 . 02 . 08 
        1  Большой гвоздь  15 . 02 . 08   25 . 03 . 08 
        1  Ржавый гвоздь    26 . 03 . 08   30 . 05 . 08 
        1  Ржавый гвоздь    01 . 08 . 08   01 . 01 . 2999 

Это мой первый опыт самостоятельного проектирования базы и работы с историей, прочитав сообщения на форуме возможная реализация представляется мне в качестве одного из этих 2х вариантов. Теперь я пытаюсь определить, что из них лучше и выбрать оптимальное решение.

Пока складывается ощущение, что второй вариант лучше по реализации(простоте) select, но более громоздкий для insert/delete (при вставке/удалении не последнего значения надо изменять даты у "соседних записей"), первый наоборот. Или я не прав?
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650443
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivК тому же это нереляционно - данные в одной записи неявно зависят
от данных в другой записи, поскольку дата начала действия (или конца) записи
лежит в данной записи, а дату конца (или соотв. начала)
действия данной записи ты можешь узнать, только найдя не самым простым
запросом последующую (или соотв. предыдущую ) запись.Ничуть. Скорее, такая зависимость есть именно во втором случае. В первом случае, данные в одной записи никак не зависят от данных в другой записи, во всех записях дата начала точки отсчета. А вот во втором случае, данные в одной записи как раз зависят от данных в другой записи, так как подразумевается, если я правильно понял, непересекающиеся промежутки. И если меняем, например, дату конца периода в первой записи, то обязательно надо корректировать дату в следующей, второй по порядку, записи. Хуже того, при неверном указании даты окончания в одной записи, все последующие могут оказаться в противоречивом состоянии, когда дата их окончания неожиданно станет меньше даты окончания первой записи. Но и это еще не все, во втором случае еще и появляется зависимость между полями. Значение в одном из них обязательно должно превышать значение в другом, и наоборот. Таким образом, именно второй случай следует считать проявлением нереляционности, а точнее, денормализации, выполняемый с целью оптимизации некоторых видов запросов.

P.S. То, что любой факт должен меняться только в одном месте, является косвенным признаком нормальности решения модели.
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650507
korda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 ChA
ChAMasterZivК тому же это нереляционно - данные в одной записи неявно зависят
от данных в другой записи, поскольку дата начала действия (или конца) записи
лежит в данной записи, а дату конца (или соотв. начала)
действия данной записи ты можешь узнать, только найдя не самым простым
запросом последующую (или соотв. предыдущую ) запись.Ничуть. Скорее, такая зависимость есть именно во втором случае. В первом случае, данные в одной записи никак не зависят от данных в другой записи, во всех записях дата начала точки отсчета. А вот во втором случае, данные в одной записи как раз зависят от данных в другой записи, так как подразумевается, если я правильно понял, непересекающиеся промежутки. И если меняем, например, дату конца периода в первой записи, то обязательно надо корректировать дату в следующей, второй по порядку, записи. Хуже того, при неверном указании даты окончания в одной записи, все последующие могут оказаться в противоречивом состоянии, когда дата их окончания неожиданно станет меньше даты окончания первой записи. Но и это еще не все, во втором случае еще и появляется зависимость между полями. Значение в одном из них обязательно должно превышать значение в другом, и наоборот. Таким образом, именно второй случай следует считать проявлением нереляционности, а точнее, денормализации, выполняемый с целью оптимизации некоторых видов запросов.

P.S. То, что любой факт должен меняться только в одном месте, является косвенным признаком нормальности решения модели.

С таким же успехом можно сказать, что в первом случае существует зависимость между любыми соседними записями, так как дата в предыдущей должна быть меньше, чем в последующей. Но мне кажется, что подобные зависимости, как в первом, так и во втором случае являются надуманными. Т.е. зависимости конечно есть, но их наличие не означает, что данное решение плохое. Например, в таблице с полями Пол, Беременность, второе поле для женщин может принимать значения TRUE или FALSE, а для мужчин - NULL, следовательно можно говорить, что поля Беременность и Пол находятся в зависимости. Что в этом плохого?

> Хуже того, при неверном указании даты окончания в одной записи, все последующие могут оказаться в противоречивом состоянии
В противоречивом состоянии могут оказаться и записи из первой схемы. Но как в первом, так и во втором случае такие состояния не должны возникать в штатном режиме работы программы.

> То, что любой факт должен меняться только в одном месте, является косвенным признаком нормальности решения модели.
Это, конечно, в пользу первого варианта.

Я уже было решил, что буду использовать второй вариант, но теперь увидев эту тему и Ваш ответ засомневался в правильности выбора.
В свое время Вы написали примеры запросов ко второму варианту. См.: http://sql.ru/forum/actualthread.aspx?tid=599398
Не могли бы Вы написать, как будет выглядеть запрос для превого варианта?
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650525
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kordaС таким же успехом можно сказать, что в первом случае существует зависимость между любыми соседними записями, так как дата в предыдущей должна быть меньше, чем в последующей. Но мне кажется, что подобные зависимости, как в первом, так и во втором случае являются надуманными.Нельзя так сказать, потому что в первом варианте есть только дата начала. Если поменять эту дату, то просто измениться историческая последовательность. И она может быть верной. Нет явной зависимости между записями. Нормализация не отвечает за Ваши умопостроения, она занимается только аномалиями данных и поиском функциональных зависимостей в модели данных.

kordaНапример, в таблице с полями Пол, Беременность, второе поле для женщин может принимать значения TRUE или FALSE, а для мужчин - NULL, следовательно можно говорить, что поля Беременность и Пол находятся в зависимости. Что в этом плохого?Только то, что мужчина может оказаться беременным, а женщина - в неизвестном медицине состоянии. Вы можете использовать такое решение, но не удивляйтесь сюрпризам. В общем случае, это неправильный подход.

kordaЯ уже было решил, что буду использовать второй вариант, но теперь увидев эту тему и Ваш ответ засомневался в правильности выбора.
Можно использовать любой из этих вариантов, но второй будет явно сложнее реализовывать. Много телодвижений по проверке корректности. Зато запросы на конкретную дату будут чуть проще. В большинстве случаев, я бы предпочел 1 способ.

kordaВ свое время Вы написали примеры запросов ко второму варианту. См.: http://sql.ru/forum/actualthread.aspx?tid=599398 Простите, но Вам не хотелось бы самому над этим поразмышлять ? Теория, это, конечно, хорошо, но без практики - толку от неё маловато.
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650650
Michael_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ChA
Можно использовать любой из этих вариантов, но второй будет явно сложнее реализовывать. Много телодвижений по проверке корректности. Зато запросы на конкретную дату будут чуть проще. В большинстве случаев, я бы предпочел 1 способ.


+1
Зачем усложнять себе жизнь? Если дата окончания Вам не нужна - не делайте так. У Вас же периоды не перекрываются! Для упрощения запросов сделайте sp/view с датой окончания периода.

Второй вариант имеет право на существование только если периоды не будут редактироваться. А это маловероятно. Если будут - за&@&сь потом с проверкой корректности.

Всегда лучше то решение, которое проще. :-)
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650759
KOT MATPOCKuH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Michael_NChA
Можно использовать любой из этих вариантов, но второй будет явно сложнее реализовывать. Много телодвижений по проверке корректности. Зато запросы на конкретную дату будут чуть проще. В большинстве случаев, я бы предпочел 1 способ.


+1
Зачем усложнять себе жизнь? Если дата окончания Вам не нужна - не делайте так. У Вас же периоды не перекрываются! Для упрощения запросов сделайте sp/view с датой окончания периода.

Второй вариант имеет право на существование только если периоды не будут редактироваться. А это маловероятно. Если будут - за&@&сь потом с проверкой корректности.

Всегда лучше то решение, которое проще. :-)

Выскажусь:
Согласен вышесказанным:
1 вариант проще в заполнении, сложнее в выборках, проверок корректности (почти) не требует
2 вариант сложнее в заполнении, проще в выборках, требует проверок корректности данных при корректировке.

Можно выбрать промежуточный вариант: структура - как во 2 варианте, но пользователь может корректировать только поле DateStart. Триггер пусть корректирует поле DateEnd в соответствующих записях. Результат: простота заполнения 1 варианта, простота выборок 2 варианта, отсутствие проверок корректности 1 варианта + триггер нада написать.
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650767
KOT MATPOCKuH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и АВТОРу (начинает вроде):
DateStart = NULL - значит - "от царя гороха" или испокон веков (кому как нравится)
DateEnd = NULL - значит - пожизненно, т.е. всегда
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650798
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KOT MATPOCKuHНу и АВТОРу (начинает вроде):
DateStart = NULL - значит - "от царя гороха" или испокон веков (кому как нравится)
DateEnd = NULL - значит - пожизненно, т.е. всегдаДля выборок по индексу - очень неудачное решение. Имхо, лучше использовать константы, гарантированно выходящие за диапазон обрабатываемых данных.
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650849
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft пишет:

> А дублировать (и не просто дублировать, а следить за непересечением и
> неразрывностью интервалов) данные лучше, что ли?
Вы во-первых сами подняли тему о разрывах. Т.е. это не всегда и нужно.
а во-вторых - да, ЛУЧШЕ следить за этим. Это делается в ОДНОМ запросе
на изменение. А всё остальное надо делать во многих запросах на чтение.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650884
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv> А дублировать (и не просто дублировать, а следить за непересечением и
> неразрывностью интервалов) данные лучше, что ли?
Вы во-первых сами подняли тему о разрывах. Т.е. это не всегда и нужно.
а во-вторых - да, ЛУЧШЕ следить за этим. Это делается в ОДНОМ запросе
на изменение. А всё остальное надо делать во многих запросах на чтение.
Следить за этим констрейнтами мало в какой СУБД получится. Если следить запросами - сложно и/или накладно уберечься от одновременной вставки в разных сессиях. Кроме того, существует вероятность невыполнения этой проверки.
Имхо, лучше иметь надежные данные в базе и совершенстовать (исправлять ошибки) выборки, нежели наоборот.
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650895
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChA пишет:

> Ничуть. Скорее, такая зависимость есть именно во втором случае. В первом
> случае, данные в одной записи никак не зависят от данных в другой
> записи, во всех записях дата начала точки отсчета.

Да зависимость-то есть в любом случае, если она есть в предметной области.
Если один товар "сменяет" другой - они зависимы. Вопрос в том, как эту
зависимость более удобно представить в БД.

А вот во втором
> случае, данные в одной записи как раз зависят от данных в другой записи,
> так как подразумевается, если я правильно понял, непересекающиеся
> промежутки.

Там в обоих случаях либо есть эти промежутки, либо нет. Только в
первом конец или начало промежутка находится в соседней записи.

И если меняем, например, дату конца периода в первой записи,
> то обязательно надо корректировать дату в следующей, второй по порядку,
> записи.

Ну, конечно вы правы. Тут можно покрасивее нарисовать, но будет немного
сложнее. Но первый вариант совсем плохой. Ну т.е. запросы будут сложные--
напишите запросы реальные, попробуйте.

Хуже того, при неверном указании даты окончания в одной записи,
> все последующие могут оказаться в противоречивом состоянии, когда дата
> их окончания неожиданно станет меньше даты окончания первой записи. Но и
> это еще не все, во втором случае еще и появляется зависимость между
> полями. Значение в одном из них обязательно должно превышать значение в
> другом, и наоборот. Таким образом, именно второй случай следует считать
> проявлением нереляционности, а точнее, денормализации, выполняемый с
> целью оптимизации некоторых видов запросов.

вы во-первых путаете денормализацию и ненормализованность,
а во-вторых, говорите вообще ерунду. Кортежи нормализуются независимо
друг от друга - вся таблица целиком нормализуется. Функциональная зависимость--
это отношение между полями таблицы. У КАЖДОГО товара должен
быть срок его действия. Есть товар. Есть о нём запись в таблице(ах).
Все данные ЭТОГО товара должы быть самодостаточными для приложения.
Все остальные товары я могу удалить напр. Вот понадобится мне
почистить эту таблицу истории -- и КАК ? Последнюю запись перед
первой удаляемой придётся оставить, так ? Придётся. Но она БУДЕТ
НЕВАЛИДНОЙ, потому что срок начала её действия будет находится
в предыдущей удалённой записи. Тут пример немного надуманный, правда,
потому что можно считать дату в записи датой начала действия записи,
и тогда всё как бы в порядке. Но в общем это всё равно -
с такими проблемами вы всегда будете встречаться, если будете
раскладывать данные одной записи по нескольким.

> P.S. То, что любой факт должен меняться только в одном месте, является
> косвенным признаком нормальности решения модели.

Нет. Здесь нет никакой ненормальности. Это -- бизнес логика в
чистом виде -- вам нужно чтобы периоды сроков действия товаров не
пересекались.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650904
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
korda пишет:

> Я уже было решил, что буду использовать второй вариант, но теперь увидев
> эту тему и Ваш ответ засомневался в правильности выбора.
> В свое время Вы написали примеры запросов ко второму варианту. См.:
> http://sql.ru/forum/actualthread.aspx?tid=599398
> Не могли бы Вы написать, как будет выглядеть запрос для превого варианта?

вот именно. Надо написать список нужных запросов и попытаться реализовать
их в двух вариантах. Потом посмотреть, какой лучше. Я вас уверяю, второй
выиграет.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650912
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft пишет:

> Для выборок по индексу - очень неудачное решение. Имхо, лучше
> использовать константы, гарантированно выходящие за диапазон
> обрабатываемых данных.

Да не пугайте народ. Ничего страшного.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650922
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KOT MATPOCKuH пишет:

> Можно выбрать промежуточный вариант: структура - как во 2 варианте, но
> пользователь может корректировать только поле DateStart. Триггер пусть
> корректирует поле DateEnd в соответствующих записях. Результат: простота
> заполнения 1 варианта, простота выборок 2 варианта, отсутствие проверок
> корректности 1 варианта + триггер нада написать.

Так , стоп.

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

Если не могут, то вопрос, будут ли дырки или нет.
Если нет, то это вообще бизнес-операция должна быть - замена
одного товара на другой. Ставим в старом дату конца, ставим
в новом дату начала +1 день.

Вообще, ещё раз, это бизнес-логика в чистом виде.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35650964
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
miksoft пишет:

> Для выборок по индексу - очень неудачное решение. Имхо, лучше
> использовать константы, гарантированно выходящие за диапазон
> обрабатываемых данных.

Да не пугайте народ. Ничего страшного.
Тогда придется писать
Код: plaintext
1.
SELECT * FROM Tovar_history
WHERE (DateStart<NOW() OR DateStart IS NULL) AND (NOW()<DateEnd OR DateEnd IS NULL)
На мой взгляд, индексы тут неприменимы.

Хотя, если записей сто штук, то, конечно, ничего страшного...
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35651341
KOT MATPOCKuH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
...
Тут надо разобраться периоды могут пересекаться, или нет.
...


Не могут однозначно, т.к. это история значения некоторого параметра. Одновременно не может быть двух значений у параметра (если только значение параметра не является списком, но это - другая история).

MasterZiv
...
будут ли дырки или нет?
...

Во-первых: сам автор уже ответил на этот вопрос - вполне нормально.
Только смысла в дырках я не вижу.
Функциональность отвечает (я так понял) только за историю значения параметра. Отсутствие значения однозначно всеми (мне известными) СУБД реализовано одним способом: значение = NULL, что в некотором смысле - тоже значение (в нашем случае строка в таблице истории). Отсутствие же доступа к параметру решается не на этом уровне, т.е. не этими сущностями, а попытка в одну сущность впихнуть несколько разных функциональностей еще никогда не приводила к хорошему результату.
Пример последнего: если с 01.01.2008 по 10.01.2008 небыло сковородок, то значение цены на сковородки должно существовать (старое, например), только показывать его смысла нет.
...
Рейтинг: 0 / 0
История одна дата vs две. Что лучше?
    #35651361
KOT MATPOCKuH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Вообще, ещё раз, это бизнес-логика в чистом виде.

Вопросы, задаваемые в этом форуме редко относятся только к структуре БД.
Большей частью требуется подсказать вариант бизнес-логики и уже под нее структуру БД.

Даже если некто спрашивает про структуру, то отвечающие обычно пытаются догадаться о его бизнес-логике и ответить на вопрос.
...
Рейтинг: 0 / 0
25 сообщений из 129, страница 1 из 6
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / История одна дата vs две. Что лучше?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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