Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / БД справочника электрорадиоизделий / 22 сообщений из 22, страница 1 из 1
12.03.2017, 18:39
    #39417651
а Дмитрий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
Приветствую всех.

Может уже кто сталкивался с похожей проблемой, может кто и реализовал ее.
Но я на сегодняшний день не нашел ни платного ни безплатного решения данной темы.

Задача создать справочник ЭРИ (электрорадиоизделия), который был бы похож именно на справочник, а именно:

1. скорость выполнения любого запроса около 10 сек.

2. отображение всех ЭРИ сразу в одной таблице (во загнул-то, но уже нашел способ как это сделать), т.е.
клиент визуально работает с одной таблицей, но в зависимости от типа ЭРИ в этой таблице есть группы со своими псевдо-названиями столбцов.
в итоге имеем практически мгновенный доступ к поиску по всей базе

3. атрибутов у каждого типа эри может быть до 100-и, да вот такая пакость, уж очень много их начиная от стандартных и заканчивая специфическими для каждого типа.

4. сами же типы эри, жизнь как всегда с сюрпризом, имеют иерархическую структуру.

За основу берется "Перечень электронной компонентной базы, разрешенной для применения при разработке, модернизации, производстве и эксплуатации вооружения, военной и специальной техники" - перечень ЭКБ.

Если кто сталкивался с похожей задачей, подскажите куда посмотреть, может уже есть готовое решение (неважно платно или нет).
Или попробуем создать сами, все вместе?

Жду все ваши комментарии и плохие и хорошие, только без мата....
...
Рейтинг: 0 / 0
12.03.2017, 18:49
    #39417654
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
а Дмитрий1. скорость выполнения любого запроса около 10 сек.
Так тормозные запросы требуют EAV и криворукого разработчика. Иначе не справиться.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12.03.2017, 19:03
    #39417658
а Дмитрий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
Dimitry Sibiryakov,

Имея достаточный опыт общения с системами построеными на EAV, то применять эту технологию полностью в моем примере не получиться, иначе построение запросов будет очень дорого стоить по времени.

Я решил что EAV нужен на этапе администрирования и наполнения и редактирования справочника, а вот для клиента...

Иду на прямое нарушение нормализации и дублирую информацию в специальных таблицах в виде удобном для клиента )))

С чем столкнулся, так это с типами данных....

нужно ли использовать sql_variant?
или заложить заранее нужное количество типов?

... думаем...
...
Рейтинг: 0 / 0
12.03.2017, 20:28
    #39417686
БД справочника электрорадиоизделий
Попробуйте использовать хранимые процедуры с временными таблицами
...
Рейтинг: 0 / 0
12.03.2017, 21:16
    #39417700
Дедушка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
а Дмитрийнужно ли использовать sql_variant?
или заложить заранее нужное количество типов?очередной (под номером 100500) с горящими глазами и мега идеей использовать реляционные БД с динамически расширяемой схемой...
перестаньте ж уже пихать квадратное в круглое. возьмите nosql базу (на выбор).
и пишите туда хоть key-value, хоть json, хоть целые документы.
...
Рейтинг: 0 / 0
12.03.2017, 21:17
    #39417701
а Дмитрий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
вот набросал небольшую схему, это обобщенная логика.
см. приложение.
...
Рейтинг: 0 / 0
12.03.2017, 21:20
    #39417707
а Дмитрий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
Да согласен, что это увеличит базу в двое как минимум, но ЭТО справочник.

И там объектов максимум до миллиона, а значит база с 2 или даже 5-ю миллионами никого сегодня не удивит.
да и железо все стерпит.

Зато клиент будет прыгать от счастья, что так все быстро.
...
Рейтинг: 0 / 0
12.03.2017, 21:26
    #39417713
а Дмитрий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
Дедушка,

))) насмешил "с горящими глазами" ....
потухли глазки-то и уже давно... жизнь суровая штука...

есть такое понятие как деньги, не мои деньги, а деньги предприятия - это раз.
есть такое, что у предприятие уже куплена система БД - это два.
есть такое, что я работник на этом предприятии и прыгать в сторону дополнительных трат мне запретили, а точнее связали и в чулан кинули...

а ты "горящие глаза" )))
...
Рейтинг: 0 / 0
12.03.2017, 22:04
    #39417747
Злой Бобр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
а Дмитрий,

Любой человек вам скажет что инициатива наказуема. Если ваше руководство забило болт, то и вы должны последовать этому примеру.
Пытаться изменить мир глупо и безрезультатно. И с финансовой стороны не принесет вам никакого профита. Можете конечно пострадать, но в гордом одиночестве.
...
Рейтинг: 0 / 0
12.03.2017, 22:33
    #39417763
Дедушка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
а Дмитрийесть такое понятие как деньги, не мои деньги, а деньги предприятия - это раз.
есть такое, что у предприятие уже куплена система БД - это два.
есть такое, что я работник на этом предприятии и прыгать в сторону дополнительных трат мне запретили, а точнее связали и в чулан кинули...1. адекватный и знающий архитектор БД (раз уж вы выступаете в этой роли) экономит деньги правильным проектированием системы
2. nosql базы бесплатны (в подавляющем большинстве) а, то, что вы хотите "спроектировать" будет жрать деньги на последующем сопровождении (имхо)
3. что вы считаете дополнительными тратами в данном контексте?
...
Рейтинг: 0 / 0
12.03.2017, 22:47
    #39417771
Yo.!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
Дедушка1. адекватный и знающий архитектор БД (раз уж вы выступаете в этой роли) экономит деньги правильным проектированием системы
2. nosql базы бесплатны (в подавляющем большинстве) а, то, что вы хотите "спроектировать" будет жрать деньги на последующем сопровождении (имхо)
3. что вы считаете дополнительными тратами в данном контексте?
дедушка, ваши представления о проектировании 30 лет как не актуальны, эра иерархической дребедени прошла когда ты был молод. тут же типичная задача под реляционную структуру.

Дмитрий, реляционная структура и денормализованный индекс, дублирующий инфу для поиска - нормальный ход. в тяжелых случаях такой индекс вообще выносят куда-то типа apache solr. но у тебя почти вся задача в память уместиться, так что мысль верная.
...
Рейтинг: 0 / 0
12.03.2017, 23:27
    #39417792
Дедушка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
Yo.!дедушка, ваши представления о проектировании 30 лет как не актуальныо а вот и молодые да резвые повылезали :)Yo.!эра иерархической дребедени прошла когда ты был молод.давайте просвятите нас про иерахическую дребедень (интересно, ваш этот "денормализованный индекс" и apache solr не является той самой дребеденью?)Yo.!реляционная структура и денормализованный индекс, дублирующий инфу для поиска - нормальный ходну да, а потом и появляются EAV подобные поделия или как тут у ТС-а табличка [dbo.значения]
(при этом мы не говорим про BOM, а задаём вопросы типа: "нужно ли использовать sql_variant?")Yo.!но у тебя почти вся задача в память уместиться, так что мысль верная.т.е. если всё влезает в память то можно тупо свалить в одну денормализованную кучу, загнать в solr с его по сути кей-вэйлью индексом и всё хор? ну молодчинка вы, что сказать.
впрочем, пустое это всё :)
пусть ТС сделает как хочет, его долго вспоминать будут.
всё исключительно, имхо.
...
Рейтинг: 0 / 0
13.03.2017, 08:03
    #39417838
а Дмитрий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
Спасибо за ответы.

Но в том-то и дело. что я не знаю как хочу ))))).

Пробую и так и сяк.

Кстати с спасибо за напоминание про NoSQL (и что они opnesource)/

Изучаю схему совместного использования SQL и NoSQL ....
...
Рейтинг: 0 / 0
13.03.2017, 16:29
    #39418241
DirksDR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
а Дмитрий,

Не понял, что за типы связи могут быть у объекта с атрибутами. На мой взгляд тип связи один - "является характеристикой объекта".
Не понял смысл таблицы "объект_полный".
Не увидел иерархии. Где связь parent-child, пресловутое дерево?
Для справочника объемом 1млн объектов, подход EAV вполне допустИм. В Ваши 10 сек уложитесь.
Поищите здесь в форуме дискуссии про EAV, там и примеры были и ссылки.
...
Рейтинг: 0 / 0
13.03.2017, 20:37
    #39418435
а Дмитрий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
DirksDR,

Согласен со всеми вашими замечаниями.

Скорее всего они от того что я многое опустил и только наметил общую суть проблемы.

1. "тип_связи" - что же это за зверь такой?
Скорее всего это задел на будущее и дело в том что справочник это не простой, это больше будет напоминать некое хранилище объектов с возможностью отслеживания жизни этих объектов.
ЭРИ-шки имеют такое неприятное свойство как устаревать или быть "забанены" во времени и т.п. и т.д.
Т.е. анализируя перечень ЭКБ за 3-и года пришел к неприятному выводу: со временем атрибуты меняются.... я был немного удивлен.
Эти изменения скорее связаны с новыми технологиями или еще с чем, но получается так.

Еще планируется что атрибуты будут иметь некие состояния для конкретного типа, например
понятие "обязательности" или еще какое нибудь, но для разных объектов один и тот-же атрибут может быть в разных "состояниях"

2. "объект_полный" - тут все просто, моё видение денормализации, а именно
пользоватль-клиент хочет иметь возможность поиска по всей базе сразу, ну не знает он что ему искать, не может определиться диод-ли это или варикап (это все полупроводники) вот и выдает в одну единственную строку поиска запросец.
Ну а имея 1 монолитную таблицу - искать по ней не составит труда.

3. "parent-child" - тут опять же раскрою "туман войны" ))
У нас уже куплена и за немалые деньги MS SQL Server - что есть, то есть
а значит иерархия будет только в типе hierarchyid. Она будет в виде отдельной таблички связана с с типами объектов

4. насчет "EAV" изучил это механизм - он прекрасен спору нет, НО (учитываем то что атрибутов может быть до 100)

- пользователь у нас привередливый и хочет видеть все и сразу ( а я уже напел оду о всемогущности программирования), так что вот теперь хлебаю ))))
- EAV не даст построить статистику по все объектам, дело в том что ЭРИ имеют в арсенале своих атрибутов такое понятие как интервалы возможных характеристик - ИНТЕРВАЛЫ, т.е. номинал и возможные разбросы. (проблема, которую еще решаю)


Надеюсь немного раскрыл проблематику поставленного вопроса....

Жду камней в свой огород.... желательно драгоценных )))
...
Рейтинг: 0 / 0
14.03.2017, 08:58
    #39418587
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
а Дмитрий4. сами же типы эри, жизнь как всегда с сюрпризом, имеют иерархическую структуру.....

Если кто сталкивался с похожей задачей, подскажите куда посмотреть, может уже есть готовое решение (неважно платно или нет).

конечно , это не совсем ваш случай, но идея может поможет(аксесс)
--примерно 60-80т материалов и деталей(задача Состав изделия)
--требуется поиск по изделию/цеху/гравировке/наименованию/.........
--все нечеткое(никто не знает точно названий, списки не годятся)
--набирается, что знают(например изд=101, гайка, размер 12)
--высвечиваются кандидаты
--если выбрано много строк --можно уточнить, например ввести гост (подсмотрев его в одной из строк)
--выборка уменьшится

это первый этап

второй --в какие изделия/узлы/сборки входит , из чего состоит
выбираем в первой ленточной форме нужную строку и получаем информацию в виде

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

при клике на какой-то строке --дается подобная информация уже по ней
применяли все цеха завода и отделы , которые работали с задачей
...
Рейтинг: 0 / 0
14.03.2017, 09:10
    #39418591
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
а Дмитрий,

успех задачи Состав изделия привел к созданию подобных оболочек для кадров, прихода материалов, счетов фактур,....

затем появился случай, ближе к вашему
--около 40 типов объектов, число атрибутов до 30,
--выделили 5 общих
общий код

имя таблицы

код в таблице

описание, в которое собрали и иерархию и все реквизиты, кроме рисунков


далее все тот же поиск по принципу, что знают, то и ищут
конд*12*ту*1111

был вариант, учитывающий порядок слов для поиска(таблицы создавались десятки лет, грязной набивки было много, практически доверять можно было только цифрам из-за обилия сокращений)
поиск алм круг 12*60 находил и круг алм 12*60
поиск асм 12*60 находил круг асм 12*60
...
Рейтинг: 0 / 0
14.03.2017, 10:03
    #39418617
DirksDR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
а Дмитрий,

