powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите со структурой.
17 сообщений из 17, страница 1 из 1
Помогите со структурой.
    #34576008
Dispatcher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, уважаемые участники форума. Требуются Ваши замечания/пожелания/советы/критика следующей структуры:

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

У путевого листа имеется несколько неизменяемых свойств, количество которых известно и ограничено (например дата выезда/дата приезда машины), они хранятся в основной таблице "Путевые листы", а также свойства, количество которых может меняться (например "простои", "выполненные задания" и т.п.), которые хранятся в дополнительных таблицах (связь с таблицей "путевые листы" - многие-ко-многим).

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

В таблицы-справочники были добавлены дополнительные поля "начало действия записи"/"окончание действия записи" для того, чтобы была возможность вытащить данные за любой период.

Если я вдруг непонятно что-то объяснил - задавайте вопросы.

С уважением, заранее спасибо.
...
Рейтинг: 0 / 0
Помогите со структурой.
    #34576060
водила
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну ... ты замутил ...
мо весь транспорт в одной таблице хранить? из справочника - тип_ид добавить
в путевом листе остатки хранить? забавно. мо лучше км проехал, бензина спалил/продал - остатки вычислять. в путевке - добавить расход по норме, расход фактический, период - летний, зимний ? ну в таком духе ..
...
Рейтинг: 0 / 0
Помогите со структурой.
    #34576065
водила
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, еще машины могут покупать/продавать с км и бензином ...
...
Рейтинг: 0 / 0
Помогите со структурой.
    #34576106
Фотография BULK INSERT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DispatcherЗдравствуйте, уважаемые участники форума.

неверно спроектирована база - это ущербная схема, неработоспособная. лучше переделайте все сразу чем потом мучаться.
...
Рейтинг: 0 / 0
Помогите со структурой.
    #34576343
Dispatcher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Водила.
Спасибо, это весьма примерная база, и достаточно большое количество полей будет еще добавлено, в т.ч. и перечисленные Вами.

2 BULK INSERT
Допустим, но можно чуть поконкретней?.. В чем ущербность, каковы возможные проблемы и ограничения, что именно переделывать?

С уважением.
...
Рейтинг: 0 / 0
Помогите со структурой.
    #34576344
Dispatcher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Водила.

Хочу добавить что слова о том, что база примерная, значат лишь то что не все поля, которые будут, например, в путевых листах, сейчас есть в таблице, в принципе, поля, которые будут в базе, уже по большому счету выбраны и обоснованы, а вот по поводу структуры нужно подумать.
...
Рейтинг: 0 / 0
Помогите со структурой.
    #34577120
водила
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну понимаешь я тоже делал путевки - но у меня попроще - нужно было учитывать бензин и пробег машин по дням, за период. я бы остатки вычислял. водители могут пересаживаться с машины на машину. бензин может поступать со склада, по талонам, чекам, передавать друг другу могут :)
у меня примерно так - имеем остатки на начало периода, имеем поступления, расходы за период, рассчитывам остатки на конец периода, списываем топливо, закрываем период и т.д.
у тебя посложнее - с заданиями, простоями ;)
ну в общем желаю удачи.
...
Рейтинг: 0 / 0
Помогите со структурой.
    #34577566
Dispatcher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Водила.
Спасибо :)

У меня водители тоже могут пересаживаться с машины на машину (нет никакой жесткой привязки водителя к автомобилю), причем в один день на одну машину могут быть выписаны несколько путевых листов (на утра и на вечер) для разных водителей. С учетом топлива пока видимых проблем не предвидится (хотя возможно только пока :) ), если поле "остатки" окажется невостребованным, то потом его удалю, в общем имхо пока это не столь важно...

Так что же по поводу структуры?

С уважением.
...
Рейтинг: 0 / 0
Помогите со структурой.
    #34582587
Dispatcher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень надеюсь, что мой вопрос
к BULK INSERT не останется без ответа :)

Заранее спасибо.
...
Рейтинг: 0 / 0
Помогите со структурой.
    #34582628
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DispatcherВ таблицы-справочники были добавлены дополнительные поля "начало действия записи"/"окончание действия записи" для того, чтобы была возможность вытащить данные за любой период.

Да? А нафига? Если связь объектов * - 1, то этот период для получения данных не нужен, ведь объект-то на конце связи один! А если объектов нестолько, то
1. связь * - 1 неверна. Это уже будет * - *.
2. неправильно указан первичный ключ. Теперь он должен вчключать поле "начало действия записи" и т.п.

Нужно поостороженее быть с дополнительными таблицами. Как понимать, если мы изменяем справочник (например организацию), то и все путевые листы на него ссылающиеся выходит тоже изменяются? Иными словами в этой каше не прослеживаются неизменные словари и изменчивые части путевого листа, историчекие и оперативные данные.
...
Рейтинг: 0 / 0
Помогите со структурой.
    #34582634
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dispatcher 2 Водила.
Спасибо, это весьма примерная база, и достаточно большое количество полей будет еще добавлено, в т.ч. и перечисленные Вами.



Раз так, то зачем ты сразу стал строить модель данных? Спроектируй сначала информационню модель. Что есть "Путевой лист"? А то нужен "Путевой лист", а в модели и кадровый учёт и учёт транспортых средств и организаций да ещё с историей. Нафига спрашивается? Неужели для написания или прочтения путёвки, мне нужно лезть в личное дело водителя или в техпаспорт автомобиля? Думаю, нет.
...
Рейтинг: 0 / 0
Помогите со структурой.
    #34585376
