powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Не получается структура БД
25 сообщений из 65, страница 1 из 3
Не получается структура БД
    #38737212
RodikK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

У меня такие данные:
Предприятие оказывает несколько видов услуг. На некоторые услуги оформляются заказы. Параллельно заказу может быть оформлен договор. Соответственно данные для договора берутся из заказа. Некоторые услуги оказываются только по договорам.
Счета могут быть выставлены на основании договора или заказа.
Как пример: в управлении есть нежилые помещения (НП), по которым заключен договор с собственником на обслуживание НП. По этим договорам ежемесячно оплачиваются счета. То есть имеем Клиент-Договор-Счет. Есть собственные НП, которые могут быть сданы в аренду. В этом случае оформляется заказ на аренду и оформляется договор на аренду. То есть - Клиент-Заказ-Договор-Счет. Иногда, аренда может быть без договора, т.е. Заказ-Счет.
Счет получается либо по договору, либо по заказу. Схема никак не вырисовывается (прикладываю ее ниже). Обработка счетов мне кажется будет сложной.
Например, чтобы вывести счета по заказу, нужно сначала сделать выборку счетов, где основанием являются заказы, потом объединить ее с выборкой счетов по договорам, относящимся к этому заказу...
Может подскажете, как правильнее связи построить. Спасибо.
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737238
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно попробовать упростить:
1. заказы считать договорами разового исполнения
2. состав услуг по договорам и по счетам выделить в отдельные таблицы
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737246
RodikK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Naf2. состав услуг по договорам и по счетам выделить в отдельные таблицы
Поясните, пожалуйста, что вы имеете в виду?
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737252
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RodikK,

Клиент ----> Заказ-Договор <---- Услуга

- В услугах весь перечень - и обслуживание и аренда...
- В клиентах и те кого обслуживаем и те кому сдаем в аренду (можно добавить признак арендатор или нет)...
- В Заказ-Договор вся информация для заказа, договора и счета + возможно признак наличия договора...

Собственно то, что и предложено в самом начале в другом форуме,
ничего не изменилось по большому счету...
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737261
RodikK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmag- В Заказ-Договор вся информация для заказа, договора и счета
А есть идеи как такая сущность могла бы называться вместо Заказ-Договор?
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737264
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag- В услугах весь перечень - и обслуживание и аренда...

Сразу дополняю возможные не понятки: в услуги тоже можно добавить признак что это такое и в формах с отчетами не выводить не нужные поля для заполнения или чтения...
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737266
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RodikKА есть идеи как такая сущность могла бы называться вместо Заказ-Договор?
куча_мала
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737270
RodikK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmagкуча_мала
Не подходит, как тогда определить добавление элемента сущности - новая куча-мала?
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737271
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как два пальца об асфальт

Клиент --> Заказ (у одного клиента много заказов)
Заказ --> Договор (заказ может иметь договор, договор может иметь несколько заказов)
Заказ --> Счет (заказ имеет один или несколько счетов, опционально можно добавить поле в Счет - идентификатор договора, не обязательное)
Заказ --> Элемент заказа (заказ имеет один или несколько элементов, каждый элемент - это услуга, работа, товар, материал и т.п.)

RodikKчтобы вывести счета по заказу
Код: sql
1.
2.
3.
4.
select Заказ.Ид, Счет.Ид, Счет.ДоговорИд, Счет.Сумма
from   Заказ
         join Счет on Заказ.Ид = Счет.ЗаказИд
where  Заказ.Ид = @p1



чтоб вывести счета по заказ и договору

Код: sql
1.
2.
3.
4.
select Заказ.Ид, Счет.Ид, Счет.ДоговорИд, Счет.Сумма
from   Заказ
         join Счет on Заказ.Ид = Счет.ЗаказИд
where  Заказ.Ид = @p1 and Счет.ДоговорИд = @p2
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737301
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RodikKкак тогда определить добавление элемента сущности - новая куча-мала?
"Ещё одна сделка."
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737357
RodikK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
17-77как два пальца об асфальт
Да, не устану повторять, в том случае, если для собственника НП оформляем заказ на обслуживание НП, потом договор. А менеджеры привыкли оформлять Договор на обслуживание НП и никакого заказа. Если это обозвать
Dimitry Sibiryakov...сделка то боюсь, меня тоже не поймут.
Вообще по бизнес процессу удобно было бы организовать поиск по заказам и отдельно поиск по договорам. Потому что, в управлении есть гараж и есть разовые заказы на парковку, шиномонтаж и т.д. Ежемесячно проводится аналитика по договорам собственников, а текущая работа в основном с разовыми заказами.
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737362
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Набросал тут за полчаса на досуге.
Код: plaintext
1.
2.
3.
4.
5.
Клиент (id, ФИО)
Услуга (id, Наименование, Требуется_договор)
Договор (id, id_Клиент, id_Услуга, Начало, Окончание)
Заявка_услуги (id, id_Клиент, id_Услуга, Необходим_договор, Необходим_заказ, Активна_неактивна)
Заказ (id, id_Заявка, Начало, Окончание)
Счёт(id, id_Заявка, ...)

