powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как правильно (лучше) организовать структуру ?
15 сообщений из 15, страница 1 из 1
Как правильно (лучше) организовать структуру ?
    #38315030
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть некоторая сущность исходя из которой рассчитывается другая сущность относящаяся к первой, допустим сотрудник и его зарплата, со временем у первой сущности в поле какого нить сотрудника меняется какой то показатель исходный для расчета второй сущности, а теперь вопрос как быть с теми записями второй сущности которые появились до момента изменения какого нить коэффициента первой сущности, ведь теперь становится непонятно откуда появились эти суммы рассчитанные когда то, в общем как с этим борятся ?
...
Рейтинг: 0 / 0
Как правильно (лучше) организовать структуру ?
    #38315033
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megazoid007как с этим борятся ?
Так, как считает нужным заказчик. Например, ту же зарплату никто задним числом не
пересчитывает, поскольку понадобилось бы перепечатывать документы строгой отчётности,
подделывать подписи и т.п. геморрой. А вот остатки на складе при вводе забытой накладной -
пересчитывают.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как правильно (лучше) организовать структуру ?
    #38315037
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, а вообще на практике есть такой вариант развития как создавать вторую запись у исходной, "основной" сущности с поля временной актуальности ?
...
Рейтинг: 0 / 0
Как правильно (лучше) организовать структуру ?
    #38315038
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
megazoid007, ну т.е. копируется запись о сотруднике с измененным коэффициентом а первая помечается как неактуальная с такого то времени
...
Рейтинг: 0 / 0
Как правильно (лучше) организовать структуру ?
    #38315040
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
megazoid007, а блин наверно с ключами запара будет. как то сразу не подумал, ну хотя можно id изменить а табельный останется прежним
...
Рейтинг: 0 / 0
Как правильно (лучше) организовать структуру ?
    #38315055
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Существуют "временнЫе атрибуты" (STFF). Они выносятся в отдельную таблицу.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как правильно (лучше) организовать структуру ?
    #38315216
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megazoid007,
Это стандартная ситуация в случае необходимости отслеживания изменений значений во времени...

Сотрудник
ID FirstName LastName SurName1ИвановИванИванович2ПетровПётрПетрович
Коэффициент ЗП
IDEmplStartDateEndDateCoeff11999-01-012010-03-200.912010-03-219999-12-311.222001-10-159999-12-311.0
...
Рейтинг: 0 / 0
Как правильно (лучше) организовать структуру ?
    #38315252
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megazoid007,

Используют поле datatime для оперделения момента изменения.
...
Рейтинг: 0 / 0
Как правильно (лучше) организовать структуру ?
    #38315256
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex Kuznetsov, ах вот как спасибо оч помогли, т.е. что то примерно такое происходит в 1С если конечно вам довелось сталкиваться, господа подскажите пожалуйста где можно изучить (почитать) про того рода стандартные шаблоны проектирования?
...
Рейтинг: 0 / 0
Как правильно (лучше) организовать структуру ?
    #38315625
...
Рейтинг: 0 / 0
Как правильно (лучше) организовать структуру ?
    #38338334
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex Kuznetsov, кстати забыл спросит, а какие поля в вашем примере в таблице "Коэфициент ЗП" дают уникальность? ну тоесть primary key
...
Рейтинг: 0 / 0
Как правильно (лучше) организовать структуру ?
    #38338366
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megazoid007Alex Kuznetsov, кстати забыл спросит, а какие поля в вашем примере в таблице "Коэфициент ЗП" дают уникальность? ну тоесть primary keyIDEmp, StartDate и EndDate (Я же специально их цветом выделил).
При этом необходимо явно, на уровне бизнес логики (программа или хранимая процедура - не важно ), отслеживать записи на пересечение диапазонов, ну т.е. чтобы не получилось что-то типа такого:
IDEmplStartDateEndDateCoeff11999-01-012010-06-150.912010-03-219999-12-311.2
В противном случае могут возникнуть ошибки вычислений...
...
Рейтинг: 0 / 0
Как правильно (лучше) организовать структуру ?
    #38341218
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex Kuznetsov, ага все понятно спасибо, ну как мне кажется может лучше сделать ключом IDEmpl и StartDate, а конфликт дат решать триггером, а именно отобрать последнюю запись по сотруднику отсортировав по StartDate и сделать проверку типа OldEndDate > NewStartDate and NewStartDate <= NewEndDate и посылать сообщение если что то не так
...
Рейтинг: 0 / 0
Как правильно (лучше) организовать структуру ?
    #38341221
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
megazoid007, ой не так (OldEndDate < NewStartDate) and (NewStartDate <= NewEndDate)
...
Рейтинг: 0 / 0
Как правильно (лучше) организовать структуру ?
    #38341246
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megazoid007Alex Kuznetsov, ага все понятно спасибо, ну как мне кажется может лучше сделать ключом IDEmpl и StartDate, а конфликт дат решать триггером, а именно отобрать последнюю запись по сотруднику отсортировав по StartDate и сделать проверку типа (OldEndDate < NewStartDate) and (NewStartDate <= NewEndDate)
Ну, можно и так конечно. Это ведь Ваша забота как архитектора сделать как лучше для Вас и Ваших коллег, которые будут всё это "безобразие" разрабатывать и сопровождать...
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как правильно (лучше) организовать структуру ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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