|
|
|
Помогите с советом
|
|||
|---|---|---|---|
|
#18+
Привет всем. В фирме, где я работаю, решили открыть еще один бизнесс - шиномонтаж. Дали мне прейскурант цен, сказали что надо его организовать в базе и чтоб можно было с ним работать. Вот тут я и тормознулся. Для удобства решил сделать в виде дерева, причем ограничить вложенность 4-мя уровнями. Для наглядности пример прейскуранта, котрый они мне дали: 1) он делится на 3 вида автомобиля: легковой, внедорожники и минивены(микроавтобусы) 2)в каждом из делений (см. п.1) есть 5 видов услуг: балансировка, замена шин, ремонтные работы и т.д. 3)в каждом из видов услуг (см. п.2) есть непосредственно сама услуга, пример: Балансировка - мойка, замена шин - монтаж 4)на каждую услугу сущестует цена, которая делится на размер диска (радиус), т.е.: Легковой автомобиль - Балансировка - мойка - R14 - цена 90 руб. Именно для этого я и сделал поле level (см. ниже), т.е. для хранения цен используется level=4 Единственное что мне пришло в голову по хранению всего это вот такая структура таблицы: id p_id naim level price, где id - уникальный номер, p_id - ссылка на родительскую ветку, naim - наименование услуги, price - цена услуги, level - номер уровня вложенности. И мне это не очень нравится, т.к. на услуг, например МОЙКА будет существовать как минимум 15 кодов, потому что разные радиусы и типы транспортного средства. Может у кого-нибудь было уже что-то подобное? Посоветуйте по организации хранения, описанной выше вещи. Или не париться и оставить как уже сделал? Заранее СПАСИБО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2006, 10:21 |
|
||
|
Помогите с советом
|
|||
|---|---|---|---|
|
#18+
Роман НовичекПривет всем. В фирме, где я работаю, решили открыть еще один бизнесс - шиномонтаж. Дали мне прейскурант цен, сказали что надо его организовать в базе и чтоб можно было с ним работать. Вот тут я и тормознулся. Для удобства решил сделать в виде дерева, причем ограничить вложенность 4-мя уровнями. Для наглядности пример прейскуранта, котрый они мне дали: 1) он делится на 3 вида автомобиля: легковой, внедорожники и минивены(микроавтобусы) 2)в каждом из делений (см. п.1) есть 5 видов услуг: балансировка, замена шин, ремонтные работы и т.д. 3)в каждом из видов услуг (см. п.2) есть непосредственно сама услуга, пример: Балансировка - мойка, замена шин - монтаж 4)на каждую услугу сущестует цена, которая делится на размер диска (радиус), т.е.: Легковой автомобиль - Балансировка - мойка - R14 - цена 90 руб. Именно для этого я и сделал поле level (см. ниже), т.е. для хранения цен используется level=4 Единственное что мне пришло в голову по хранению всего это вот такая структура таблицы: id p_id naim level price, где id - уникальный номер, p_id - ссылка на родительскую ветку, naim - наименование услуги, price - цена услуги, level - номер уровня вложенности. И мне это не очень нравится, т.к. на услуг, например МОЙКА будет существовать как минимум 15 кодов, потому что разные радиусы и типы транспортного средства. Может у кого-нибудь было уже что-то подобное? Посоветуйте по организации хранения, описанной выше вещи. Или не париться и оставить как уже сделал? Заранее СПАСИБО. Возьмите умную книгу (например книгу Дейта (если правильно помню)"Введение в теорию баз данных") и прочитайте про нормализацию. Еще прочитайте про отношения (relation). Тогда Вы поймете, что не стоит все валить в одну "кучу" (в смысле - в одну таблицу)... Теперь по сабжу. Как минимум здесь видны четыре таблицы: 1. Виды автомобилей (idAuto, name) 2. Виды услуг (idType,Name) 3. Услуги (idType,idUsl,Name) 4. Цена (idAuto,idUsl,Price,fromDate,toDate) Связи (relations) между файлами: Виды услуг -> Услуги Услуги -> Цена <-Виды автомобилей То, что Вам нужно - получится при помощи одного SQL-запроса... Для более подробного анализа Вашей задачи приведенных данных недостаточно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2006, 10:51 |
|
||
|
Помогите с советом
|
|||
|---|---|---|---|
|
#18+
Hi Станислав! Кстати один из тех случаев, когда требуется нормализация выше 3-й НФ :) Ибо для некоторых услуг цена не зависит от марки автомобиля - а в предложенной схеме невозможно ввести такого рода цену - придётся для всех имеющихся марок авто дублировать записи... Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2006, 04:42 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33545534&tid=1592313]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
155ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 411ms |

| 0 / 0 |
