Database Libraries
Altium Designer предоставляет возможность размещать компоненты напрямую из корпоративной базы данных, создавая и используя Database Library. Размещение выполняется из панели Components panel, которая после установки database library работает как браузер вашей базы данных.
После размещения информацию о параметрах проекта можно синхронизировать между размещёнными компонентами и соответствующими связанными записями в базе данных с помощью команды Tools » Update Parameters From Database. Полное обновление компонента — включая графический символ, ссылки на модели и параметры — можно выполнить с помощью команды Tools » Update From Libraries. Параметрическую информацию из базы данных также можно включить в итоговую ведомость материалов (BOM), чтобы она была готова для закупки компонентов.
Прямое размещение — больше, чем просто связывание
Altium Designer предоставляет три метода связывания компонента с базой данных: с использованием файла Database Link (*.DbLink), файла Database Library (*.DbLib) или файла SVN Database Library (*.SVNDbLib) соответственно. Подход DbLink обеспечивает эффективный способ связывания и поддержания синхронизации компонентов, используемых в вашем проекте (или библиотеках), с данными, введёнными в базу данных. Подход DbLib/SVNDbLib использует эту проверенную эффективность связывания и дополняет её возможностью размещать компонент напрямую из базы данных — по сути, динамически создавая компонент из информации, хранящейся для него в соответствующей записи базы данных.
Прежде чем углубляться в возможности database library, стоит обсудить различия между этими методами с точки зрения того, как вы их используете.
Связывание с использованием файла Database Link
Related page: Связывание существующих компонентов с корпоративной базой данных
-
При использовании этого метода файл Database Link (
*.DbLink) определяет связь между компонентом схемы и соответствующей записью в базе данных. Соответствие записи устанавливается связыванием по ключевому полю — это может быть одно ключевое поле (например, номер детали) или несколько ключевых полей (путём задания условия Where). - При таком способе связывания сведения о моделях и параметрах компонента должны быть заранее определены в библиотечном компоненте Altium Designer. Библиотечный компонент также должен включать необходимую информацию о ключевом поле как часть своего определения. После этого вы добавляете файл Database Link в пакет библиотек (Library Package) или проект (Design project), и затем можете синхронизировать информацию о компоненте (параметры) с содержимым полей в базе данных.
- Хотя каждый физический компонент, определённый каждой записью базы данных, не обязан соответствовать уникальному библиотечному компоненту Altium Designer — многие компоненты базы данных могут использовать один и тот же символ компонента — этот метод связывания обычно применяется по схеме «одна запись базы данных — один компонент Altium Designer». Уникальный компонент Altium Designer может быть либо экземпляром, размещённым на листе схемы, либо уникальным компонентом в библиотеке компонентов.
- При связывании с базой данных в стиле DbLink вы включаете файл Database Link в пакет библиотек или проект.
Связывание с использованием файла Database Library
-
При использовании этого метода файл Database Library (
*.DbLib) также определяет связь между компонентом схемы и соответствующей записью в базе данных. Как и ранее, соответствие записи устанавливается связыванием по ключевому полю — это может быть одно ключевое поле (например, номер детали) или несколько ключевых полей (путём задания условия Where). - Ключевое отличие этого метода связывания в том, что символ компонента, модель и параметрическая информация для компонента хранятся как часть определения записи для этого компонента во внешней базе данных. Ссылаемый компонент схемы (хранящийся в базовой библиотеке компонентов (*.SchLib)) — это только символ; у него нет связанных моделей и нет определённых параметров проекта.
- При размещении компонента его параметры и сведения о моделях создаются «на лету» с использованием соответствующих полей в найденной записи базы данных и в соответствии с заданным сопоставлением (mapping). Затем один или несколько из этих параметров будут использоваться для поддержания постоянной обратной связи с базой данных согласно заданным критериям сопоставления, что позволяет выполнять последующую синхронизацию после размещения.
- Этот метод связывания, благодаря динамическому созданию компонентов в момент размещения, очень хорошо подходит для использования по схеме «много записей базы данных — один компонент Altium Designer».
- В отличие от DbLink-стиля связывания с базой данных, где файл DbLink должен быть включён в пакет библиотек (или проект), файл DbLib/SVNDbLib не обязательно добавлять в проект. Библиотека базы данных (DbLib) включается в список Available File-based Libraries и доступна через панель Components panel. Помните, что Available File-based Libraries могут состоять из Project Libraries, Installed Libraries или библиотек, найденных по указанным путям поиска.
- Обычно файлы DbLib/SVNDbLib настраивают по библиотечному принципу. Например, можно иметь один файл для всех резисторов, описанных в корпоративной базе данных, другой — для конденсаторов и т. д.
DbLib и SVNDbLib
SVN Database Library — это расширение модели Database Library; отличие в том, что исходный символ и модели хранятся под управлением версий.
Исходные библиотеки создаются, пополняются и поддерживаются в репозитории на базе Subversion. Ссылка на репозиторий и на внешнюю базу данных задаётся в файле SVN Database Library (*.SVNDbLib). Поскольку этот подход является расширением Database Library, его часто называют Version-Controlled Database Library.
Библиотекарь или разработчик?
По сути, есть два режима работы с database library под управлением версий — как Librarian или как Designer.
В роли библиотекаря (Librarian) вам нужно не только настроить и поддерживать внешний репозиторий управления версиями для библиотек символов и моделей, но и отвечать за настройку файла SVN Database Library. Это включает:
- Подключение к внешней базе данных компонентов.
- Определение сопоставления (mapping) записи базы данных с параметрами/моделями компонента.
- Указание ссылки на SVN-репозиторий, в котором хранятся библиотеки символов и моделей.
В роли разработчика (Designer) вы берёте файл SVNDbLib, созданный библиотекарем, и делаете его доступным в панели Components panel — добавляя его в список Available File-based Libraries — чтобы просматривать и размещать компоненты из базы данных.
Использование этих ролей будет различаться от компании к компании. В крупной компании может быть выделенный центр библиотек, который в роли библиотекаря будет заниматься исключительно настройкой и поддержкой библиотек символов и моделей в репозитории управления версиями, а также генерацией файла(ов) SVN Database Library. Затем файл(ы) SVNDbLib будут предоставлены разработчикам (Designer) в этой компании, которые установят и будут использовать библиотечные файлы для размещения компонентов в своих проектах.
В небольшой компании обе роли может выполнять один и тот же человек. Он не только настроит и будет поддерживать репозиторий библиотек, но и будет использовать определённые SVNDbLib в своей проектной работе.
Репозиторий управления версиями
Related article: Использование внешнего управления версиями
Файлы библиотек символов и моделей необходимо добавить в репозиторий Subversion (SVN). В Altium Designer включён провайдер SVN Version Control Provider; он включается и настраивается на странице Data Management - Version Control page диалога Preferences. После включения SVN Version Control Provider репозиторий можно создать на странице Data Management - Design Repositories диалога Preferences.
SVN-репозитории также можно создавать и администрировать вне Altium Designer с помощью внешнего SVN-клиента и сервера, например TortoiseSVN. К существующему репозиторию можно подключиться на странице Data Management - Design Repositories диалога Preferences.
При добавлении файлов в репозиторий важно учитывать, что каждый символ и модель must be stored in its own library file. В обычной библиотеке — которая может содержать любое количество символов/моделей — изменение одной записи приводило бы к тому, что система контроля версий помечала бы как изменённые все записи. Подход «один символ/модель на файл библиотеки» соответствует принципам контроля версий и позволяет точно отслеживать, что было изменено, а что — нет.
Для целей данного документа предполагается, что репозиторий уже создан.
Использование мастера Library Splitter
Если библиотеки символов и моделей создаются с нуля, нет проблем обеспечить «один символ/модель на файл». Однако обычно исходные библиотеки уже существуют. Чтобы упростить задачу разделения таких библиотек на файлы с одной сущностью для добавления в SVN-репозиторий, Altium Designer предоставляет инструмент разделения — Library Splitter Wizard. Мастер позволяет быстро разделять многокомпонентные библиотеки схем (*.SchLib) и PCB (*.PcbLib) на отдельные библиотеки компонентов. Мастер доступен из меню Tools в редакторе библиотек схем, редакторе PCB-библиотек и редакторе SVN Database Library.
Разделите исходные библиотеки на «один символ/модель на файл» с помощью Library Splitter Wizard.
Подготовка к процессу разделения включает следующие шаги:
-
Добавление необходимых исходных файлов библиотек которые вы хотите разделить (они не обязаны находиться в одной папке). Используйте страницу Libraries to Split для выбора библиотек схем или PCB, которые нужно разделить. Нажмите кнопку Add для открытия диалога, в котором можно найти и добавить нужные библиотеки в список. Добавленные библиотеки будут позже разделены в мастере на отдельные библиотеки компонентов. Исходные библиотеки не обязаны находиться в одной папке. Используйте кнопку Remove для удаления выбранной библиотеки из списка.
-
Указание выходного каталога. Страница Output Directories используется для задания выходного каталога(ов) для отдельных библиотек компонентов. Указанный Output Directory — это путь, куда будут помещены разделённые библиотеки. При необходимости нажмите Change Output Directory, чтобы обновить указанный и выбранный каталог. Откроется диалог, в котором можно найти и выбрать обновлённую папку для выходного каталога.
По умолчанию выходной каталог будет установлен в тот же каталог, где хранится исходная библиотека. Следует проявлять осторожность, если все исходные библиотеки изначально хранятся в одной папке исходного каталога. Если выходные каталоги не заданы и оставлены по умолчанию — указывая на одну и ту же папку исходного каталога — в итоге можно получить очень большую «смешанную» коллекцию библиотек одиночных символов и моделей. Просеивание этого набора при создании структуры репозитория может занять очень много времени.
-
Настройте дополнительные параметры, определяющие, как будут разделяться исходные библиотеки. Для библиотеки компонентов схемы это включает параметры, позволяющие удалить из каждого компонента параметры и/или информацию о моделях — оставив только «чистый» символ.

