реклама на сайте
подробности

 
 
> БД для Allegro CIS, Практические вопросы, от простого к сложному.
John Silver
сообщение Jun 27 2011, 23:57
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 206
Регистрация: 14-06-06
Из: Могилев
Пользователь №: 18 059



Предлагаю все же заняться практическими вопросами построения базы, и подключения ее к CIS.
Для новичков, от простого к сложному.
Кто хочет похоливарить на тему "у кого база самая базистая" прошу пройти сюда.

Сейчас насущный вопрос:
Сделать релятивную базу в Access по следующей схеме
Прикрепленное изображение

1 Как сделать запрос, что бы сохранилась возможность задавать несколько корпусов для одного резистора?
Простой запрос не позволяет этого сделать
Код
SELECT Resistor.[Part Number], Resistor.[Part Type], Resistor.Value, Resistor.Tolerance, Resistor.[Schematic Part], Footprint.Footprint, Resistor.[Part name], Resistor.Value1, Resistor.Manufacturer
     FROM Footprint INNER JOIN Resistor ON Footprint.Footprint_ID = Resistor.Footprint_ID;

help.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
John Silver
сообщение Aug 3 2011, 13:12
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 206
Регистрация: 14-06-06
Из: Могилев
Пользователь №: 18 059



Ну не дошли мы до этого. Не вижу я удобства в одной таблице.
И ваще, что-то как-то в Access не делается по-быстрому нормальная релятивная база.
Хотите серьезно и надолго - поднимайте сервак с нормальной базой, продумывайте структуру, иерархию, пишите доп. тулзовины.
Вощем, я остыл к этой теме, пользуюсь тем, что есть и особо не парюсь.
Go to the top of the page
 
+Quote Post
Буратино
сообщение Aug 3 2011, 15:40
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Цитата(John Silver @ Aug 3 2011, 16:12) *
Ну не дошли мы до этого. Не вижу я удобства в одной таблице.

Это от того что ваша база (реальная или гипотетически возможная) спроектирована до уровня на котором вносятся данные в систему, а этап с анализом и выборкой информации пока остается "за кадром". Как только понадобится вынимать что-то из БД, вот тогда любое излишнее дробление вылазит боком.
Сама суть связывания Альтиума с внешними таблицами/базой данных сводится к тому, чтобы тиражировать записи в таблицах вместо того чтобы дублировать модели компонентов. При этом (и это на мой взгляд самое важное) с конкретным компонентом и его номиналом связывается уникальный идентификатор/ключ. Вот это сила.

Цитата(John Silver @ Aug 3 2011, 16:12) *
И ваще, что-то как-то в Access не делается по-быстрому нормальная релятивная база.
Хотите серьезно и надолго - поднимайте сервак с нормальной базой, продумывайте структуру, иерархию, пишите доп. тулзовины.
Вощем, я остыл к этой теме, пользуюсь тем, что есть и особо не парюсь.

Не устаю повторять: Акцесс не хуже, всех остальных инструментов ,все у него есть и даже возможность строить настоящие клиент-серверные решения. Более того, я бы ввел изучения этой программы в первые классы школ. Это удивительная прога ,многогранная и гибкая. С момента выхода "1997" версии ,кто-то там в Микрософте уволился из ведущих разработчиков или менеджеров этой платформы, но даже последние версии еще вполне работоспособны.
Я лично пользуюсь Access как инструментом для решения широкого круга задач, вот например в последний раз строил систему, которая проанализировала слова в даташите на АТМегу32Ю, руководстве на компилятор ИАР и юзер мануале для сликедитора. В качестве результата имею словарь с показателями плотности слов, что-то типа "дисперсии" и алфавитными сортировками, как отдельно по документам/главам/абзацам строкам так и по группе документов из списка. За чашкой чая, и я ведь не программист как бэ.

Цитата(John Silver @ Aug 3 2011, 16:12) *
Вощем, я остыл к этой теме, пользуюсь тем, что есть и особо не парюсь.

Все зависит от целей которые вы ставите перед собой: если эти цели "не парится" то это одно ,если вам нужен инструмент, то это другое.

Цитата(lazarev andrey @ Aug 3 2011, 08:52) *
снова практический вопрос.


Основная таблица/хранилище должна содержать 5полей:
ID Длинное целое
ParentID Длинное целое
Name Текстовый255
Library Ref Текстовый50
Footprint Ref Текстовый50

Только этого уже достаточно чтобы построить дерево компонентов.

Если предприятию необходимо что-то кроме того что уже есть - добавить функциональную таблицу(Ы) и связаться по ID
Library Ref , Footprint Ref можно заменить внешними ключами с ссылкой на справочник, но в моем случае достаточно и этого.
Футпринты и УГО хранить в одних файлах а не создавать по 10 штук для каждого типа полупроводника. Вот тогда будет и красота на схемах и порядок на платах.
---
Это вы еще не добрались до перебросов в солидворкс плат ,вот там без правильной БД и обвяза стройного ваще нефиг делать.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
vitan
сообщение Aug 3 2011, 16:46
Сообщение #4


не указал(а) ничего о себе.
******

Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887



Дежавю...
Вторую картинку как-то я уже комментировал, похоже.
Не поленюсь и еще раз.
Такая классификация некорректна, ибо она сделана сразу по нескольким признакам.
Корректной считаю, например, такую, как на моей картинке. sm.gif
Вообще мое мнение по этому поводу с тех пор не изменилось, в том топике все подробно расписано.
Просто хочу предостеречь новичков...
Go to the top of the page
 
+Quote Post
Буратино
сообщение Aug 4 2011, 04:11
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Цитата(vitan @ Aug 3 2011, 19:46) *
Дежавю...
Вторую картинку как-то я уже комментировал, похоже.
Не поленюсь и еще раз.
Такая классификация некорректна, ибо она сделана сразу по нескольким признакам.
Корректной считаю, например, такую, как на моей картинке. sm.gif
Вообще мое мнение по этому поводу с тех пор не изменилось, в том топике все подробно расписано.
Просто хочу предостеречь новичков...

Я работаю на маленьком предприятии и большой практики по интеграции работы конструктора и моей пока не наблюдается, однако уже сейчас все спецификации (разделы оной) и перечня я готовлю из своих баз. На повестке дня переброс дизайна готовой платы в Солид, и тут не менее актуальна четкая система и уникальные идентификаторы компонентов. Такая классификация создана именно под эти цели ,других пока не вижу. Более того если даже и увижу то изначально система ориентирована на возможность перестройки и перекомпоновки иерархий, однако в таком случае потеряется связь PCB проектов. Получается как бы две формы хранения моделей для Альтиума: одна это связки моделей в компонент, а другая это базирование компонента в иерархии классификаций. Вот в моем случае первая форма остается тождественной любым перемещениям компонента, а вторая, естественно, страдает. В Вашем случае (с разнесенными библиотеками и отсутствием иерархии и сортировки в группе) классификация есть чисто номинально, формально, но ее нет для цепочек конструктор-конструктор или коструктор-склад. Поправьте меня если я ошибаюсь.

Цитата(John Silver @ Aug 3 2011, 23:33) *
Да, был у нас курс, что то вроде "Программирование .... для магистров". Вроде пытались привить любовь к VB for App. Вот де вам Excell, а вот вам и VB, а теперь мы можем делать с ячейками все, что захотим. Но я удачно отмазался от VB и cдал итоговою работу на VHDL. Не лежит душа к бэйсику, не приживается. Вроде много можно сделать, но как то все кривовато. Может я не умею его готовить? (это риторический вопрос, не надо на него отвечать biggrin.gif )

Да при чем тут бейсик? Фишка Accessa не в VBA, а в SQL + DAO(ADO) . И нет никакой разницы что бейсик что С++, ибо используются методы и свойства объектной модели по доступу к данным из рел. хранилищ. А популярен акцесс в силу своей дружественности и простоты. Немаловажным является поддержка макросов , конструкторов, "быстрых" форм и встроенного генератора отчетов. Ну и VBA нельзя сбрасывать со счетов, чес слово все там для своего времени четка.


