powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите с советом
3 сообщений из 3, страница 1 из 1
Помогите с советом
    #33545450
Роман Новичек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем. В фирме, где я работаю, решили открыть еще один бизнесс - шиномонтаж. Дали мне прейскурант цен, сказали что надо его организовать в базе и чтоб можно было с ним работать. Вот тут я и тормознулся. Для удобства решил сделать в виде дерева, причем ограничить вложенность 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 кодов, потому что разные радиусы и типы транспортного средства.

Может у кого-нибудь было уже что-то подобное? Посоветуйте по организации хранения, описанной выше вещи. Или не париться и оставить как уже сделал?
Заранее СПАСИБО.
...
Рейтинг: 0 / 0
Помогите с советом
    #33545534
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман НовичекПривет всем. В фирме, где я работаю, решили открыть еще один бизнесс - шиномонтаж. Дали мне прейскурант цен, сказали что надо его организовать в базе и чтоб можно было с ним работать. Вот тут я и тормознулся. Для удобства решил сделать в виде дерева, причем ограничить вложенность 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-запроса...

Для более подробного анализа Вашей задачи приведенных данных недостаточно...
...
Рейтинг: 0 / 0
Помогите с советом
    #33553680
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Станислав!

Кстати один из тех случаев, когда требуется нормализация выше 3-й НФ :)
Ибо для некоторых услуг цена не зависит от марки автомобиля - а в
предложенной схеме невозможно ввести такого рода цену - придётся для всех
имеющихся марок авто дублировать записи...

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите с советом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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