Две итерации страницы Split Libraries; слева: страница Split Libraries при преобразовании файла .PCBLib . Справа: страница Split Libraries при преобразовании файла .SCHLib .Управлять тем, как разделяются библиотеки, можно на странице Options . Используйте выпадающий список (показан на изображении выше), чтобы выбрать, как обрабатываются новые файлы. Выбор Overwrite Existing Files (по умолчанию) приведёт к тому, что любые вновь созданные файлы будут перезаписывать существующие. Если выбран Append Incrementing Number To File Names , инструмент разделения библиотек просканирует все выходные каталоги, выбранные на предыдущей странице (Output Directories), и сформирует список файлов, которые нужно защитить от перезаписи. Новые библиотеки компонентов с тем же именем будут дополнены суффиксом "_#Increment Number".
-
После задания исходных библиотек и параметров мастер выполнит анализ, результатом которого станет набор одиночных библиотек символов/моделей, которые будут созданы, и он будет выведен списком для проверки. Отображается имя каждой создаваемой разделённой библиотеки, а также фактическое имя компонента схемы/модели посадочного места внутри этой библиотеки. Также указывается исходная библиотека. Имя, используемое для библиотеки, будет таким же, как имя соответствующего компонента/модели.
Создаваемые библиотеки компонентов можно просмотреть на странице Review. В столбцах Splitted Library Name, Component Name и Source Library перечислены новые файлы, которые будут созданы в процессе разделения. Выпадающий список данных в каждом столбце можно легко открыть, щёлкнув по стрелке вниз в правой части заголовка столбца. Эта функция особенно полезна при проверке файлов очень больших библиотек.
-
Проверьте список создаваемых библиотек и затем нажмите Next, чтобы запустить процесс разделения и в итоге получить библиотеки, которые будут добавлены в репозиторий системы контроля версий. После успешного завершения мастера нажмите Finish, чтобы закрыть его.
Использование мастера преобразования SVN Database Library
Другой подход к преобразованию существующих библиотек в библиотеку базы данных типа SVN — это SVN Database Library Conversion Wizard. Этот мастер преобразует библиотеки схем, PCB, базы данных и интегрированные библиотеки в SVN database libraries. Мастер содержит ряд параметров, связанных с преобразованием, включая то, как следует разделять исходные библиотеки, в каких каталогах какого репозитория их хранить, а также выходной каталог для создаваемых файлов SVNDbLib и базы данных MDB.
Мастер доступен из меню Tools при редактировании документа библиотеки PCB или схемы.
Мастер разделяет библиотеки символов и посадочных мест, выполняет их check-in в репозиторий и создаёт файлы SVNDbLib и базы данных Access.
Что дальше?
См. следующие страницы, чтобы узнать больше о различных аспектах работы с библиотеками баз данных:



