使用数据库元件库
概览
- 了解 DbLink、DbLib 和 SVNDbLib 文件之间的区别,包括它们如何链接元件数据以及是否支持元件放置。
- 了解数据库信息如何支持参数同步、元件完整更新和 BOM 生成。
- 明确版本控制数据库库所需的 64 位数据库引擎要求及源元件库的组织方式。
Altium Designer 支持通过创建和使用 Database Library,直接从公司数据库中放置元件。放置操作通过元件面板进行;安装数据库库后,该面板即可作为数据库浏览器使用。
放置元件后,可以使用 Tools » Update Parameters From Database 命令,在已放置的元件与数据库中对应的链接记录之间同步设计参数信息。使用 Tools » Update From Libraries 命令可以完整更新元件,包括图形符号、模型引用和参数。数据库中的参数信息也可以包含在最终的物料清单(BOM)中,以便进行元件采购。
直接放置——不止于链接
Altium Designer 提供了三种将元件链接到数据库的方法,分别使用数据库链接文件(*.DbLink)、数据库库文件(*.DbLib)或 SVN 数据库库文件(*.SVNDbLib)。DbLink 方法能够高效地建立链接,使设计(或库)中使用的元件与数据库中录入的数据保持同步。DbLib/SVNDbLib 方法在这种成熟、高效的链接机制基础上,进一步支持直接从数据库中放置元件——本质上,就是根据相应数据库记录中存储的元件信息动态创建元件。
在深入介绍数据库库功能之前,有必要先从使用方式的角度讨论一下这些方法之间的差异。
使用数据库链接文件建立链接
Related page: 将现有元件链接到公司数据库
-
使用此方法时,数据库链接文件(
*.DbLink)定义原理图元件与数据库中匹配记录之间的链接关系。记录匹配通过关键字段链接建立,可以使用单个关键字段(例如元件编号),也可以使用多个关键字段(通过定义 Where 子句)。 - 使用这种链接方法时,必须在 Altium Designer 库元件中预先定义元件的模型和参数信息。库元件的定义中还必须包含必要的关键字段信息。完成这些定义后,将数据库链接文件添加到库包或设计项目中,即可将元件信息(参数)与数据库字段的内容同步。
- 虽然每条数据库记录所定义的实体元件不必映射到唯一的 Altium Designer 库元件——多个数据库元件可以共用同一个元件符号——但这种链接方法通常采用“一条数据库记录对应一个 Altium Designer 元件”的方式。这个唯一的 Altium Designer 元件可以是放置在原理图图纸上的实例,也可以是元件库中的独立元件。
- 采用 DbLink 式数据库链接时,需要将数据库链接文件包含在库包或设计项目中。
使用数据库库文件建立链接
-
使用此方法时,数据库库文件(
*.DbLib)同样定义原理图元件与数据库中匹配记录之间的链接关系。记录匹配也通过关键字段链接建立,可以使用单个关键字段(例如元件编号),也可以使用多个关键字段(通过定义 Where 子句)。 - 这种链接方法的主要区别在于,元件的符号、模型和参数信息存储在外部数据库中,作为该元件记录定义的一部分。所引用的原理图元件(存储在底层元件库(*.SchLib)中)仅包含符号,不包含任何链接的模型,也未定义任何设计参数。
- 放置元件时,会根据定义的映射,使用匹配数据库记录中的相应字段即时创建其参数和模型信息。随后,根据定义的匹配条件,使用其中一个或多个参数来维持与数据库的持续链接,以便在放置后进行同步。
- 由于这种链接方法在放置时动态创建元件,因此非常适合采用“多条数据库记录对应一个 Altium Designer 元件”的方式。
- 采用 DbLink 式数据库链接时,必须将 DbLink 文件包含在库包(或设计项目)中;与之不同,DbLib/SVNDbLib 文件无需添加到项目中。数据库库(DbLib)包含在“可用的基于文件的库”中,可通过元件面板访问。请记住,“可用的基于文件的库”可以包括项目库、已安装的库,以及在指定搜索路径中找到的库。
- 通常,您会按元件库的组织方式配置 DbLib/SVNDbLib 文件。例如,可以用一个文件管理公司数据库中记录的所有电阻,用另一个文件管理电容,依此类推。
DbLib 与 SVNDbLib
SVN 数据库库是数据库库模型的扩展,区别在于源符号和模型采用版本控制进行存储。
源库在基于 Subversion 的存储库中创建、添加和维护。与该存储库及外部数据库的链接定义在 SVN 数据库库文件(*.SVNDbLib)中。由于这种方法是数据库库的扩展,因此通常也称为 Version-Controlled Database Library。
库管理员还是设计人员?
使用版本控制数据库库时,基本上可以采用两种工作模式:作为Librarian,或作为Designer。
作为库管理员,您不仅需要设置和维护符号库和模型库的外部源代码控制存储库,还要负责设置 SVN 数据库库文件。这包括:
- 连接到外部元件数据库。
- 定义数据库记录与元件参数/模型之间的映射。
- 指定指向存储符号库和模型库的 SVN 存储库的链接。
作为设计人员,您需要获取库管理员生成的 SVNDbLib 文件,并将其添加到“可用的基于文件的库”列表中,使其在 元件面板中可用,以便浏览和放置数据库元件。
这些角色的分工因公司而异。大型公司可能设有专门的库管理中心,以库管理员的身份专门负责设置和维护源代码控制存储库中的符号库和模型库,以及生成 SVN 数据库库文件。随后,这些 SVNDbLib 文件会提供给公司内的设计人员,由他们安装和使用这些库文件,将其中的元件放置到设计中。
在小型公司中,这两个角色可能由同一人承担。此人不仅要设置和维护库存储库,还会在设计工作中使用所定义的 SVNDbLib 文件。
源代码控制存储库
Related article: 使用外部版本控制
符号库和模型库文件需要添加到 Subversion(SVN)存储库中。Altium Designer 包含一个 SVN 版本控制提供程序,可在Preferences对话框的数据管理 - 版本控制页面中启用和配置。启用 SVN 版本控制提供程序后,即可在Preferences对话框的数据管理 - 设计存储库页面上创建存储库。
也可以在 Altium Designer 外部使用外部 SVN 客户端和服务器(例如 TortoiseSVN)创建和管理 SVN 存储库。可以在Preferences对话框的 Data Management - Design Repositories页面中连接到现有存储库。
向存储库添加文件时,需要注意的重要一点是,每个符号和模型must be stored in its own library file。常规库可以包含任意数量的符号/模型,更改其中一个条目会导致版本控制系统将所有条目都标记为已修改。每个库文件仅包含一个符号/模型,更符合版本控制的工作方式,可让您准确跟踪哪些内容已修改、哪些未修改。
本文假定存储库已创建完成。
使用库拆分向导
如果符号库和模型库是新建的,则很容易确保每个文件仅包含一个符号/模型。但通常情况下,源库已经存在。为了简化将这些库拆分为单实体文件并添加到 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可更新列表中选定的目录。随后会打开一个 对话框,您可以在其中浏览并选择新的输出文件夹。
默认情况下,输出目录设置为源库所在的目录。如果原始源库全部存储在同一个源目录文件夹中,则需要特别注意。如果不指定输出目录,而是保留默认设置,即都指向同一个源目录文件夹,最终可能会有大量单符号库和单模型库混杂在一起。创建存储库结构时,整理这些文件可能会非常耗时。
-
配置其他选项,以控制源库的拆分方式。对于原理图元件库,这些选项包括从各个元件中移除参数和/或模型信息,仅保留纯符号。

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