То есть приходит клиент с заявкой на услугу.
Оператор создаёт заявку, в которой указывает требуется ли для данной заявки договор и заказ
Если договор требуется, а его нет, то оператор создаёт договор, если требуется заказ - то заказ создаётся автоматически (ну может не сильно автоматически, ибо надо указать начало и завершение заказа, но это решается в интерфейсе)
Счёт выписывается на заявку.
Заявки сделал активными и неактивными, ибо как я понимаю от одного клиента не может быть несколько заявок по одной услуге одновременно, и при этом не знаю условий задачи, может ли клиент с действующим договором отказываться от услуги а затем заказывать её вновь.

Ну и таблички СведенияпоуслугеХ вообще не понравились. Думается мне, что эти таблички можно сделать по религии EAV в виде трёх таблиц:
Код: plaintext
1.
2.
3.
Параметры услуг(id, Наименование)
Услуга_параметры(id, id_Услуга, id_параметр, Базовая_величина)
Заявка_параметры(id, id_Заявка, id_Услуга_параметры, Величина_параметра)
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737366
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RodikKбоюсь, меня тоже не поймут.
Я тебе открою маленький секрет: формат хранения данных очень слабо связан с интерфейсом их
редактирования. Хотят менеджеры договор отдельно от заказа - не проблема, сделай им два
примерно одинаковых окна. А данные, что они введут - вали в одну таблицу и никому не
говори как она называется. То, что не знаешь, тебя не беспокоит.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737378
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RodikKв управлении есть гараж и есть разовые заказы на парковку, шиномонтаж и т.д. Ежемесячно проводится аналитика по договорам собственников, а текущая работа в основном с разовыми заказами.
Это получается, что список объектов надо делать, какие услуги могут быть оказаны в объекте (вторая таблица), ибо проведение мойки автомобиля в офисе директора провести невозможно из-за отсутствия соответствующего оборудования и путей транспортировки. Ну а в заявку указывать в каком объекте она выполняется.
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737383
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr.Fontaine,
в добавление к описанию структура таблиц
Код: plaintext
1.
2.
Объект (id, наименование)
Объекты_услуги(id, id_объекта, id_услуги)
ну и дополняем таблицу заявки новым полем
Код: plaintext
1.
Заявка_услуги (id, id_Клиент, id_Услуга, id_объект, Необходим_договор, Необходим_заказ, Активна_неактивна)
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737398
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RodikKв том случае, если для собственника НП оформляем заказ на обслуживание НП, потом договор. А менеджеры привыкли оформлять Договор на обслуживание НП и никакого заказа.
ну так меняйте заголовок формы - в одном случае - это заказ, в другом - договор, а данные будете пихать по таблицам - так как надо и это будет скрыто от глаз юзера
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737410
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr.FontaineТо есть приходит клиент с заявкой на услугу.
Оператор создаёт заявку, в которой указывает требуется ли для данной заявки договор и заказ
Если договор требуется, а его нет, то оператор создаёт договор, если требуется заказ - то заказ создаётся автоматически (ну может не сильно автоматически, ибо надо указать начало и завершение заказа, но это решается в интерфейсе)
Счёт выписывается на заявку.
Заявки сделал активными и неактивными, ибо как я понимаю от одного клиента не может быть несколько заявок по одной услуге одновременно, и при этом не знаю условий задачи, может ли клиент с действующим договором отказываться от услуги а затем заказывать её вновь.
лишнее усложение и так непонятной ситуации, за отсутствием полной информации об автоматизируемом объекте
пока что ясно, что нет никаких заявок, есть сразу либо договор, либо заказ
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737419
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77, договор-то договором, а вот как понять, что клиенту надо, пока не пришёл и не заявил об этом? потому прежде всего идёт заявка на услугу, в уж потом разбираемся с договором есть он или придётся его создавать, распечатывать, подписывать :- )
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737423
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr.FontaineRodikKв управлении есть гараж и есть разовые заказы на парковку, шиномонтаж и т.д. Ежемесячно проводится аналитика по договорам собственников, а текущая работа в основном с разовыми заказами.
Это получается, что список объектов надо делать, какие услуги могут быть оказаны в объекте (вторая таблица), ибо проведение мойки автомобиля в офисе директора провести невозможно из-за отсутствия соответствующего оборудования и путей транспортировки. Ну а в заявку указывать в каком объекте она выполняется.
мдаа, вы вообще представляете себе процесс? стоит очередь, очередной клиент хочет мойку, оператору надо быстрее ему выписать заказ и послать в кассу, а тыкать сначала услугу, а потом место, где эта услуга будет выполнятся, а если случайно промахнешься - злая программа покажет красненькую надпись - "ты че дурак? мойку не делают в офисе директора", вы такой программой бизнес угробите, так как время ожидания в очереди возрастет в два-три-пять раз
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737427
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr.Fontaine, ну а после договора смотрим требуется ли оформление заказа. И если требуется - оформляем.
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737430
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr.Fontaine17-77, договор-то договором, а вот как понять, что клиенту надо, пока не пришёл и не заявил об этом? потому прежде всего идёт заявка на услугу, в уж потом разбираемся с договором есть он или придётся его создавать, распечатывать, подписывать :- )
эмм.... еще раз, стоит очередь, клиент орет - "хочу мойку, вот деньги", оператор тыкает большую кнопку "клиент хочет мойку", спрашивает фио, вводит, жмет ОК, из принтера вылезает бумажка, оператор посылает клиента с этой бумажкой в кассу, где тут заявка? и сколько времени надо убить на заявку, чтобы проставить все эти галки?
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737441
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77Mr.Fontaineпропущено...

