|
|
|
справочник
|
|||
|---|---|---|---|
|
#18+
Подскажите, пожалуйста, каков стандартный подход к решению таких задач? (MS SQL Server 2005) Есть два справочника - водители (номер телефона, номер паспорта, адрес и т.п.) и автомобили (номер машины, модель, и т.п.). В каждом из справочников данные могут периодически меняться, так же могут меняться связи между справочниками (водители поменялись машинами). Нужно - хранить историю перевозок. Чтобы пользователь мог определить, что 1 сентября Петров с паспортом xyz на Волге № 123 ездил по адресу Х, и не важно, что сейчас у Петрова паспорт zyx и Волга поменяла номер на 345. Что лучше сделать? Хранить в таблице данных не ссылки на справочники, а сами значения? При редактировании не изменять запись, а добавлять новую, а старую помечать как неактивную? Может, еще варианты? Спасибо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 16:01 |
|
||
|
справочник
|
|||
|---|---|---|---|
|
#18+
Добавить в справочники поля С, По, превратив их таким образом в хранилище истории. На текущую дату для ввода выбирать только те записи у которых По не больше текущей даты или пустая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 16:08 |
|
||
|
справочник
|
|||
|---|---|---|---|
|
#18+
2Программист-Любитель: ага. немного продвинутый мой второй вариант. на самом деле сейчас такая гибкость не нужна, но вполне может быть, что потребуется позже. спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 16:39 |
|
||
|
справочник
|
|||
|---|---|---|---|
|
#18+
Еще подумайте - завтра не потребуется ли ответить, а на каких автомобилях работал водитель за период? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 17:10 |
|
||
|
справочник
|
|||
|---|---|---|---|
|
#18+
puhhНужно - хранить историю перевозок. Вот именно, причем в отдельной таблице, с датами, маршрутом и т.д. А справочники не трогайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 17:12 |
|
||
|
справочник
|
|||
|---|---|---|---|
|
#18+
Программист-ЛюбительДобавить в справочники поля С, По, превратив их таким образом в хранилище истории. На текущую дату для ввода выбирать только те записи у которых По не больше текущей даты или пустая. Вы про 3НФ слышали? Автору топика. Заведите отдельную таблицу ссылающуюся на табл. водителей и авто для хранения периодических значений. В разделе Статьи есть 3 (если не ошибаюсь) примера реализации периодических данных. Просто выберите подходящий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 18:13 |
|
||
|
справочник
|
|||
|---|---|---|---|
|
#18+
ModelRЕще подумайте - завтра не потребуется ли ответить, а на каких автомобилях работал водитель за период? Угу. Вполне может быть. Поэтому история с датами будет не лишней. модВот именно, причем в отдельной таблице, с датами, маршрутом и т.д. А справочники не трогайте Естественно, будет отдельная таблица с датами, маршрутом и т.д., а также с информацией о водителях и машинах. Вопрос как раз в том, что если в таблице с данными хранить просто идентификатор записи справочника, а эта запись со временем изменится, то исторические данные не будут соответствовать действительности sqllexЗаведите отдельную таблицу ссылающуюся на табл. водителей и авто для хранения периодических значений Теоретически, все данные могут меняться... Но вообще идея понятна. sqllexВ разделе Статьи есть 3 (если не ошибаюсь) примера реализации периодических данных. Просто выберите подходящий. Смотрю. -- Всем спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 22:19 |
|
||
|
справочник
|
|||
|---|---|---|---|
|
#18+
puhhЕстественно, будет отдельная таблица с датами, маршрутом и т.д., а также с информацией о водителях и машинах. Вопрос как раз в том, что если в таблице с данными хранить просто идентификатор записи справочника, а эта запись со временем изменится, то исторические данные не будут соответствовать действительности Нужно хранить историю изменения справочника (водитель поменял фамилию :)). По дате в таблице поездок можно будет определить актуальное состояние справочника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 09:53 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34828796&tid=1544277]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
143ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 399ms |

| 0 / 0 |