1. В таблицу значений надо добавить поле start_date (и м.б. end_date). Это будет время жизни (актуальности значения).
Поле status тоже можно добавить.
автор "parent-child" - ... иерархия будет только в типе hierarchyid.
Связь с родителем, как один из атрибутов объекта? Слышал про такой подход, но не встречал в практике.
Обычно это отдельная таблица (parent_id, child_id), тут тебе и "многие-ко-многим" можно реализовать, т.е. много разных иерархий.
автор Она (иерархия?) будет в виде отдельной таблички связана с типами объектов
С типами объектов? Не с экземплярами?
Рекомендую добавить таблицу "шаблон", в которой д.б. прописана связь типа объекта с атрибутным составом. Там же м.б. доп.информация по обработке данного типа атрибута на данном типе объекта.
автор насчет "EAV" изучил это механизм - он прекрасен спору нет, НО (учитываем то что атрибутов может быть до 100)
Чем больше атрибутов, тем более оправдано применение EAV.
автор EAV не даст построить статистику по все объектам, дело в том что ЭРИ имеют в арсенале своих атрибутов такое понятие как интервалы возможных характеристик - ИНТЕРВАЛЫ, т.е. номинал и возможные разбросы. (проблема, которую еще решаю)
Границы интервалов можно реализовать как еще один (или два) типа атрибутов - "левая граница" и "правая граница".

Дедушка т.е. если всё влезает в память то можно тупо свалить в одну денормализованную кучу, загнать в solr с его по сути кей-вэйлью индексом и всё хор? ну молодчинка вы, что сказать.
Вы знаете, EAV замечательно ложится на "кей-вэлью". И гибко, и быстро. Если, конечно, не "тупо свалить в одну денормализованную кучу":)
...
Рейтинг: 0 / 0
14.03.2017, 11:18
    #39418685
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
Вы знаете, EAV замечательно ложится на "кей-вэлью". И гибко, и быстро. Если, конечно, не "тупо свалить в одну денормализованную кучу":) +500. Но многие этого не понимают.
Главное - правильно реализовать EAV. Тогда скорость будет не то чтобы бешенной, но вполне на приемлемом уровне.
Применение хорошей SQL СУБД поможет сделать это оптимально и гибко.
...
Рейтинг: 0 / 0
14.03.2017, 14:26
    #39418946
аля1с
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
а ДмитрийПриветствую всех.

Может уже кто сталкивался с похожей проблемой, может кто и реализовал ее.
Но я на сегодняшний день не нашел ни платного ни безплатного решения данной темы.

Задача создать справочник ЭРИ (электрорадиоизделия), который был бы похож именно на справочник, а именно:

1. скорость выполнения любого запроса около 10 сек.

2. отображение всех ЭРИ сразу в одной таблице (во загнул-то, но уже нашел способ как это сделать), т.е.
клиент визуально работает с одной таблицей, но в зависимости от типа ЭРИ в этой таблице есть группы со своими псевдо-названиями столбцов.
в итоге имеем практически мгновенный доступ к поиску по всей базе

3. атрибутов у каждого типа эри может быть до 100-и, да вот такая пакость, уж очень много их начиная от стандартных и заканчивая специфическими для каждого типа.

4. сами же типы эри, жизнь как всегда с сюрпризом, имеют иерархическую структуру.

За основу берется "Перечень электронной компонентной базы, разрешенной для применения при разработке, модернизации, производстве и эксплуатации вооружения, военной и специальной техники" - перечень ЭКБ.

Если кто сталкивался с похожей задачей, подскажите куда посмотреть, может уже есть готовое решение (неважно платно или нет).
Или попробуем создать сами, все вместе?

Жду все ваши комментарии и плохие и хорошие, только без мата....чиста
ИМХО

как минимум
нужно опрелелиться
в - Терминах

а
то
так - можно далеко-далёко
в НЕПОНИМАНИЕ
войти

так - что
аж решения - не будет

тады - печаль ..
...
Рейтинг: 0 / 0
14.03.2017, 16:07
    #39419045
а Дмитрий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
Всем спасибо за ответы.

Анализирую их.

И вы в общем правы, от меня начальство хочет как я понимаю намного большего чем простой справочник )).

На данный момент все анализирую и прикидываю... результат для удовлетворения любопытства выложу по позже.
...
Рейтинг: 0 / 0
18.03.2017, 13:08
    #39422109
1121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД справочника электрорадиоизделий
а ДмитрийВсем спасибо за ответы.

Анализирую их.

И вы в общем правы, от меня начальство хочет как я понимаю намного большего чем простой справочник )).

На данный момент все анализирую и прикидываю... результат для удовлетворения любопытства выложу по позже.
ну да
оно
хочет -результ


для тя это - движняк
...))ь


оу
вау
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / БД справочника электрорадиоизделий / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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