powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура базы для каталога инструментов
20 сообщений из 20, страница 1 из 1
Структура базы для каталога инструментов
    #38858453
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет. возникла необходимость создать свой электронный каталог для подбора инструмента на основании каких то параметров, у поставщиков данная база выглядит в виде единой таблицы для всего набора инструментов и таблицы параметров т.е. в таблице инструмента есть инструмент и n кол-строк где каждая строка это определенный параметр. я хочу немного переделать в плане группировки по типу инструмента с необходимым набором параметров т.е. сделать как то так:
было
Одна таблица для всех инструментов
Название|КодПараметра|ЗначениеПараметра
...

станет
Таблица для каждого "Типа" т.е. Тип 1 с набором параметров
Название|Параметр1|Параметр2|ПараметрN
и так для каждой подгруппы

почему хочу переделать: потому что хочу объединить данные из нескольких источников и так мне кажется будет проще, насколько оправдан такой подход?

P.S.: если быть честным то делать так я уже начал, просто счас возникли сомнения в правильности такого подхода(с чем смогу столкнуться в будущем), база будет использоваться только для чтения
...
Рейтинг: 0 / 0
Структура базы для каталога инструментов
    #38858477
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вангую, тредстартер слаб в реляционном делении.
...
Рейтинг: 0 / 0
Структура базы для каталога инструментов
    #38858485
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks2, ну против истины не попрешь, исходя из вашего сообщения следует что первый подход более оправдан в данном случае?!
...
Рейтинг: 0 / 0
Структура базы для каталога инструментов
    #38858517
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
теоретически можно было бы оставить так как есть но тогда возникнет следующее: первое справочник параметров у разных поставщиков свой т.е.,необходимо будет привести к единому справочнику; два у одного поставщика параметры хранятся в виде строк, у другого есть тип значения т.е. опять приведение к чему то одному; исходя из этого мне показалось(продолжает казаться) что мой подход по объединения в таблице по наличию характерных признаков имеет право на жизнь. может кто то сказать почему не стоит использовать озвученный мной подход как то более аргументировано чем "aleks2"

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Структура базы для каталога инструментов
    #38858592
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Стоит оценить, насколько стабильна структура - насколько часто добавляются/убираются параметры для типов? Насколько часто возникают новые типы? Если часто - с Вашим вариантом у Вас будут проблемы.

2. Если структура стабильна - в целом Ваш вариант лучше, но еще лучше пойти дальше и выделить в единую таблицу "инструмент"
все параметры, единые для всех типов, и при ней сделать много дочерних таблиц со специфическими для каждого типа параметрами, по одной таблице на тип.
...
Рейтинг: 0 / 0
Структура базы для каталога инструментов
    #38858684
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот Матроскин1. Стоит оценить, насколько стабильна структура - насколько часто добавляются/убираются параметры для типов? Насколько часто возникают новые типы? Если часто - с Вашим вариантом у Вас будут проблемы.

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

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Create table Machine (ID_machine  Int Primary Key,
                               name         varchar(255),
                               Price          money, 
                             ....)


Create table Milling_Machine (ID_machine int Primary Key references Machine,
                                       Milling_Machine_Param1,
                                       Milling_Machine_Param2,
                                       ....)
Create table Turning_Machine (ID_machine int Primary Key references Machine,
                                       Turning_Machine_Param1,
                                       Turning_Machine_Param2,
                                       ....)
...
Рейтинг: 0 / 0
Структура базы для каталога инструментов
    #38858786
Отдельные таблицы ? Бред же.

Параметры всегда будут добавляться. Хотите того или нет.

Только одна таблица по типу EAV т.е. "было".

Вариант "станет" никогда годно не взлетит.
...
Рейтинг: 0 / 0
Структура базы для каталога инструментов
    #38858816
Гхостик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
постоянный мемберОтдельные таблицы ? Бред же.

Параметры всегда будут добавляться. Хотите того или нет.

Только одна таблица по типу EAV т.е. "было".

Вариант "станет" никогда годно не взлетит.Параметры будут добавляться в любой предметной области. Что, значит, все делаем на eav? Бред же.
...
Рейтинг: 0 / 0
Структура базы для каталога инструментов
    #38858834
ГхостикПараметры будут добавляться в любой предметной области. Что, значит, все делаем на eav? Бред же.Это значит, что "было" как раз реализация по типу EAV. И она идеологически верна.
А куча таблиц с добавляемыми полями - бред.
...
Рейтинг: 0 / 0
Структура базы для каталога инструментов
    #38859144
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
постоянный мембер...Параметры всегда будут добавляться. Хотите того или нет...


на это могу сказать только следующее: какие параметры могут быть добавлены например к "Сверлу", "Фрезе" данные сущности уже сформировались в некий набор характеристик(меня интересуют основные(диаметр, длинна ну и т.п.)), новые добавлены могут быть согласен, но скорее как необходимые для маркетинга. я понимаю что вариант как "было" это лучше/правильнее но представьте следующее: для такого хранения необходим список параметров, у разных поставщиков справочники различны т.е. необходимо делать свой справочник и заниматься дальнейшем приведением; вторая проблема которую я открыл для себя это поиск по набору характеристик планировал делать так: формировалась сущность ну например фрезы:
SQL
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
SELECT
  Name,
  ParamId,
  CAST(Param AS MONEY) AS [D],
  NULL AS [r],
  NULL AS [d1],
  NULL AS [ap],
  NULL AS [l2],
  NULL AS [H],
  NULL AS [D2],
  NULL AS [Ta],
  NULL AS [L],
  NULL AS [Flute],
  NULL AS [Ha],
  NULL AS [Rd],
  NULL AS [Shank],
  NULL AS [Chamfer],
  Grade AS [Grade]
FROM Items
WHERE ParamId = 35
UNION
SELECT
  Name,
  ParamId,,
  NULL AS [D],
  CAST(Param AS MONEY) AS [r],
  NULL AS [d1],
  NULL AS [ap],
  NULL AS [l2],
  NULL AS [H],
  NULL AS [D2],
  NULL AS [Ta],
  NULL AS [L],
  NULL AS [Flute],
  NULL AS [Ha],
  NULL AS [Rd],
  NULL AS [Shank],
  NULL AS [Chamfer],  
  Grade AS [Grade]
FROM Items
WHERE ParamId= 31
UNION
...


полученную сущность сохранял в отд. таблицу например "Cutters" и планировал работать в дальнейшем с ней т.е. получения списка фрез сводилось к следующему запросу:
Код: sql
1.
Select * from Cutters where D=20 and d1=20 ...

и впринципе это работает как же сделать подобное при первом варианте хранения кроме как собирания "сущности" и последующего наложения на него опр. условий я не знаю. может кто подскажет как быть в этом случае?
P.S.: если не сложно то подсказки лучше всего приводить на примере кода:)
...
Рейтинг: 0 / 0
Структура базы для каталога инструментов
    #38859209
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bald56rus я понимаю что вариант как "было" это лучше/правильнее

:) Нет, это совсем не "лучше/правильнее", это вынужденный костыль для случая, когда новые типы/параметры возникают слишком часто, чтобы каждый раз менять под них структуру/код.
Если новый параметр добавляется раз в месяц - можно изменить для него структуру таблиц.
Если новые параметры возникают 5 раз в день -...
...
Рейтинг: 0 / 0
Структура базы для каталога инструментов
    #38859888
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bald56rus может кто подскажет как быть в этом случае?Да троллит тебя постоянный мембер . Серый ник, беапелляционные, бездоказательные заявления - что еще надо.
По сабжу - соглашусь с Матроскиным.
...
Рейтинг: 0 / 0
Структура базы для каталога инструментов
    #38860248
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257bald56rus может кто подскажет как быть в этом случае?Да троллит тебя постоянный мембер . Серый ник, беапелляционные, бездоказательные заявления - что еще надо.
По сабжу - соглашусь с Матроскиным.
Кот Матроскин, SERG1257
спасибо Вам большое
...
Рейтинг: 0 / 0
Структура базы для каталога инструментов
    #38860266
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bald56rus,

авторвиде единой таблицы для всего набора инструментов и таблицы параметров т.е. в таблице инструмента есть инструмент и n кол-строк где каждая строка это определенный параметр.

видимо таблиц все же 2, как минимум

одна таблица для всех инструментов
--ид1
--название инструмента
--модель

таблица параметров
--ид2
--ид1
--названиепараметра
--кодпараметра
--значениепараметра
...
Рейтинг: 0 / 0
Структура базы для каталога инструментов
    #38860273
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКАbald56rus,

авторвиде единой таблицы для всего набора инструментов и таблицы параметров т.е. в таблице инструмента есть инструмент и n кол-строк где каждая строка это определенный параметр.

видимо таблиц все же 2, как минимум

одна таблица для всех инструментов
--ид1
--название инструмента
--модель

таблица параметров
--ид2
--ид1
--названиепараметра
--кодпараметра
--значениепараметра
ну таблиц конечно больше чем две, но структуру где хранятся параметры я описал правильно: инструмент(название и т.п.), код параметра(есть отдельная таблица параметров где есть название, описание), значение параметра, тип параметра ну и т.д.
...
Рейтинг: 0 / 0
Структура базы для каталога инструментов
    #38905661
Денис Б.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тупиковая задача.

Для нашего ГОСТовского инструмента существует такая запутанная система, что реализовать универсальную модель данных не так-то просто. Более 60тыс типоразмеров.
Для импортного(европа, пендосия) есть ISO по которому работают все поставщики + некоторые индивидуальные особенности.

Возьми модель данных из САПР техпроцессов у SDI-Solutions. Практически у всех, кто занимается инженерными данными по инструменту, существует масса специально заточенных таблиц.

Если требуется для нужд бухгалтерского учёта, то можно и велосипед изобрести, т.к. там своя "логика" и в каждом клиническом случае она просто потребует велосипеда.
...
Рейтинг: 0 / 0
Структура базы для каталога инструментов
    #38905924
Денис Б.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по тому, что в характеристиках инструмента нарисовалась стоимость:
"CAST(Param AS MONEY) AS [D]"
что явно относит задачу к "экономическому", а не "инженерному" подходу.
Поэтому дальше будет интереснее: пришла счёт-фактура от другого поставщика и с другой стоимостью - новая строка. А как стоимость влияет на технические характеристики инструмента? Н И К А К.
А вдруг в счёт-фактуре обозначение инструмента записано не так как в купленном ранее у другого поставщика? Бухгалтер скажет: Брали корову рыжую одну - надо оприходовать одну, а то что у тебя в базе написано "корова рыжая" вместо "рыжая корова", то это нарушение отчётности и нечего учить как работать тех, кто тебе зарплату считает.
...
Рейтинг: 0 / 0
Структура базы для каталога инструментов
    #38906109
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Денис Б.,

Первое. Обращайте внимание на дату. Думаю автор все уже решил.
Второе. Вы путаете функции бухгалтера и ... У каждого своя роль и свое место. Тех кто этого не понимает обычно меняют и процесс идет дальше уже с другими людьми.
...
Рейтинг: 0 / 0
Структура базы для каталога инструментов
    #38908981
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"CAST(Param AS MONEY) AS [D]" это приведение таким образом я осуществлял в базе данные как строки. D это диаметр(может быть 12,5). данная база планируется для поиска аналогов инструмента по геометрии(длинна, диаметр и т.п.) в данной базе планирую аккумулировать нескольких поставщиков. путем проб и ошибок пришел к решению оставить структуру как была предложена одним из поставщиков(зарубежный инструмент)
пример
ИнструментПараметрКраткое именованиеЗначение параметраИнстр_11D20Инстр_12d20............
данные собираю представлением
в список вывел только общие параметры
в детальной информации все параметры по инструменту.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура базы для каталога инструментов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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