Цитата(John Silver @ Aug 3 2011, 23:33) *
Вот скажите, Буратино, если все возможно в Access, почему вы молчите и не подскажете, как решить задачу описанную в посте №№3-5?

Во-первых кто я такой чтоб кому-то что-то советовать? До этого момента я ограничивался только высказыванием своего личного мнения, возможно, это и похоже по форме и содержанию на советы, но на самом деле я гораздо скромнее, чем могу показаться.
Во-вторых, за годы жизни и общения в интернетах, у меня сложилось впечатление, что помимо моих "советов" в этом вопросе, как минимум, еще необходимо умение слушать и слышать.

Цитата(John Silver @ Aug 3 2011, 23:33) *
Ключевая фраза. Ответ - не надо. Думал можно малой кровью сделать для себя немножко поудобнее, но ...

Внимательно перечитайте посты вверх: согласитесь, я Вас ни в коем случае не отговариваю от такого решения, я лишь обратил внимание на то, что Microsoft Access тут ни при чем.


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
vitan
сообщение Aug 4 2011, 19:10
Сообщение #6


не указал(а) ничего о себе.
******

Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887



Цитата(Буратино @ Aug 4 2011, 08:11) *
Я работаю на маленьком предприятии и большой практики по интеграции работы конструктора и моей пока не наблюдается, однако уже сейчас все спецификации (разделы оной) и перечня я готовлю из своих баз. На повестке дня переброс дизайна готовой платы в Солид, и тут не менее актуальна четкая система и уникальные идентификаторы компонентов. Такая классификация создана именно под эти цели ,других пока не вижу.я

Я что-то никак в толк не возьму: чем именно такая классификация помогает перебрасывать в солид, почему другая не поможет, и вообще, как эти вещи связаны?

Цитата(Буратино @ Aug 4 2011, 08:11) *
Более того если даже и увижу то изначально система ориентирована на возможность перестройки и перекомпоновки иерархий, однако в таком случае потеряется связь PCB проектов.

Если за идентификаторы компонентов берется то, что у Вас на картинках в поле NAME, то ясно дело, потеряется. Потому что там, извините, бардак. Чтобы такого не было, надо отличать компоненты по неким уникальным ID. Вы тоже об этом постоянно говорите, но, похоже, Вы думаете, что это ID должно быть простым числом. Если так (нет - поправьте), то советую применять для компонентов не числа, а т.н. корпоративный партнамбер. В качестве него смело можно использовать код заказа компонента из даташита. Этот вопрос уже обсуждался где-то в интернете несколько раз, в т.ч. и здесь, так вот: вряд ли кому-то удастся найти два разных компонента с одинаковым кодом заказа. И это среди всего многообразия. Но я, тем не менее, советую для кодов заказа вести отдельную колонку в таблице. Почему - расскажу, если кому-то это надо.

Цитата(Буратино @ Aug 4 2011, 08:11) *
Получается как бы две формы хранения моделей для Альтиума: одна это связки моделей в компонент, а другая это базирование компонента в иерархии классификаций. Вот в моем случае первая форма остается тождественной любым перемещениям компонента, а вторая, естественно, страдает. В Вашем случае (с разнесенными библиотеками и отсутствием иерархии и сортировки в группе) классификация есть чисто номинально, формально, но ее нет для цепочек конструктор-конструктор или коструктор-склад. Поправьте меня если я ошибаюсь.

Я вспомнил, о чем мы давно говорили. Вы говорили, что в базе надо хранить компоненты в порядке возрастания параметров, чтобы в КД потом писать. Так?
Я тогда уже говорил, что сортировка выполняется совершенно спокойно путем извлечения в запросе столбца со значением емкости, к примеру. При этом никакие цепочки не рвутся, и ГОСТ не нарушается.
Go to the top of the page
 
