使用数据库元件库
Altium Designer 通过创建并使用 Database Library,提供了直接从公司数据库放置元器件的能力。放置操作在 Components panel 中完成;安装数据库库后,该面板会作为浏览器连接到你的数据库。
放置完成后,可使用 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 Link 文件进行链接
Related page: 将现有元器件链接到公司数据库
-
使用该方法时,Database Link 文件(
*.DbLink)定义了原理图元器件与数据库中匹配记录之间的链接关系。记录匹配通过关键字段链接建立,可以是单个关键字段(例如料号),也可以是多个关键字段(通过定义 Where 子句)。 - 在这种链接方式下,元器件的模型与参数信息必须预先作为 Altium Designer 库元器件的一部分进行定义。库元器件的定义中也必须包含必要的关键字段信息。完成这些定义后,将 Database Link 文件添加到 Library Package 或设计工程中,然后即可将元器件信息(参数)与数据库字段内容进行同步。
- 尽管数据库中每条记录所定义的每个实体元器件不一定都要映射到唯一的 Altium Designer 库元器件——多个数据库元器件可以共享同一个元器件符号——但这种链接方式通常以“一个数据库记录对应一个 Altium Designer 元器件”的方式使用。这个唯一的 Altium Designer 元器件既可以是放置在原理图上的一个实例,也可以是元器件库中的一个唯一元器件。
- 采用 DbLink 风格的数据库链接时,需要将 Database Link 文件与库包或设计工程一起包含。
使用 Database Library 文件进行链接
-
使用该方法时,Database Library 文件(
*.DbLib)同样定义了原理图元器件与数据库中匹配记录之间的链接关系。同样,记录匹配通过关键字段链接建立,可以是单个关键字段(例如料号),也可以是多个关键字段(通过定义 Where 子句)。 - 该链接方式的关键差异在于:元器件的符号、模型和参数信息作为该元器件记录定义的一部分存储在外部数据库中。被引用的原理图元器件(存储在底层元器件库(*.SchLib)中)仅包含符号;它没有链接的模型,也没有已定义的设计参数。
- 当放置元器件时,会根据匹配到的数据库记录中相应字段,并按照已定义的映射关系,动态生成其参数与模型信息。随后,其中一个或多个参数将用于维持与数据库的持续回链(依据已定义的匹配条件),从而支持放置后的后续同步。
- 由于该方法在放置时动态创建元器件,因此非常适合以“多条数据库记录对应一个 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。
图书管理员还是设计人员?
使用受版本控制的数据库库时,基本上有两种工作模式——作为 Librarian,或作为 Designer。
作为 Librarian,你不仅需要搭建并维护符号与模型库的外部源代码控制仓库,还需要负责设置 SVN Database Library 文件。这包括:
- 连接到外部元器件数据库。
- 定义数据库记录到元器件参数/模型的映射。
- 指定指向存储符号与模型库的 SVN 仓库的链接。
作为 Designer,你将使用 Librarian 生成的 SVNDbLib 文件,并通过将其添加到 Available File-based Libraries 列表,使其在 Components panel 中可用,从而浏览并放置数据库元器件。
这些角色的使用方式会因公司而异。较大的公司可能有专门的库中心,由其以 Librarian 的角色专注于源代码控制仓库中符号与模型库的搭建与维护,以及 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 对话框中创建仓库。
也可以在 Altium Designer 之外使用外部 SVN 客户端与服务器(例如 TortoiseSVN)来创建和管理 SVN 仓库。可在 Data Management - Design Repositories 页面的 Preferences 对话框中连接到现有仓库。
向仓库添加文件时需要注意的一点是:每个符号和模型都应单独存放在一个库文件中must be stored in its own library file。在常规库中——它可以包含任意数量的符号/模型——只要修改其中一个条目,版本控制系统就会将整个库标记为已修改。每个库文件只包含一个符号/模型更符合版本控制的工作方式,使你能够准确跟踪到底修改了什么、哪些没有修改。
就本文档而言,假定仓库已经创建完成。
使用 Library Splitter Wizard
如果符号和模型的库是新建的,那么确保每个文件只包含一个符号/模型并不困难。但通常情况下,源库往往已经存在。为简化将这些库拆分为单实体文件并添加到 SVN 仓库的工作,Altium Designer 提供了一个拆分工具——Library Splitter Wizard。该向导可将多组件原理图库(*.SchLib)和 PCB 库(*.PcbLib)快速拆分为单个组件库。可在原理图库编辑器、PCB 库编辑器以及 SVN 数据库库编辑器的 Tools 菜单中访问该向导。
使用 Library Splitter Wizard 将源库拆分为“每个文件一个符号/模型”。
拆分流程的准备工作包括以下步骤:
-
添加需要拆分的源库文件(它们不必位于同一文件夹)。使用 Libraries to Split 页面选择要拆分的原理图库或 PCB 库。点击 Add 按钮打开对话框,浏览并将所需库添加到列表中。添加的库将在向导后续步骤中被拆分为单个组件库。源库不必位于同一文件夹。使用 Remove 按钮可从列表中删除选中的库。
-
指定输出目录。使用 Output Directories 页面为各个单组件库设置输出目录。列表中的 Output Directory 是拆分后库文件的放置路径。如有需要,点击 Change Output Directory 更新列表中显示并选中的目录。随后会打开一个对话框,你可以浏览并选择更新后的输出文件夹。
默认情况下,输出目录会设置为源库所在的同一目录。如果所有原始源库都存放在同一个源目录文件夹中,需要特别注意:若不指定输出目录并保持默认(都指向同一源目录文件夹),最终可能会得到一个包含大量单符号与单模型库的混杂目录。在创建仓库结构时对这些文件进行筛选可能会非常耗时。
-
配置附加选项以控制源库的拆分方式。这些选项包括:对于原理图组件库,可选择从每个组成组件中剥离参数和/或模型信息——仅保留最基础的符号。

Split Libraries 页面两种情况的示例;左侧:转换 .PCBLib 文件时的 Split Libraries 页面。右侧:转换 .SCHLib 文件时的 Split Libraries 页面。你可以使用 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 Conversion Wizard
将现有库转换为 SVN 类型数据库库的另一种方法是 SVN Database Library Conversion Wizard。该向导可将原理图、PCB、数据库以及集成库转换为 SVN 数据库库。向导提供多项与转换相关的选项,包括:源库应如何拆分、应存放到哪个仓库的哪些目录中,以及生成的 SVNDbLib 与 MDB 数据库文件的输出目录。
在编辑 PCB 或原理图库文档时,可从 Tools 菜单访问该向导。
该向导会拆分符号库与封装库并将其检入仓库,同时创建 SVNDbLib 和 Access 数据库文件。
下一步?
请参阅以下页面,了解使用数据库库的不同方面:



