powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как лучше сделать?
25 сообщений из 31, страница 1 из 2
Как лучше сделать?
    #36317983
Сказочный леший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот такую вещь надо заносить в базу:

● Автовышка ( высота, коленчатые, телескопические, г/п )
● Автогрейдер ( тоннаж )
● Автокран ( г/п, вылет стрелы, гусек )
● Асфальтоукладчик ( колесный, гусеничный, ширина укладки )
● Бетоновоз ( объем )
● Бетоносмеситель
● Бетононасос ( длина, высота подачи )
● Бульдозер ( тоннаж )
● Виброкаток ( кулачковые, гладковальцовые, тоннаж )
● Вывоз мусора ( объем бункера )
● Грейфер ( гусеничные, колесные, глубина копания, объем ковша )
● Дорожная фреза ( ширина фрезы )
● Илосос (кубатура)
● Каток ( тоннаж )
● Компрессор ( кол-во молотков, длина шлангов )
● Манипулятор ( г/п стрелы, вылет стрелы, г/п кузова, длина и ширина кузова )
● Минипогрузчик
● Миниэкскаватор
● Низкорамник ( г/п, длина, ширина, высота платформы, угол заезда, лебедка )
● Поливомоечные машины ( объем бочки, щетка, отвал )
● панелевоз ( тоннаж )
● погрузчик ( фронтальный – г/п, объем ковша. Вилочный- г/п, высота подъема)
● Самосвал ( г/п, объем кузова )
● Электростанция
● Экскаватор
● экскаватор-погрузчик
● эвакуатор
● Ямобуры ( глубина бурения, диаметр бура )
● другая спецтехника

Таким образом, это тип спецтехники, и для каждого из типов - свои параметры. Я вот думаю сделать так: таблицу с полями Id единицы Спецтехники, тип, Param1, Param2,...,ParamN

Param будут свои для каждого типа спецтехники...нормально?
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36318062
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
для каждой сущности надо делать свою таблицу -- так говорят классики
и не надо бояться большого количества таблиц.
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36318122
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nosovдля каждой сущности надо делать свою таблицу -- так говорят классики
и не надо бояться большого количества таблиц.
Напишите запрос, который выбирает всю технику, у которой есть параметр "тонаж" и он
меньше 30 тонн.
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36318123
Фотография Infernal V. Raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nosov,

тут можно сказать, что сущностью является объект инвентаризации, т.е. одна таблица объектов. В этом случае решение Сказочный леший вполне нормально
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36318126
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сказочный леший Param будут свои для каждого типа спецтехники...нормально?Надеюсь имена у них будут человеческие а не Param1, Param2,...,ParamN
А то ведь можно и таблицы назвать table1, table2 table3 "чтоб никто не догадался" (с) Операция Ы
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36318175
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сказочный лешийParam будут свои для каждого типа спецтехники...нормально?
Существуют несколько подходов.

1. Всё в одну таблицу, некоторые поля используются только для некоторых типов записей (то, что Вы написали)
2. Каждый тип в свою таблицу.
3. Основные общие поля в одну таблицу, специализированные поля - в отдельные таблицы, связанные 0..1
4. Все либо специализированные поля выносятся в универсальную структуру хранения - XML итп.
5. Использование каких-либо специфических расширений (объектные возможности в Oracle, в PG вроде есть наследование...)

У каждого есть свои достоинства и недостатки, надо выбирать наиболее удобный с точки зрения стоящей задачи.
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36318301
Сказочный леший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поиск только по наименованию будет,
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36318948
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОКТОГЕННапишите запрос, который выбирает всю технику, у которой есть параметр "тонаж" и он меньше 30 тоннответ автора см выше
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36318962
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nosovОКТОГЕННапишите запрос, который выбирает всю технику, у которой есть параметр "тонаж" и он меньше 30 тоннответ автора см выше
Тогда тем более надо по всем таблицам елозить. А зачем?
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36319018
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОКТОГЕН

если Бетоновоз нужен зачем его по всей БД искать ?
справочник по Таблицам надо сделать
и искать в нужной таблице.
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36319057
ОКТОГЕНnosovдля каждой сущности надо делать свою таблицу -- так говорят классики
и не надо бояться большого количества таблиц.
Напишите запрос, который выбирает всю технику, у которой есть параметр "тонаж" и он
меньше 30 тонн.

Во первых, в реальной жизни такой запрос вряд-ли понадобится.
А во вторых, с помощью динамических запросов это реализуется элементарно.
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36327089
Настасья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант можно использовать XMLdata column.... и тогда, все будет в одной таблице + все характеристики хронятся в xml формате.
оч удобно получается.
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36327392
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сказочный лешийВот такую вещь надо заносить в базу

Как вариант...

Перечень техникиКодНазвание
Перечень характеристикКодНазвание
Единицы измеренияКодНазвание
Описание характеристик техникиКод техникиКод характеристикиКод единицы измеренияЗначение зарактеристики
Т.о. можно оформить все, что угодно. И спокойно делать любые запросы...
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36329262
Настасья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaСказочный лешийВот такую вещь надо заносить в базу

Как вариант...

Перечень техникиКодНазвание
Перечень характеристикКодНазвание
Единицы измеренияКодНазвание
Описание характеристик техникиКод техникиКод характеристикиКод единицы измеренияЗначение зарактеристики
Т.о. можно оформить все, что угодно. И спокойно делать любые запросы...

В такойм случае поиск не очень удобно осуществлять. тяжелый запрос будет. А так идеальный вариант... все нормализовано.
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36329408
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Настасья
В такойм случае поиск не очень удобно осуществлять. тяжелый запрос будет.
Вы уж напишите два варианта запроса и скажите, в чём у них "тяжесть" измеряется и насколько она отличается....
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36329827
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен с общей идеей krvsa.
Однако надо различать ТИП ТЕХНИКИ и ЭКЗЕМПЛЯР ТИПА.
Характеристику имеет ТИП, а значение характеристики ЭКЗЕМПЛЯР.
Кроме того, характеристика имеет перечень допустимых значений (иначе юзеры наврут с три короба).
Другой вариант - характеристика для типа имеет перечень допустимых значений.

А вообще решение типовое и в моей практике встречалось не один (5-6) раз.
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36329868
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С "тяжестью" запроса тоже интересно было бы ознакомиться...

P.S. А вот цитатат действительно "тяжеловата". Зачем так делать?
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36332227
Сказочный леший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
круто, мою тему еще обсуждают. кстати еще не решила как делать, так что может и возьму на вооружение последний вариант...(помнится помогала кому то курсовой делать, вот там подобная схема была)...
неизвестно, может потом захочется поиск,например по грузоподъемности делать или еще ченидь, мож действительно сделать все по теории
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36332291
Настасья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛой,

а вы пробовали написать запрос на поиск в данном случае техники допусти по двум характеристикам. Например вы ищите технику типа А с объемом Б.

Ну сделаете вы join всех таблиц... получите кучу строк... дальше что? как данные выбирать собираетесь? опять кучу джойнов и подзапросов?
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36334219
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сказочный лешийпоиск только по наименованию будет,
Всегда умиляли подобные реплики.
Откуда уверенность, что через месяц никто не захочет другой поиск?

Решение задачи должно быть устойчиво к минимальному изменению исходных условий. Тем более такой простой задачи.
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36341184
Alexander_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257,

если используешь метаданные, то атрибуты можно назвать а1.. аn ... Имена объектов и атрибутов тогда, вообще, роли не играют и являются техническим элементом. Обратился к метаданным и получил структуру объект с семантическим наполнением атрибутов.
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36341445
Фотография актуалфорум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я бы сделал примерно так
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36341447
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НастасьяАнатоЛой,

а вы пробовали написать запрос на поиск в данном случае техники допусти по двум характеристикам. Например вы ищите технику типа А с объемом Б.

Ну сделаете вы join всех таблиц... получите кучу строк... дальше что? как данные выбирать собираетесь? опять кучу джойнов и подзапросов?
Настасья, а что вас пугает в "куче джойнов и запросов"? Количество запросов останется тем же. Их сложность - управляема. Взгляды и хранимые процедуры прячут сложность использования. Присутствующая нормализация - решает достаточно эффективно проблему дублирования данных. Производительность? Посмотреть бы на оба варианта в конце процесса и с учётом всех используемых запросов. По практике скажу - предлагаемый вариант отлично себя зарекомендовал... Или у вас планируется реализация на MySQL достаточно старой версии? Тогда есть нюансы :)
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36341488
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Тем более такой простой задачи.

Так себе простой.

Возьмите, например, экскаватор и попробуйте его описать. Карьерный будет отличаться от экскаватора-погрузчика и не будет иметь вообще ничего общего с хирургическим. Который, в свою очередь, будет существенно отличаться от стоматологического. Единственная общая часть всех экскаваторов - ковш. Семантическая эквивалентность тоже бывает условной.
...
Рейтинг: 0 / 0
Как лучше сделать?
    #36341707
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Так себе простой
забубенить параметры техники в БД и искать по ним - не простая задача? даже если забыть, что речь только о спецтехнике идет, а не о сематнике экскаваторов, все равно ничто не мешает наплодить параметров, указать им доступность, и искать по ним.
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как лучше сделать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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