+Quote Post
Буратино
сообщение Aug 5 2011, 08:31
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Цитата(vitan @ Aug 4 2011, 22:10) *
Если за идентификаторы компонентов берется то, что у Вас на картинках в поле NAME, то ясно дело, потеряется. Потому что там, извините, бардак. Чтобы такого не было, надо отличать компоненты по неким уникальным ID. Вы тоже об этом постоянно говорите, но, похоже, Вы думаете, что это ID должно быть простым числом. Если так (нет - поправьте), то советую применять для компонентов не числа, а т.н. корпоративный партнамбер. В качестве него смело можно использовать код заказа компонента из даташита. Этот вопрос уже обсуждался где-то в интернете несколько раз, в т.ч. и здесь, так вот: вряд ли кому-то удастся найти два разных компонента с одинаковым кодом заказа. И это среди всего многообразия. Но я, тем не менее, советую для кодов заказа вести отдельную колонку в таблице. Почему - расскажу, если кому-то это надо.


на картинке та же таблица только в развернутом (средствами SQL) варианте. Повторяю: это наиболее правильный вариант хранения информации о компонентах и их моделях. Да, можно немного оптимизировать таблицу и ввести вместо наименования моделей ключи на справочники с моделями, но пока такой вариант устраивает.
Цитата(vitan @ Aug 4 2011, 22:10) *
Я вспомнил, о чем мы давно говорили. Вы говорили, что в базе надо хранить компоненты в порядке возрастания параметров, чтобы в КД потом писать. Так?
Я тогда уже говорил, что сортировка выполняется совершенно спокойно путем извлечения в запросе столбца со значением емкости, к примеру. При этом никакие цепочки не рвутся, и ГОСТ не нарушается.


Так и я Вам отвечал уже что не получится у вас алфавитно отсортировать номиналы у тех-же резисторов или конденсаторов, судите сами:
Вот например резисторы в алфавитном порядке:

0.47R
0R
1.2k
1.5k
100
100k
10k
10R
150
15k
180
1k
1M
1R
2.2k
2.7k
200
20R
220
220k
22k
22R
25R
270
2k
2R
3.3k
33k
33R
3M3
4.7
4.7k
40k
470
470k
47k
47R
540
680k
68R
820


Вот в порядке номиналов:

0R
0.47R
1R
2R
4.7
10R
20R
22R
25R
33R
47R
68R
100
150
180
200
220
270
470
540
820
1k
2k
1.2k
1.5k
2.2k
2.7k
3.3k
4.7k
10k
15k
22k
33k
40k
47k
100k
220k
470k
680k
1M
3M3
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- John Silver   БД для Allegro CIS   Jun 27 2011, 23:57
- - vitan   Цитата(John Silver @ Jun 28 2011, 03:57) ...   Jun 28 2011, 07:50
- - John Silver   В CIS есть возможность добавлять новые записи в БД...   Jun 28 2011, 12:02
|- - vitan   Цитата(John Silver @ Jun 28 2011, 16:02) ...   Jun 28 2011, 12:16
|- - lazarev andrey   Цитата(John Silver @ Jun 28 2011, 16:02) ...   Jun 29 2011, 05:23
- - John Silver   Oracle позволяет сделать такой финт прямо в запрос...   Jun 28 2011, 15:15
- - Uree   Самый простой пример - электролитический выводной ...   Jun 29 2011, 07:21
- - John Silver   Ну и на один корпус можно сделать несколько футпри...   Jun 29 2011, 08:07
- - vitan   Господа, хочу напомнить Вам, что корпус компонента...   Jun 29 2011, 08:08
|- - lazarev andrey   Цитата(vitan @ Jun 29 2011, 12:08) Господ...   Jul 1 2011, 08:00
|- - vitan   Цитата(lazarev andrey @ Jul 1 2011, 12:00...   Jul 1 2011, 08:40
- - John Silver   Хм.. а это идея. Надо сделать 3 таблицы: 1 Package...   Jun 29 2011, 08:39
|- - vitan   Цитата(John Silver @ Jun 29 2011, 12:39) ...   Jun 29 2011, 08:52
|- - John Silver   Мы немножко торопимся. От простого к сложному. Пок...   Jun 29 2011, 09:47
|- - vitan   Цитата(John Silver @ Jun 29 2011, 13:47) ...   Jun 29 2011, 09:57
- - John Silver   Таки поделитесь IPC7351. Или он легко доступный? К...   Jun 29 2011, 10:12
|- - vitan   Цитата(John Silver @ Jun 29 2011, 14:12) ...   Jun 29 2011, 10:18
- - Uree   Префикс в футпринте не имеет значения, все равно о...   Jun 29 2011, 10:51
|- - vitan   Цитата(Uree @ Jun 29 2011, 14:51) Префикс...   Jun 29 2011, 10:59
- - John Silver   По моему, вы оба на разных волнах. И при этом умуд...   Jun 29 2011, 11:28
- - Uree   Да при чем здесь провокации? Вы говорите о футприн...   Jun 29 2011, 12:14
|- - vitan   Цитата(Uree @ Jun 29 2011, 16:14) Да при ...   Jun 29 2011, 12:26
- - Uree   По названиям да. Только тогда не смешивайте назван...   Jun 29 2011, 12:31
- - John Silver   Вы опять!?   Jun 29 2011, 12:33
- - Uree   Ни в коем случае Обсуждаем вопросы именования сущн...   Jun 29 2011, 12:46
|- - John Silver   Цитата(Uree @ Jun 29 2011, 14:46) Ни в ко...   Jun 29 2011, 13:03
|- - vitan   Цитата(John Silver @ Jun 29 2011, 17:03) ...   Jun 29 2011, 13:37
- - John Silver   Собственно попробовал сделать эти 3 таблицы. В Foo...   Jul 1 2011, 09:47
|- - vitan   Цитата(John Silver @ Jul 1 2011, 13:47) В...   Jul 1 2011, 10:04
- - Ant_m   Полуофф, по поводу корпусов резисторов и конденсат...   Jul 4 2011, 07:52
- - lazarev andrey   снова практический вопрос. итак решили как делать,...   Aug 3 2011, 05:52
|- - vitan   Цитата(lazarev andrey @ Aug 3 2011, 09:52...   Aug 3 2011, 12:23
|- - vitan   Цитата(Буратино @ Aug 5 2011, 12:31) Повт...   Aug 5 2011, 09:24
- - John Silver   Да, был у нас курс, что то вроде "Программиро...   Aug 3 2011, 20:33
- - lazarev andrey   мне вот не совсем понятен момент именно "когд...   Aug 5 2011, 06:24
|- - vitan   Цитата(lazarev andrey @ Aug 5 2011, 10:24...   Aug 5 2011, 07:49
|- - lazarev andrey   Цитата(vitan @ Aug 5 2011, 11:49) В любом...   Aug 5 2011, 09:37
|- - vitan   Цитата(lazarev andrey @ Aug 5 2011, 13:37...   Aug 5 2011, 19:43
|- - lazarev andrey   Цитата(vitan @ Aug 5 2011, 23:43) А что э...   Aug 8 2011, 06:15
|- - vitan   Цитата(lazarev andrey @ Aug 8 2011, 10:15...   Aug 18 2011, 21:03
|- - Буратино   Цитата(lazarev andrey @ Aug 8 2011, 09:15...   Sep 24 2011, 20:06
- - Буратино   А вот зачем нужна связь базы с готовой платой? Пос...   Aug 5 2011, 09:56
|- - lazarev andrey   Цитата(Буратино @ Aug 5 2011, 13:56) А во...   Aug 5 2011, 10:29
|- - Буратино   Цитата(lazarev andrey @ Aug 5 2011, 13:29...   Aug 5 2011, 11:18
|- - lazarev andrey   Цитата(Буратино @ Aug 5 2011, 15:18) ну а...   Aug 5 2011, 11:56
- - vitan   Цитата(Буратино @ Aug 5 2011, 13:56) А во...   Aug 5 2011, 17:25


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 17:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01512 секунд с 7
ELECTRONIX ©2004-2016