|
|
|
Помогите со структурой.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, уважаемые участники форума. Требуются Ваши замечания/пожелания/советы/критика следующей структуры: База данных проектируется для работы с путевыми листами, необходимо хранить все записи за все периоды, т.е. возможность вытащить путевой лист на любую дату в том виде, в котором он составлялся. У путевого листа имеется несколько неизменяемых свойств, количество которых известно и ограничено (например дата выезда/дата приезда машины), они хранятся в основной таблице "Путевые листы", а также свойства, количество которых может меняться (например "простои", "выполненные задания" и т.п.), которые хранятся в дополнительных таблицах (связь с таблицей "путевые листы" - многие-ко-многим). Таблица "Предварительные путевые листы" нужна для более удобного заполнения сразу пачки путевых листов, хранить эти данные не требуется, они нужны лишь для функционирования клиентской части. В таблицы-справочники были добавлены дополнительные поля "начало действия записи"/"окончание действия записи" для того, чтобы была возможность вытащить данные за любой период. Если я вдруг непонятно что-то объяснил - задавайте вопросы. С уважением, заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2007, 18:20 |
|
||
|
Помогите со структурой.
|
|||
|---|---|---|---|
|
#18+
ну ... ты замутил ... мо весь транспорт в одной таблице хранить? из справочника - тип_ид добавить в путевом листе остатки хранить? забавно. мо лучше км проехал, бензина спалил/продал - остатки вычислять. в путевке - добавить расход по норме, расход фактический, период - летний, зимний ? ну в таком духе .. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2007, 18:38 |
|
||
|
Помогите со структурой.
|
|||
|---|---|---|---|
|
#18+
да, еще машины могут покупать/продавать с км и бензином ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2007, 18:41 |
|
||
|
Помогите со структурой.
|
|||
|---|---|---|---|
|
#18+
DispatcherЗдравствуйте, уважаемые участники форума. неверно спроектирована база - это ущербная схема, неработоспособная. лучше переделайте все сразу чем потом мучаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2007, 18:58 |
|
||
|
Помогите со структурой.
|
|||
|---|---|---|---|
|
#18+
2 Водила. Спасибо, это весьма примерная база, и достаточно большое количество полей будет еще добавлено, в т.ч. и перечисленные Вами. 2 BULK INSERT Допустим, но можно чуть поконкретней?.. В чем ущербность, каковы возможные проблемы и ограничения, что именно переделывать? С уважением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2007, 22:05 |
|
||
|
Помогите со структурой.
|
|||
|---|---|---|---|
|
#18+
2 Водила. Хочу добавить что слова о том, что база примерная, значат лишь то что не все поля, которые будут, например, в путевых листах, сейчас есть в таблице, в принципе, поля, которые будут в базе, уже по большому счету выбраны и обоснованы, а вот по поводу структуры нужно подумать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2007, 22:09 |
|
||
|
Помогите со структурой.
|
|||
|---|---|---|---|
|
#18+
ну понимаешь я тоже делал путевки - но у меня попроще - нужно было учитывать бензин и пробег машин по дням, за период. я бы остатки вычислял. водители могут пересаживаться с машины на машину. бензин может поступать со склада, по талонам, чекам, передавать друг другу могут :) у меня примерно так - имеем остатки на начало периода, имеем поступления, расходы за период, рассчитывам остатки на конец периода, списываем топливо, закрываем период и т.д. у тебя посложнее - с заданиями, простоями ;) ну в общем желаю удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 11:16 |
|
||
|
Помогите со структурой.
|
|||
|---|---|---|---|
|
#18+
2 Водила. Спасибо :) У меня водители тоже могут пересаживаться с машины на машину (нет никакой жесткой привязки водителя к автомобилю), причем в один день на одну машину могут быть выписаны несколько путевых листов (на утра и на вечер) для разных водителей. С учетом топлива пока видимых проблем не предвидится (хотя возможно только пока :) ), если поле "остатки" окажется невостребованным, то потом его удалю, в общем имхо пока это не столь важно... Так что же по поводу структуры? С уважением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 13:35 |
|
||
|
Помогите со структурой.
|
|||
|---|---|---|---|
|
#18+
Очень надеюсь, что мой вопрос к BULK INSERT не останется без ответа :) Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2007, 22:37 |
|
||
|
Помогите со структурой.
|
|||
|---|---|---|---|
|
#18+
DispatcherВ таблицы-справочники были добавлены дополнительные поля "начало действия записи"/"окончание действия записи" для того, чтобы была возможность вытащить данные за любой период. Да? А нафига? Если связь объектов * - 1, то этот период для получения данных не нужен, ведь объект-то на конце связи один! А если объектов нестолько, то 1. связь * - 1 неверна. Это уже будет * - *. 2. неправильно указан первичный ключ. Теперь он должен вчключать поле "начало действия записи" и т.п. Нужно поостороженее быть с дополнительными таблицами. Как понимать, если мы изменяем справочник (например организацию), то и все путевые листы на него ссылающиеся выходит тоже изменяются? Иными словами в этой каше не прослеживаются неизменные словари и изменчивые части путевого листа, историчекие и оперативные данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2007, 23:09 |
|
||
|
Помогите со структурой.
|
|||
|---|---|---|---|
|
#18+
Dispatcher 2 Водила. Спасибо, это весьма примерная база, и достаточно большое количество полей будет еще добавлено, в т.ч. и перечисленные Вами. Раз так, то зачем ты сразу стал строить модель данных? Спроектируй сначала информационню модель. Что есть "Путевой лист"? А то нужен "Путевой лист", а в модели и кадровый учёт и учёт транспортых средств и организаций да ещё с историей. Нафига спрашивается? Неужели для написания или прочтения путёвки, мне нужно лезть в личное дело водителя или в техпаспорт автомобиля? Думаю, нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2007, 23:15 |
|
||
|
Помогите со структурой.
|
|||
|---|---|---|---|
|
#18+
Есть готовое приложение на MS Access Расписание, Путевые листы, Графики, Расход топлива и ГСМ, работает для небольшой автоколонны, c 2000 г. и структуры попроще и сопровождал только пол-года в упакованном виде 1.5M вместе с мордой лица Если интересно пришлю alexander.beznin@bti.co.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 02:56 |
|
||
|
Помогите со структурой.
|
|||
|---|---|---|---|
|
#18+
Alexander Beznin Спасибо, я Вам на почту написал. mcureenab Спасибо за ответы. Насколько я понимаю наличие полей "начало/окончание" действия записи - избыточные поля, т.е. если у нас - в первом путевом листе стоит дата 01.01.2005 и организация, с которой он связан: наименование - "Автоколонна № 1"; адрес - "ул. Ленина", - а во втором путевом листе - 01.02.2005 и он связан с записью: наименование "Автоколонна № 1"; адрес - "ул. Пушкина", то понятно какая запись в таблице организация для какого числа актуальна, однако наличие полей "начало/окончание" действия записи позволит видеть периоды актуальности записей в справочных таблицах (в той же организации), или же что-то принципиально не так?.. Раз так, то зачем ты сразу стал строить модель данных? Спроектируй сначала информационню модель. Что есть "Путевой лист"? А то нужен "Путевой лист", а в модели и кадровый учёт и учёт транспортых средств и организаций да ещё с историей. Нафига спрашивается? Неужели для написания или прочтения путёвки, мне нужно лезть в личное дело водителя или в техпаспорт автомобиля? Думаю, нет. Под примерной базой я имел в виду то, что здесь приведены далеко не все поля, которые будут в справочных таблицах, а также таблице путевых листов, однако имхо, их наличие/отсутствие на структуре не отражается, т.е. структура будет именно такой. По поводу же кадрового учета и учета транспортных средств - а как иначе? Ведь нам нужен путевой лист, в котором в том числе указывается и ФИО водителя и гос.номер автомашины, естественно нам необходимо join'ить эти данные из справочных таблиц. Или Вы имели в виду что-то другое? С уважением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 08:08 |
|
||
|
Помогите со структурой.
|
|||
|---|---|---|---|
|
#18+
DispatcherПо поводу же кадрового учета и учета транспортных средств - а как иначе? Ведь нам нужен путевой лист, в котором в том числе указывается и ФИО водителя и гос.номер автомашины, естественно нам необходимо join'ить эти данные из справочных таблиц. Или Вы имели в виду что-то другое? join'ить - не естественно и не необходимо. ФИО водителя и гос.номер - атрибуты путёвки. Ещё раз говорю. В путёвке ты не пишень № личного дела водителя, а пишешь его фамилию. В путёвке ты не пишень № техталона, а пишешь его гос. номер. Если личное дело водителя будет удалено из системы, все путёвки потеряют информацию о водителях. В принципе, этого можно избежать, используя внешние ключи и другие приёмы, но лично мне представляется неправильным увязывать учёт путёвок и личных дел на уровне БД. Принимая такое решение, ты не сможешь поставлять модуль учёта путёвок без модуля учёта личных дел и модуля учёта организаций. Т.е. система становится сильно связанной. В добавок пользователю модуля учёта путёвок придётся вникать в работу других модулей, либо на предприятии должны быть сотрудники, которые будут вести личные дела и организации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 16:49 |
|
||
|
Помогите со структурой.
|
|||
|---|---|---|---|
|
#18+
Dispatcher Alexander Beznin Спасибо, я Вам на почту написал. mcureenab Спасибо за ответы. Насколько я понимаю наличие полей "начало/окончание" действия записи - избыточные поля, т.е. если у нас - в первом путевом листе стоит дата 01.01.2005 и организация, с которой он связан: наименование - "Автоколонна № 1"; адрес - "ул. Ленина", - а во втором путевом листе - 01.02.2005 и он связан с записью: наименование "Автоколонна № 1"; адрес - "ул. Пушкина", то понятно какая запись в таблице организация для какого числа актуальна, однако наличие полей "начало/окончание" действия записи позволит видеть периоды актуальности записей в справочных таблицах (в той же организации), или же что-то принципиально не так?.. Ну если так, то да. Получается, что "начало/окончание" это просто признак того, отражает запись текущее состояние объекта учёта или является архивной. Замечу, что с таким подходом логика редактирования справочников становится нетривиальной. Вместо простого update, нам нужно установить дату "окончание" неактуальной записи, поискать и актуализировать версию с нужными атрибутами, а если таковой нет, то создать новую запись, да ещё проследить, чтобы в одно и тоже время не было двух актуальных записей. В прочем, я знаю системы, где такой подход достаточно успешно работает, а мне интересно увидеть решение поизящнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 17:03 |
|
||
|
Помогите со структурой.
|
|||
|---|---|---|---|
|
#18+
уважаемые форумчане. Не могли бы вы оценить аналогичную схема, но выполненную в erWin'e.. пожалуйста, укажите на ошибки, кои здесь несомненно присутсвуют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 11:01 |
|
||
|
Помогите со структурой.
|
|||
|---|---|---|---|
|
#18+
в данной схеме customer - заказчик job - зедание work - полная работа автомобиля и водителя (указываются дата/время начала и окончания работы, а так же показания спидометра) в путевом листе также существует колонка дата, когда был создан лист ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 11:20 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34590999&tid=1544460]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
22ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 313ms |

| 0 / 0 |
