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

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

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

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

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

Сразу дополняю возможные не понятки: в услуги тоже можно добавить признак что это такое и в формах с отчетами не выводить не нужные поля для заполнения или чтения...
...
Рейтинг: 0 / 0
04.09.2014, 11:41
    #38737266
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается структура БД
RodikKА есть идеи как такая сущность могла бы называться вместо Заказ-Договор?
куча_мала
...
Рейтинг: 0 / 0
04.09.2014, 11:47
    #38737270
RodikK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается структура БД
vmagкуча_мала
Не подходит, как тогда определить добавление элемента сущности - новая куча-мала?
...
Рейтинг: 0 / 0
04.09.2014, 11:47
    #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
04.09.2014, 12:05
    #38737301
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается структура БД
RodikKкак тогда определить добавление элемента сущности - новая куча-мала?
"Ещё одна сделка."
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.09.2014, 12:35
    #38737357
RodikK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается структура БД
17-77как два пальца об асфальт
Да, не устану повторять, в том случае, если для собственника НП оформляем заказ на обслуживание НП, потом договор. А менеджеры привыкли оформлять Договор на обслуживание НП и никакого заказа. Если это обозвать
Dimitry Sibiryakov...сделка то боюсь, меня тоже не поймут.
Вообще по бизнес процессу удобно было бы организовать поиск по заказам и отдельно поиск по договорам. Потому что, в управлении есть гараж и есть разовые заказы на парковку, шиномонтаж и т.д. Ежемесячно проводится аналитика по договорам собственников, а текущая работа в основном с разовыми заказами.
...
Рейтинг: 0 / 0
04.09.2014, 12:38
    #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
04.09.2014, 12:41
    #38737366
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается структура БД
RodikKбоюсь, меня тоже не поймут.
Я тебе открою маленький секрет: формат хранения данных очень слабо связан с интерфейсом их
редактирования. Хотят менеджеры договор отдельно от заказа - не проблема, сделай им два
примерно одинаковых окна. А данные, что они введут - вали в одну таблицу и никому не
говори как она называется. То, что не знаешь, тебя не беспокоит.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.09.2014, 12:48
    #38737378
Mr.Fontaine
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается структура БД
RodikKв управлении есть гараж и есть разовые заказы на парковку, шиномонтаж и т.д. Ежемесячно проводится аналитика по договорам собственников, а текущая работа в основном с разовыми заказами.
Это получается, что список объектов надо делать, какие услуги могут быть оказаны в объекте (вторая таблица), ибо проведение мойки автомобиля в офисе директора провести невозможно из-за отсутствия соответствующего оборудования и путей транспортировки. Ну а в заявку указывать в каком объекте она выполняется.
...
Рейтинг: 0 / 0
04.09.2014, 12:51
    #38737383
Mr.Fontaine
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается структура БД
Mr.Fontaine,
в добавление к описанию структура таблиц
Код: plaintext
1.
2.
Объект (id, наименование)
Объекты_услуги(id, id_объекта, id_услуги)
ну и дополняем таблицу заявки новым полем
Код: plaintext
1.
Заявка_услуги (id, id_Клиент, id_Услуга, id_объект, Необходим_договор, Необходим_заказ, Активна_неактивна)
...
Рейтинг: 0 / 0
04.09.2014, 13:00
    #38737398
17-77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается структура БД
RodikKв том случае, если для собственника НП оформляем заказ на обслуживание НП, потом договор. А менеджеры привыкли оформлять Договор на обслуживание НП и никакого заказа.
ну так меняйте заголовок формы - в одном случае - это заказ, в другом - договор, а данные будете пихать по таблицам - так как надо и это будет скрыто от глаз юзера
...
Рейтинг: 0 / 0
04.09.2014, 13:03
    #38737410
17-77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается структура БД
Mr.FontaineТо есть приходит клиент с заявкой на услугу.
Оператор создаёт заявку, в которой указывает требуется ли для данной заявки договор и заказ
Если договор требуется, а его нет, то оператор создаёт договор, если требуется заказ - то заказ создаётся автоматически (ну может не сильно автоматически, ибо надо указать начало и завершение заказа, но это решается в интерфейсе)
Счёт выписывается на заявку.
Заявки сделал активными и неактивными, ибо как я понимаю от одного клиента не может быть несколько заявок по одной услуге одновременно, и при этом не знаю условий задачи, может ли клиент с действующим договором отказываться от услуги а затем заказывать её вновь.
лишнее усложение и так непонятной ситуации, за отсутствием полной информации об автоматизируемом объекте
пока что ясно, что нет никаких заявок, есть сразу либо договор, либо заказ
...
Рейтинг: 0 / 0
04.09.2014, 13:09
    #38737419
Mr.Fontaine
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается структура БД
17-77, договор-то договором, а вот как понять, что клиенту надо, пока не пришёл и не заявил об этом? потому прежде всего идёт заявка на услугу, в уж потом разбираемся с договором есть он или придётся его создавать, распечатывать, подписывать :- )
...
Рейтинг: 0 / 0
04.09.2014, 13:12
    #38737423
17-77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается структура БД
Mr.FontaineRodikKв управлении есть гараж и есть разовые заказы на парковку, шиномонтаж и т.д. Ежемесячно проводится аналитика по договорам собственников, а текущая работа в основном с разовыми заказами.
Это получается, что список объектов надо делать, какие услуги могут быть оказаны в объекте (вторая таблица), ибо проведение мойки автомобиля в офисе директора провести невозможно из-за отсутствия соответствующего оборудования и путей транспортировки. Ну а в заявку указывать в каком объекте она выполняется.
мдаа, вы вообще представляете себе процесс? стоит очередь, очередной клиент хочет мойку, оператору надо быстрее ему выписать заказ и послать в кассу, а тыкать сначала услугу, а потом место, где эта услуга будет выполнятся, а если случайно промахнешься - злая программа покажет красненькую надпись - "ты че дурак? мойку не делают в офисе директора", вы такой программой бизнес угробите, так как время ожидания в очереди возрастет в два-три-пять раз
...
Рейтинг: 0 / 0
04.09.2014, 13:13
    #38737427
Mr.Fontaine
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается структура БД
Mr.Fontaine, ну а после договора смотрим требуется ли оформление заказа. И если требуется - оформляем.
...
Рейтинг: 0 / 0
04.09.2014, 13:15
    #38737430
17-77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается структура БД
Mr.Fontaine17-77, договор-то договором, а вот как понять, что клиенту надо, пока не пришёл и не заявил об этом? потому прежде всего идёт заявка на услугу, в уж потом разбираемся с договором есть он или придётся его создавать, распечатывать, подписывать :- )
эмм.... еще раз, стоит очередь, клиент орет - "хочу мойку, вот деньги", оператор тыкает большую кнопку "клиент хочет мойку", спрашивает фио, вводит, жмет ОК, из принтера вылезает бумажка, оператор посылает клиента с этой бумажкой в кассу, где тут заявка? и сколько времени надо убить на заявку, чтобы проставить все эти галки?
...
Рейтинг: 0 / 0
04.09.2014, 13:20
    #38737441
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается структура БД
17-77Mr.Fontaineпропущено...

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

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

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