Это получается, что список объектов надо делать, какие услуги могут быть оказаны в объекте (вторая таблица), ибо проведение мойки автомобиля в офисе директора провести невозможно из-за отсутствия соответствующего оборудования и путей транспортировки. Ну а в заявку указывать в каком объекте она выполняется.
мдаа, вы вообще представляете себе процесс? стоит очередь, очередной клиент хочет мойку, оператору надо быстрее ему выписать заказ и послать в кассу, а тыкать сначала услугу, а потом место, где эта услуга будет выполнятся, а если случайно промахнешься - злая программа покажет красненькую надпись - "ты че дурак? мойку не делают в офисе директора", вы такой программой бизнес угробите, так как время ожидания в очереди возрастет в два-три-пять раз

Уж сколько раз твердили миру - в общем случае интерфейс программы вообще никак не связан с тем, как хранятся в базе данные.Никак от слова "вообще". И по схеме данных пытаться судить о том, "возрастет ли время ожидания клиентов в очереди" -мягко говоря, смешно.
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737448
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77мдаа, вы вообще представляете себе процесс? стоит очередь, очередной клиент хочет мойку, оператору надо быстрее ему выписать заказ и послать в кассу, а тыкать сначала услугу, а потом место, где эта услуга будет выполнятся, а если случайно промахнешься - злая программа покажет красненькую надпись - "ты че дурак? мойку не делают в офисе директора", вы такой программой бизнес угробите, так как время ожидания в очереди возрастет в два-три-пять раз
ну можно же указание места сделать необязательным. Сразу выписать заказ на мойку а клиент пусть сам бегает ищет где машину помыть в столовке или кабинете директора. Зато очередей не будет ни у оператора, ни в моечном отделении.

P.S. Ну и в качестве оффтопа, как вы без указания места проведения завяки сможете посчитать сколько шиномонтажей было произведено гаражом №13?
Тут конечно есть вариант, что сам работник 13-ого гаража будет указывать, по каким заказам он работал, но вот дело в том, что всё равно кто-то должен указать где была оказана услуга: либо оператор, либо работник гаража. С оператором оно проще, с работником веселее читать отчёты, а ну как к нему прибегут с заказом на уборку мусора.
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737450
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Матроскин,
связь самая прямая:
Mr.FontaineОператор создаёт заявку, в которой указывает требуется ли для данной заявки договор и заказ
это означает, что надо показать форму заявки с полями ввода - это лишнее время => лишнее время в очереди => меньше клиентов => меньше денег => банкротство
...
Рейтинг: 0 / 0
Не получается структура БД
    #38737463
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr.Fontaineну можно же указание места сделать необязательным
отлично, вы повысили свой уровень, теперь вопрос - зачем тогда вообще эти объекты и бизнес-правила, где какие услуги должны оказываться?

Mr.FontaineP.S. Ну и в качестве оффтопа, как вы без указания места проведения завяки сможете посчитать сколько шиномонтажей было произведено гаражом №13?
почему вы додумываете за заказчика программы, что ему надо? было такое требование в первом сообщении в этой теме?
...
Рейтинг: 0 / 0
25 сообщений из 65, страница 1 из 3
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Не получается структура БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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