Проектирование базы данных автосервиса (доменная модель)? - PullRequest
0 голосов
/ 13 октября 2011

Прежде всего я знаю, что нет таблиц Car, Model, Manufacture ..., которые я, вероятно, должен составить, но сейчас это не проблема.

Я должен сказать, что я уже сделал базу данных, и реляционная модель выглядит следующим образом (я упростил ее, чтобы сосредоточиться на важных), , но мне нужно нарисовать концептуальную (предметную) модель этого:

Клиент ( clientID , имя, фамилия, телефон)

Адрес ( clientID , номер, улица, cityZipCode )

Город ( cityZipCode , cityName)

Визит ( clientID , visitDate , totalPrice)

Служба ( идентификатор службы , имя_службы)

Критерии ( критерииName, размер , measureUnit)

ServicePriceCriteria ( serviceID, критерийName, размер , цена)

VisitItem ( clientID, visitDate, serviceID, критерийName, размер , количество)

Моя самая большая проблема заключалась в том, как обеспечить, чтобы услуга ONE могла иметь различные цены для различных критериев.

я. е. Замена масла для грузовика стоит 15 €. Для внедорожника такая же услуга стоит 8 € .... Другой пример, когда цена зависит от размера колеса. Для колеса 14 дюймов некоторые услуги стоят 10 €, а для колеса 17 дюймов - 15 €.

Итак, для первого примера у меня есть: Сервис (123, «Замена масла»), Критерии ('typeOfVehicle', 'Truck', null), ServicePriceCriteria (123, 'typeOfVehicle', 'Truck', 15)

Сервис (123, «Замена масла»), Критерии ('typeOfVehicle', 'SUV', ноль), ServicePriceCriteria (123, typeOfVehicle, SUV, 8)

Для второго примера это выглядит так: Служба (124, «Некоторая Служба»), Критерии («Размер колеса», «14», дюймы), ServicePriceCriteria (124, «Размер колеса», «14», 10)

Сервис (124, «Некоторая служба»), Критерии («Размер колеса», «17», дюймы), ServicePriceCriteria (124, «Размер колеса», «17», 15)

Надеюсь, ты понял, в чем была моя идея. Я хочу спросить вас, это мое решение приемлемо вообще? И это правильная модель домена этой базы данных: Conceptual model

...