|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
вдогонку:Основные параметры для поиска ввести в главные таблицы по типу элемента -а все подробности из интернета как-то так ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2020, 13:06 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
bratint pureproft Т.е. с какими запросами (и я сейчас не про SQL, а про простой житейский) к за данными будут обращаться. Кстати, и ещё: там используют САПР, которая должна брать информацию из этой БД. А для этого нужно, чтобы таблицы компонентов в БД имели определённую структуру, именно вида "наименование"-"номинал"-"корпус"-..., и чтобы атрибуты имели соответствующий тип данных. Так это ключевой момент. Тогда что бы что то обсуждать нужно понимать механизмы обращения из вашей внешней подсистемы, нужен ли ей полный доступ или достаточно только результаты запросов оформить в понятном ей формализованном виде. Это часто ключевой момент. Информация на экране ли или информация в ответе на запрос из внешней подсистемы не обязана соответствовать тому как она условно лежит на диске. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2020, 13:10 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
bratint .... у большинства пассивных компонентов все эти свойства зашифрованы в названии, так что их не прийдётся вручную забивать.... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2020, 13:24 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
И еще:прошу пардон-запамятовал гиперссылка ж вообще по полю,а не по полю в записи ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2020, 14:06 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
pureproft ...Это часто ключевой момент. Информация на экране ли или информация в ответе на запрос из внешней подсистемы не обязана соответствовать тому как она условно лежит на диске. Я так думаю! (Мимино) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2020, 14:12 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
pureproft Так это ключевой момент. Тогда что бы что то обсуждать нужно понимать механизмы обращения из вашей внешней подсистемы, нужен ли ей полный доступ или достаточно только результаты запросов оформить в понятном ей формализованном виде. Это часто ключевой момент. Информация на экране ли или информация в ответе на запрос из внешней подсистемы не обязана соответствовать тому как она условно лежит на диске. Вот здесь я сходу не смогу ответить: это задача из разряда "в перспективе", а не "в первую очередь", поэтому пока не вникал глубоко в вопрос. Посмотрю в понедельник, можно ли там "подцепить" запрос, или только таблицу. Но в общем виде принцип такой: указывается целевая база данных, в ней - выбираются таблицы резисторов, конденсаторов и т.п., и для каждой таблицы указывается соответствие между столбцами таблицы и параметрами компонентов в САПРе. Доступ к базе через ODBC. sdku Это ж какие такие свойства зашифрованы в названии С1-4 или С2-10? У импортных, как правило, нормальный part number - RC0805FR-07300KL, CL05A225KP5NSNC, CC0201JRNPO9BN220 и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2020, 14:13 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
[quot sdku#22205033] pureproft ...Это часто ключевой момент. Информация на экране ли или информация в ответе на запрос из внешней подсистемы не обязана соответствовать тому как она условно лежит на диске. Я так думаю! (Мимино) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2020, 14:16 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
bratint ...У импортных, как правило, нормальный part number - RC0805FR-07300KL, CL05A225KP5NSNC, CC0201JRNPO9BN220 и т.п. КТ-668(А-В)-его аналог ВС-556\557\558\559\560 очень информативно-а если еще вести учет и по поставщику (part numder)...... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2020, 14:31 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
sdku Для нормальной САПР должно хватить названия\типа(С1-4, номинала,мощности и типа корпуса,если это активный элемент) Я так думаю! (Мимино) В принципе, там действительно достаточно названия и основных характеристик, плюс ещё PCB Footprint и Schematic Symbol, и информация о наличии. sdku Живя в России Вы будете использовать только импортные элементы КТ-668(А-В)-его аналог ВС-556\557\558\559\560 очень информативно-а если еще вести учет и по поставщику (part numder)...... Ну, это уже не мой вопрос: на практике там большинство используемых компонентов - импортные. С активными компонентами - да, несколько сложнее, но применительно к ним и не стоит задачи перечислить все возможные характеристики. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2020, 14:34 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
bratint это задача из разряда "в перспективе", а не "в первую очередь" Если зарплату заплатят за "в первую очередь" а потом ещё раз за "в перспективе", что там в вашей САПР по барабану. А если серьёзно, то через ODBC наверняка можно будет подсунуть результаты (опускаем сейчас чьи, речь же шла о том, что сервер предполагается какой то другой ) в нужном формате и это не накладывает на хранение особых требований. У вас есть какой то массив для тестов по нескольким типам в csv,xls, ... что бы не придумывать? Проще показать, чем рассказать. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2020, 14:37 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
И у вас же точно нет задачи делать интерфейс для ручного наполнения, вся инфа ведь должна приходить из чужих прайсов, справочников, ... ? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2020, 14:48 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
pureproft У вас есть какой то массив для тестов по нескольким типам в csv,xls, ... что бы не придумывать? Проще показать, чем рассказать. В смысле, таблицы с перечнем компонентов? Есть, в Акцессе, правда, типизация там пока реализована в "зачаточной" форме. Смогу в понедельник выложить. pureproft И у вас же точно нет задачи делать интерфейс для ручного наполнения, вся инфа ведь должна приходить из чужих прайсов, справочников, ... ? Есть, но это - не проблема. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2020, 14:52 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
Не важно как она сейчас реализована, мне просто, что бы не придумывать и не искать, я на основе ваших данных смоделирую массив в объёмах о которых шла речь, т.е. несколько десятков тысяч и посмотрим, есть ли хоть какие то основания задумываться о том, что у вас выше прозвучало по поводу текстового хранения и производительности. p.s. я почту в профиле открыл, можно на неё. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2020, 15:05 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
Я похожую задачу решил так: Есть таблица код переменной - наименование переменной - ( доп информация о переменной) А значения храню в дугой Код детали - код переменной - значение переменной работать с такой структурой посложней, да... Но зато при добавлении новой переменной основные процедуры-запросы переписывать не приходится. И мне очень не хотелось создавать несколько десятков столбцов( которые как выше писали скорее всего будут пустыми) для всего набора переменных.... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 06:50 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
Serg197311 Я похожую задачу решил так: Есть таблица код переменной - наименование переменной - ( доп информация о переменной) А значения храню в дугой Код детали - код переменной - значение переменной работать с такой структурой посложней, да... Но зато при добавлении новой переменной основные процедуры-запросы переписывать не приходится. И мне очень не хотелось создавать несколько десятков столбцов( которые как выше писали скорее всего будут пустыми) для всего набора переменных.... vmag Это EAV Это как суслик, которого не видно, но он точно есть. Т.е. ваша реализация вами может и не названа EAV (суликом), но это он и есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 06:58 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
bratint Появилась ещё одна идея: примерно такая сводная таблица компонентов: idимятипсвойства_резисторысвойства_конденсаторысвойства_микросхемы1RC0402JR-0722RLрезистор92CL31B102KBCNNNCконденсатор53AD9850BRSZмикросхема1 Где значение атрибутов "свойства_..." - id записи в соответствующей таблице характеристик. Соответственно, для каждого типа - отдельная таблица с характеристиками. Недостаток - если всего будет N типов, то в сводной таблице у каждой записи будет N-1 неиспользуемых атрибутов.По-моему это самая правильная идея. Единственное, столбцы "свойства_..." не нужны. В качестве первичного ключа во всех таблицах можно использовать id из сводной таблицы. А столбец "тип" можно использовать для определения типа объекта и на его основе рисовать соответствующую форму и джойнить основную таблицу с правильной таблицей свойств. В принципе, у этого варианта могут быть такие вариации: 1) Вполне возможно, что у разных типов компонентов будут схожие наборы параметров. И можно делать не по одной таблице на каждый тип компонентов, а по одной таблице на каждую группу связанных по смыслу параметров. Например, база магазина бытовой техники: смартфоны, системные блоки, ноутбуки. Наборы параметров могут быть: 1) параметры CPU 2) параметры встроенного GPU 3) параметры дискретного GPU 4) параметры жесткого диска 5) параметры экрана и т.д. У каждого вида объектов может быть свой набор параметров, сгруппированных по смыслу. 2) Можно пойти ещё дальше и нормализовать базу до 6НФ, вынеся каждый атрибут в отдельную таблицу. При этом все атрибуты становятся NOT NULL. Также они все могут стать множественными или историчными при необходимости (например, цена). Упрощается внесение изменений в схему данных: данные в старой структуре лежат как есть, для них не нужно делать никакие миграции, а для новых данных в новой структуре просто добавляем новые таблицы. Такой подход наверное обязателен для хранилищ данных. Для OLTP баз хз, но вроде (я точно не знаю) в том же Avito его используют. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 08:09 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
pureproft Это как суслик, которого не видно, но он точно есть. Т.е. ваша реализация вами может и не названа EAV (суликом), но это он и есть. Упс.... Ей-Богу, буквы EAV увидел в этом топике впервые.... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 09:28 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
Serg197311 Упс.... Ей-Богу, буквы EAV увидел в этом топике впервые.... Все зависит от того как смотреть ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 10:30 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
pureproft Не важно как она сейчас реализована, мне просто, что бы не придумывать и не искать, я на основе ваших данных смоделирую массив в объёмах о которых шла речь, т.е. несколько десятков тысяч и посмотрим, есть ли хоть какие то основания задумываться о том, что у вас выше прозвучало по поводу текстового хранения и производительности. Прилагаю таблицы резисторов и конденсаторов. Другие типы не стал включать, т.к. они сейчас просто в отдельной таблице перечислены без характеристик, так что смысла их приводить нет. Проверил - та СУБД поддерживает получение информации из запросов (по крайней мере в Акцессе); и текстовый формат атрибутов, кстати, тоже. Serg197311 Но зато при добавлении новой переменной основные процедуры-запросы переписывать не приходится. Там их, скорее всего, не понадобится добавлять. Ares_ekb В качестве первичного ключа во всех таблицах можно использовать id из сводной таблицы. А столбец "тип" можно использовать для определения типа объекта и на его основе рисовать соответствующую форму и джойнить основную таблицу с правильной таблицей свойств. Кстати да, точно. Спасибо! При связи 1 к 1 - самое то. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 10:57 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
bratint Проверил - та СУБД поддерживает получение информации из запросов (по крайней мере в Акцессе) В смысле САПР, а не СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 11:18 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
sdku Все зависит от того как смотреть И? я ничо не понял...... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 11:32 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
bratint, Вообще-то у вас получается банальный номенклатурный справочник. Вот и исходите из этого. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 11:39 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
1. Описать интерфейс взаимодействия с сапром (набор полей, которые ему надо скармливать) 2. Описать требования к "складскому учету" 3. Описать требования к интерфейсу пользователя (что ему надо получать из базы) По всем пунктам определить минимальный набор полей, позволяющий реализовать все пункты. Рисовать схему по "минимальному" набору полей. Не делать себе мозги по поводу глобальной универсальной схемы, а реализовать пробный вариант на простых рабочекрестьянских справочниках - под каждый тип, своя таблица. По моему скромному мнению... Тут осуществляется попытка простое сделать сложным. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 11:47 |
|
Архитектура базы данных для хранения информации о разнородных объектах
|
|||
---|---|---|---|
#18+
bratint, Например RC1206FR-072ML Кол-во в упаковке: 5000, Корпус: SMD120632X16MM Номинальное сопротивление: 2 МОм, Нормированный допуск: 1%, Рассеиваемая мощность: 250 мВт, Корпус: SMD 1206, Способ монтажа: smd А вы уверены, что дальше не потребуется EU RoHS Compliant with Exemption ECCN (US) EAR99 Part Status Active Resistance Value (Ohm) 2M Tolerance 1% Maximum Voltage Rating (V) 200 Current Sensing No Power Rating (W) 0.25 (1/4) Technology Thick Film Minimum Operating Temperature (°C) -55 Maximum Operating Temperature (°C) 155 Temperature Coefficient (ppm/°C) ±100 Temperature Range @ Derated Power (°C) 70 to 155 Fail Safe Fusible Resistor No Anti-Surge No Anti-Sulfurated No Case Style Epoxy Case Size 1206 Termination Style Pad Number of Terminals 2 Packaging Tape and Reel Package Type SMD Package Shape Rectangular Package/Case 1206 Product Length (mm) 3.1 Product Depth (mm) 1.6 Product Height (mm) 0.55 Length Tolerance (mm) ±0.1 Depth Tolerance (mm) ±0.1 Height Tolerance (mm) ±0.1 Mounting Surface Mount Вес, г 0.031 Оно конечно сути не меняет, но .... bratint это задача из разряда "в перспективе", а не "в первую очередь" ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 11:57 |
|
|
start [/forum/topic.php?fid=45&msg=40003061&tid=1609921]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
149ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 253ms |
0 / 0 |