|
|
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
Приветствую всех. Может уже кто сталкивался с похожей проблемой, может кто и реализовал ее. Но я на сегодняшний день не нашел ни платного ни безплатного решения данной темы. Задача создать справочник ЭРИ (электрорадиоизделия), который был бы похож именно на справочник, а именно: 1. скорость выполнения любого запроса около 10 сек. 2. отображение всех ЭРИ сразу в одной таблице (во загнул-то, но уже нашел способ как это сделать), т.е. клиент визуально работает с одной таблицей, но в зависимости от типа ЭРИ в этой таблице есть группы со своими псевдо-названиями столбцов. в итоге имеем практически мгновенный доступ к поиску по всей базе 3. атрибутов у каждого типа эри может быть до 100-и, да вот такая пакость, уж очень много их начиная от стандартных и заканчивая специфическими для каждого типа. 4. сами же типы эри, жизнь как всегда с сюрпризом, имеют иерархическую структуру. За основу берется "Перечень электронной компонентной базы, разрешенной для применения при разработке, модернизации, производстве и эксплуатации вооружения, военной и специальной техники" - перечень ЭКБ. Если кто сталкивался с похожей задачей, подскажите куда посмотреть, может уже есть готовое решение (неважно платно или нет). Или попробуем создать сами, все вместе? Жду все ваши комментарии и плохие и хорошие, только без мата.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2017, 18:39 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
а Дмитрий1. скорость выполнения любого запроса около 10 сек. Так тормозные запросы требуют EAV и криворукого разработчика. Иначе не справиться. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2017, 18:49 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Имея достаточный опыт общения с системами построеными на EAV, то применять эту технологию полностью в моем примере не получиться, иначе построение запросов будет очень дорого стоить по времени. Я решил что EAV нужен на этапе администрирования и наполнения и редактирования справочника, а вот для клиента... Иду на прямое нарушение нормализации и дублирую информацию в специальных таблицах в виде удобном для клиента ))) С чем столкнулся, так это с типами данных.... нужно ли использовать sql_variant? или заложить заранее нужное количество типов? ... думаем... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2017, 19:03 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
Попробуйте использовать хранимые процедуры с временными таблицами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2017, 20:28 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
а Дмитрийнужно ли использовать sql_variant? или заложить заранее нужное количество типов?очередной (под номером 100500) с горящими глазами и мега идеей использовать реляционные БД с динамически расширяемой схемой... перестаньте ж уже пихать квадратное в круглое. возьмите nosql базу (на выбор). и пишите туда хоть key-value, хоть json, хоть целые документы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2017, 21:16 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
вот набросал небольшую схему, это обобщенная логика. см. приложение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2017, 21:17 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
Да согласен, что это увеличит базу в двое как минимум, но ЭТО справочник. И там объектов максимум до миллиона, а значит база с 2 или даже 5-ю миллионами никого сегодня не удивит. да и железо все стерпит. Зато клиент будет прыгать от счастья, что так все быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2017, 21:20 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
Дедушка, ))) насмешил "с горящими глазами" .... потухли глазки-то и уже давно... жизнь суровая штука... есть такое понятие как деньги, не мои деньги, а деньги предприятия - это раз. есть такое, что у предприятие уже куплена система БД - это два. есть такое, что я работник на этом предприятии и прыгать в сторону дополнительных трат мне запретили, а точнее связали и в чулан кинули... а ты "горящие глаза" ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2017, 21:26 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
а Дмитрий, Любой человек вам скажет что инициатива наказуема. Если ваше руководство забило болт, то и вы должны последовать этому примеру. Пытаться изменить мир глупо и безрезультатно. И с финансовой стороны не принесет вам никакого профита. Можете конечно пострадать, но в гордом одиночестве. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2017, 22:04 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
а Дмитрийесть такое понятие как деньги, не мои деньги, а деньги предприятия - это раз. есть такое, что у предприятие уже куплена система БД - это два. есть такое, что я работник на этом предприятии и прыгать в сторону дополнительных трат мне запретили, а точнее связали и в чулан кинули...1. адекватный и знающий архитектор БД (раз уж вы выступаете в этой роли) экономит деньги правильным проектированием системы 2. nosql базы бесплатны (в подавляющем большинстве) а, то, что вы хотите "спроектировать" будет жрать деньги на последующем сопровождении (имхо) 3. что вы считаете дополнительными тратами в данном контексте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2017, 22:33 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
Дедушка1. адекватный и знающий архитектор БД (раз уж вы выступаете в этой роли) экономит деньги правильным проектированием системы 2. nosql базы бесплатны (в подавляющем большинстве) а, то, что вы хотите "спроектировать" будет жрать деньги на последующем сопровождении (имхо) 3. что вы считаете дополнительными тратами в данном контексте? дедушка, ваши представления о проектировании 30 лет как не актуальны, эра иерархической дребедени прошла когда ты был молод. тут же типичная задача под реляционную структуру. Дмитрий, реляционная структура и денормализованный индекс, дублирующий инфу для поиска - нормальный ход. в тяжелых случаях такой индекс вообще выносят куда-то типа apache solr. но у тебя почти вся задача в память уместиться, так что мысль верная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2017, 22:47 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
Yo.!дедушка, ваши представления о проектировании 30 лет как не актуальныо а вот и молодые да резвые повылезали :)Yo.!эра иерархической дребедени прошла когда ты был молод.давайте просвятите нас про иерахическую дребедень (интересно, ваш этот "денормализованный индекс" и apache solr не является той самой дребеденью?)Yo.!реляционная структура и денормализованный индекс, дублирующий инфу для поиска - нормальный ходну да, а потом и появляются EAV подобные поделия или как тут у ТС-а табличка [dbo.значения] (при этом мы не говорим про BOM, а задаём вопросы типа: "нужно ли использовать sql_variant?")Yo.!но у тебя почти вся задача в память уместиться, так что мысль верная.т.е. если всё влезает в память то можно тупо свалить в одну денормализованную кучу, загнать в solr с его по сути кей-вэйлью индексом и всё хор? ну молодчинка вы, что сказать. впрочем, пустое это всё :) пусть ТС сделает как хочет, его долго вспоминать будут. всё исключительно, имхо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2017, 23:27 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответы. Но в том-то и дело. что я не знаю как хочу ))))). Пробую и так и сяк. Кстати с спасибо за напоминание про NoSQL (и что они opnesource)/ Изучаю схему совместного использования SQL и NoSQL .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2017, 08:03 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
а Дмитрий, Не понял, что за типы связи могут быть у объекта с атрибутами. На мой взгляд тип связи один - "является характеристикой объекта". Не понял смысл таблицы "объект_полный". Не увидел иерархии. Где связь parent-child, пресловутое дерево? Для справочника объемом 1млн объектов, подход EAV вполне допустИм. В Ваши 10 сек уложитесь. Поищите здесь в форуме дискуссии про EAV, там и примеры были и ссылки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2017, 16:29 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
DirksDR, Согласен со всеми вашими замечаниями. Скорее всего они от того что я многое опустил и только наметил общую суть проблемы. 1. "тип_связи" - что же это за зверь такой? Скорее всего это задел на будущее и дело в том что справочник это не простой, это больше будет напоминать некое хранилище объектов с возможностью отслеживания жизни этих объектов. ЭРИ-шки имеют такое неприятное свойство как устаревать или быть "забанены" во времени и т.п. и т.д. Т.е. анализируя перечень ЭКБ за 3-и года пришел к неприятному выводу: со временем атрибуты меняются.... я был немного удивлен. Эти изменения скорее связаны с новыми технологиями или еще с чем, но получается так. Еще планируется что атрибуты будут иметь некие состояния для конкретного типа, например понятие "обязательности" или еще какое нибудь, но для разных объектов один и тот-же атрибут может быть в разных "состояниях" 2. "объект_полный" - тут все просто, моё видение денормализации, а именно пользоватль-клиент хочет иметь возможность поиска по всей базе сразу, ну не знает он что ему искать, не может определиться диод-ли это или варикап (это все полупроводники) вот и выдает в одну единственную строку поиска запросец. Ну а имея 1 монолитную таблицу - искать по ней не составит труда. 3. "parent-child" - тут опять же раскрою "туман войны" )) У нас уже куплена и за немалые деньги MS SQL Server - что есть, то есть а значит иерархия будет только в типе hierarchyid. Она будет в виде отдельной таблички связана с с типами объектов 4. насчет "EAV" изучил это механизм - он прекрасен спору нет, НО (учитываем то что атрибутов может быть до 100) - пользователь у нас привередливый и хочет видеть все и сразу ( а я уже напел оду о всемогущности программирования), так что вот теперь хлебаю )))) - EAV не даст построить статистику по все объектам, дело в том что ЭРИ имеют в арсенале своих атрибутов такое понятие как интервалы возможных характеристик - ИНТЕРВАЛЫ, т.е. номинал и возможные разбросы. (проблема, которую еще решаю) Надеюсь немного раскрыл проблематику поставленного вопроса.... Жду камней в свой огород.... желательно драгоценных ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2017, 20:37 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
а Дмитрий4. сами же типы эри, жизнь как всегда с сюрпризом, имеют иерархическую структуру..... Если кто сталкивался с похожей задачей, подскажите куда посмотреть, может уже есть готовое решение (неважно платно или нет). конечно , это не совсем ваш случай, но идея может поможет(аксесс) --примерно 60-80т материалов и деталей(задача Состав изделия) --требуется поиск по изделию/цеху/гравировке/наименованию/......... --все нечеткое(никто не знает точно названий, списки не годятся) --набирается, что знают(например изд=101, гайка, размер 12) --высвечиваются кандидаты --если выбрано много строк --можно уточнить, например ввести гост (подсмотрев его в одной из строк) --выборка уменьшится это первый этап второй --в какие изделия/узлы/сборки входит , из чего состоит выбираем в первой ленточной форме нужную строку и получаем информацию в виде гравировканаименованиеизделияцехатрудоемкостьвходит всб гравировканаименованиецехатрудоемкостьсб гравировканаименованиецехатрудоемкостьсб гравировканаименованиецехатрудоемкостьсб гравировканаименованиецехатрудоемкостьсб гравировканаименованиецехатрудоемкостьсостоит из гравировканаименованиецехатрудоемкостьсб гравировканаименованиецехатрудоемкостьсб гравировканаименованиецехатрудоемкостьсб гравировканаименованиецехатрудоемкость при клике на какой-то строке --дается подобная информация уже по ней применяли все цеха завода и отделы , которые работали с задачей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 08:58 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
а Дмитрий, успех задачи Состав изделия привел к созданию подобных оболочек для кадров, прихода материалов, счетов фактур,.... затем появился случай, ближе к вашему --около 40 типов объектов, число атрибутов до 30, --выделили 5 общих общий код имя таблицы код в таблице описание, в которое собрали и иерархию и все реквизиты, кроме рисунков далее все тот же поиск по принципу, что знают, то и ищут конд*12*ту*1111 был вариант, учитывающий порядок слов для поиска(таблицы создавались десятки лет, грязной набивки было много, практически доверять можно было только цифрам из-за обилия сокращений) поиск алм круг 12*60 находил и круг алм 12*60 поиск асм 12*60 находил круг асм 12*60 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 09:10 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
а Дмитрий, 1. В таблицу значений надо добавить поле start_date (и м.б. end_date). Это будет время жизни (актуальности значения). Поле status тоже можно добавить. автор "parent-child" - ... иерархия будет только в типе hierarchyid. Связь с родителем, как один из атрибутов объекта? Слышал про такой подход, но не встречал в практике. Обычно это отдельная таблица (parent_id, child_id), тут тебе и "многие-ко-многим" можно реализовать, т.е. много разных иерархий. автор Она (иерархия?) будет в виде отдельной таблички связана с типами объектов С типами объектов? Не с экземплярами? Рекомендую добавить таблицу "шаблон", в которой д.б. прописана связь типа объекта с атрибутным составом. Там же м.б. доп.информация по обработке данного типа атрибута на данном типе объекта. автор насчет "EAV" изучил это механизм - он прекрасен спору нет, НО (учитываем то что атрибутов может быть до 100) Чем больше атрибутов, тем более оправдано применение EAV. автор EAV не даст построить статистику по все объектам, дело в том что ЭРИ имеют в арсенале своих атрибутов такое понятие как интервалы возможных характеристик - ИНТЕРВАЛЫ, т.е. номинал и возможные разбросы. (проблема, которую еще решаю) Границы интервалов можно реализовать как еще один (или два) типа атрибутов - "левая граница" и "правая граница". Дедушка т.е. если всё влезает в память то можно тупо свалить в одну денормализованную кучу, загнать в solr с его по сути кей-вэйлью индексом и всё хор? ну молодчинка вы, что сказать. Вы знаете, EAV замечательно ложится на "кей-вэлью". И гибко, и быстро. Если, конечно, не "тупо свалить в одну денормализованную кучу":) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 10:03 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
Вы знаете, EAV замечательно ложится на "кей-вэлью". И гибко, и быстро. Если, конечно, не "тупо свалить в одну денормализованную кучу":) +500. Но многие этого не понимают. Главное - правильно реализовать EAV. Тогда скорость будет не то чтобы бешенной, но вполне на приемлемом уровне. Применение хорошей SQL СУБД поможет сделать это оптимально и гибко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 11:18 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
а ДмитрийПриветствую всех. Может уже кто сталкивался с похожей проблемой, может кто и реализовал ее. Но я на сегодняшний день не нашел ни платного ни безплатного решения данной темы. Задача создать справочник ЭРИ (электрорадиоизделия), который был бы похож именно на справочник, а именно: 1. скорость выполнения любого запроса около 10 сек. 2. отображение всех ЭРИ сразу в одной таблице (во загнул-то, но уже нашел способ как это сделать), т.е. клиент визуально работает с одной таблицей, но в зависимости от типа ЭРИ в этой таблице есть группы со своими псевдо-названиями столбцов. в итоге имеем практически мгновенный доступ к поиску по всей базе 3. атрибутов у каждого типа эри может быть до 100-и, да вот такая пакость, уж очень много их начиная от стандартных и заканчивая специфическими для каждого типа. 4. сами же типы эри, жизнь как всегда с сюрпризом, имеют иерархическую структуру. За основу берется "Перечень электронной компонентной базы, разрешенной для применения при разработке, модернизации, производстве и эксплуатации вооружения, военной и специальной техники" - перечень ЭКБ. Если кто сталкивался с похожей задачей, подскажите куда посмотреть, может уже есть готовое решение (неважно платно или нет). Или попробуем создать сами, все вместе? Жду все ваши комментарии и плохие и хорошие, только без мата....чиста ИМХО как минимум нужно опрелелиться в - Терминах а то так - можно далеко-далёко в НЕПОНИМАНИЕ войти так - что аж решения - не будет тады - печаль .. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 14:26 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
Всем спасибо за ответы. Анализирую их. И вы в общем правы, от меня начальство хочет как я понимаю намного большего чем простой справочник )). На данный момент все анализирую и прикидываю... результат для удовлетворения любопытства выложу по позже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 16:07 |
|
||
|
БД справочника электрорадиоизделий
|
|||
|---|---|---|---|
|
#18+
а ДмитрийВсем спасибо за ответы. Анализирую их. И вы в общем правы, от меня начальство хочет как я понимаю намного большего чем простой справочник )). На данный момент все анализирую и прикидываю... результат для удовлетворения любопытства выложу по позже. ну да оно хочет -результ для тя это - движняк ...))ь оу вау ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2017, 13:08 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=39418591&tid=1540194]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
75ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 421ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...