Alexander Beznin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть готовое приложение на MS Access

Расписание,
Путевые листы,
Графики,
Расход топлива и ГСМ,

работает для небольшой автоколонны, c 2000 г.
и структуры попроще
и сопровождал только пол-года

в упакованном виде 1.5M вместе с мордой лица
Если интересно пришлю

alexander.beznin@bti.co.ru
...
Рейтинг: 0 / 0
Помогите со структурой.
    #34585481
Dispatcher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexander Beznin
Спасибо, я Вам на почту написал.

mcureenab
Спасибо за ответы.

Насколько я понимаю наличие полей "начало/окончание" действия записи - избыточные поля, т.е. если у нас

- в первом путевом листе стоит
дата 01.01.2005 и организация, с которой он связан:
наименование - "Автоколонна № 1";
адрес - "ул. Ленина",

- а во втором путевом листе - 01.02.2005
и он связан с записью:
наименование "Автоколонна № 1";
адрес - "ул. Пушкина",

то понятно какая запись в таблице организация для какого числа актуальна, однако наличие полей "начало/окончание" действия записи позволит видеть периоды актуальности записей в справочных таблицах (в той же организации), или же что-то принципиально не так?..

Раз так, то зачем ты сразу стал строить модель данных? Спроектируй сначала информационню модель. Что есть "Путевой лист"? А то нужен "Путевой лист", а в модели и кадровый учёт и учёт транспортых средств и организаций да ещё с историей. Нафига спрашивается? Неужели для написания или прочтения путёвки, мне нужно лезть в личное дело водителя или в техпаспорт автомобиля? Думаю, нет.

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

По поводу же кадрового учета и учета транспортных средств - а как иначе? Ведь нам нужен путевой лист, в котором в том числе указывается и ФИО водителя и гос.номер автомашины, естественно нам необходимо join'ить эти данные из справочных таблиц. Или Вы имели в виду что-то другое?

С уважением.
...
Рейтинг: 0 / 0
Помогите со структурой.
    #34586569
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DispatcherПо поводу же кадрового учета и учета транспортных средств - а как иначе? Ведь нам нужен путевой лист, в котором в том числе указывается и ФИО водителя и гос.номер автомашины, естественно нам необходимо join'ить эти данные из справочных таблиц. Или Вы имели в виду что-то другое?

join'ить - не естественно и не необходимо. ФИО водителя и гос.номер - атрибуты путёвки. Ещё раз говорю. В путёвке ты не пишень № личного дела водителя, а пишешь его фамилию. В путёвке ты не пишень № техталона, а пишешь его гос. номер. Если личное дело водителя будет удалено из системы, все путёвки потеряют информацию о водителях.
В принципе, этого можно избежать, используя внешние ключи и другие приёмы, но лично мне представляется неправильным увязывать учёт путёвок и личных дел на уровне БД. Принимая такое решение, ты не сможешь поставлять модуль учёта путёвок без модуля учёта личных дел и модуля учёта организаций. Т.е. система становится сильно связанной. В добавок пользователю модуля учёта путёвок придётся вникать в работу других модулей, либо на предприятии должны быть сотрудники, которые будут вести личные дела и организации.
...
Рейтинг: 0 / 0
Помогите со структурой.
    #34586593
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dispatcher Alexander Beznin
Спасибо, я Вам на почту написал.

mcureenab
Спасибо за ответы.

Насколько я понимаю наличие полей "начало/окончание" действия записи - избыточные поля, т.е. если у нас

- в первом путевом листе стоит
дата 01.01.2005 и организация, с которой он связан:
наименование - "Автоколонна № 1";
адрес - "ул. Ленина",

- а во втором путевом листе - 01.02.2005
и он связан с записью:
наименование "Автоколонна № 1";
адрес - "ул. Пушкина",

то понятно какая запись в таблице организация для какого числа актуальна, однако наличие полей "начало/окончание" действия записи позволит видеть периоды актуальности записей в справочных таблицах (в той же организации), или же что-то принципиально не так?..



Ну если так, то да. Получается, что "начало/окончание" это просто признак того, отражает запись текущее состояние объекта учёта или является архивной.
Замечу, что с таким подходом логика редактирования справочников становится нетривиальной. Вместо простого update, нам нужно установить дату "окончание" неактуальной записи, поискать и актуализировать версию с нужными атрибутами, а если таковой нет, то создать новую запись, да ещё проследить, чтобы в одно и тоже время не было двух актуальных записей.
В прочем, я знаю системы, где такой подход достаточно успешно работает, а мне интересно увидеть решение поизящнее.
...
Рейтинг: 0 / 0
Помогите со структурой.
    #34590999
Russian Beer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уважаемые форумчане.
Не могли бы вы оценить аналогичную схема, но выполненную в erWin'e..
пожалуйста, укажите на ошибки, кои здесь несомненно присутсвуют.
...
Рейтинг: 0 / 0
Помогите со структурой.
    #34591076
Russian Beer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в данной схеме
customer - заказчик
job - зедание
work - полная работа автомобиля и водителя (указываются дата/время начала и окончания работы, а так же показания спидометра)
в путевом листе также существует колонка дата, когда был создан лист
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите со структурой.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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