Database Libraries
Altium Designer는 Database Library를 생성하고 사용함으로써 회사 데이터베이스에서 컴포넌트를 직접 배치할 수 있는 기능을 제공합니다. 배치는 Components panel에서 수행되며, 데이터베이스 라이브러리를 설치한 후에는 이 패널이 데이터베이스를 탐색하는 브라우저 역할을 합니다.
배치 후에는 Tools » Update Parameters From Database 명령을 사용하여 배치된 컴포넌트와 데이터베이스에 연결된 해당 레코드 간에 설계 파라미터 정보를 동기화할 수 있습니다. 그래픽 심볼, 모델 참조, 파라미터를 포함한 전체 컴포넌트 업데이트는 Tools » Update From Libraries 명령으로 수행할 수 있습니다. 또한 데이터베이스의 파라메트릭 정보는 최종 BOM(Bill of Materials)에 포함할 수 있어, 부품 조달에 바로 활용할 수 있습니다.
직접 배치 - 단순한 링크를 넘어서
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 라이브러리 컴포넌트의 일부로 미리 정의되어 있어야 합니다. 또한 라이브러리 컴포넌트 정의에는 필요한 키 필드 정보도 포함되어야 합니다. 이를 정의한 뒤 Library Package 또는 Design 프로젝트에 Database Link 파일을 추가하면, 컴포넌트 정보(파라미터)를 데이터베이스 필드 내용과 동기화할 수 있습니다.
- 각 데이터베이스 레코드로 정의되는 각 물리 컴포넌트가 반드시 고유한 Altium Designer 라이브러리 컴포넌트에 매핑될 필요는 없습니다(여러 데이터베이스 컴포넌트가 동일한 컴포넌트 심볼을 공유할 수 있음). 하지만 이 링크 방식은 일반적으로 “데이터베이스 레코드 1개 : Altium Designer 컴포넌트 1개” 형태로 사용됩니다. 고유한 Altium Designer 컴포넌트는 회로도 시트에 배치된 인스턴스일 수도 있고, 컴포넌트 라이브러리 내의 고유 컴포넌트일 수도 있습니다.
- DbLink 스타일의 데이터베이스 링크에서는 라이브러리 패키지 또는 설계 프로젝트에 Database Link 파일을 포함합니다.
Database Library 파일을 사용한 링크
-
이 방법에서도 Database Library 파일(
*.DbLib)이 회로도 컴포넌트와 데이터베이스의 일치하는 레코드 간의 연결을 정의합니다. 마찬가지로 레코드 매칭은 키 필드 링크로 설정되며, 단일 키 필드(예: 부품 번호) 또는 Where 절을 정의한 다중 키 필드일 수 있습니다. - 이 링크 방식의 핵심 차이점은, 컴포넌트의 심볼/모델/파라미터 정보가 외부 데이터베이스에서 해당 컴포넌트 레코드 정의의 일부로 저장된다는 점입니다. 참조되는 회로도 컴포넌트(기저 컴포넌트 라이브러리(*.SchLib)에 저장됨)는 심볼만 포함하며, 연결된 모델도 없고 정의된 설계 파라미터도 없습니다.
- 컴포넌트를 배치할 때, 매칭된 데이터베이스 레코드의 해당 필드와 정의된 매핑에 따라 파라미터 및 모델 정보가 즉석에서 생성됩니다. 이후 이들 파라미터 중 하나 이상이 정의된 매칭 기준에 따라 데이터베이스로의 지속적인 링크를 유지하는 데 사용되며, 배치 후 향후 동기화를 가능하게 합니다.
- 이 링크 방식은 배치 시점에 컴포넌트를 동적으로 생성하기 때문에, “여러 데이터베이스 레코드 : Altium Designer 컴포넌트 1개” 형태로 사용하기에 매우 적합합니다.
- DbLink 스타일의 데이터베이스 링크에서는 DbLink 파일을 라이브러리 패키지(또는 설계 프로젝트)에 포함해야 하는 반면, DbLib/SVNDbLib 파일은 프로젝트에 추가할 필요가 없습니다. 데이터베이스 라이브러리(DbLib)는 Available File-based Libraries에 포함되며, Components panel에서 접근할 수 있습니다. Available File-based Libraries는 Project Libraries, Installed Libraries, 또는 지정된 검색 경로에서 찾은 라이브러리로 구성될 수 있음을 기억하십시오.
- 일반적으로 DbLib/SVNDbLib 파일은 라이브러리 중심 방식으로 구성합니다. 예를 들어 회사 데이터베이스에 정의된 모든 저항에 대한 파일 하나, 커패시터에 대한 파일 하나 등으로 구성할 수 있습니다.
DbLib vs SVNDbLib
SVN Database Library는 Database Library 모델의 확장으로, 소스 심볼과 모델이 버전 관리 하에 저장된다는 점이 다릅니다.
소스 라이브러리는 Subversion 기반 리포지토리 내에서 생성되고, 추가되며, 유지관리됩니다. 리포지토리 및 외부 데이터베이스에 대한 링크는 SVN Database Library 파일(*.SVNDbLib) 내에 정의됩니다. 그리고 이 접근 방식은 Database Library의 확장이므로, 흔히 Version-Controlled Database Library라고도 불립니다.
라이브러리 관리자(Librarian)인가, 설계자(Designer)인가?
버전 관리되는 데이터베이스 라이브러리는 기본적으로 Librarian로 작업하거나, Designer로 작업하는 두 가지 모드가 있습니다.
라이브러리 관리자(Librarian)로서, 심볼 및 모델 라이브러리의 외부 소스 컨트롤 리포지토리를 설정하고 유지관리해야 할 뿐 아니라, SVN Database Library 파일도 설정할 책임이 있습니다. 여기에는 다음이 포함됩니다:
- 외부 컴포넌트 데이터베이스에 연결.
- 데이터베이스 레코드에서 컴포넌트 파라미터/모델로의 매핑 정의.
- 심볼 및 모델 라이브러리가 저장된 SVN 리포지토리에 대한 링크 지정.
설계자(Designer)로서, 라이브러리 관리자(Librarian)가 생성한 SVNDbLib 파일을 받아 Available File-based Libraries 목록에 추가함으로써 Components panel에서 사용할 수 있게 하고, 데이터베이스 컴포넌트를 탐색 및 배치합니다.
이러한 역할의 사용 방식은 회사마다 다릅니다. 대기업의 경우 전담 라이브러리 센터가 있어, 라이브러리 관리자 역할로 소스 컨트롤 리포지토리 내 심볼 및 모델 라이브러리의 설정과 유지관리, 그리고 SVN Database Library 파일 생성만을 담당할 수 있습니다. 이후 SVNDbLib 파일은 해당 회사의 설계자에게 제공되며, 설계자는 이를 설치하고 사용하여 설계에서 컴포넌트를 배치합니다.
소규모 회사에서는 두 역할을 동일 인물이 수행할 수도 있습니다. 그 사람은 라이브러리 리포지토리를 설정하고 유지관리할 뿐 아니라, 정의된 SVNDbLib를 설계 작업에도 사용합니다.
소스 컨트롤 리포지토리
Related article: 외부 버전 관리 사용
심볼 및 모델 라이브러리 파일은 Subversion(SVN) 리포지토리에 추가되어야 합니다. Altium Designer에는 SVN Version Control Provider가 포함되어 있으며, 이는 Data Management - Version Control page의 Preferences dialog에서 활성화 및 구성합니다. SVN Version Control Provider를 활성화한 후에는 Data Management - Design Repositories page의 Preferences dialog에서 리포지토리를 생성할 수 있습니다.
SVN 리포지토리는 TortoiseSVN과 같은 외부 SVN 클라이언트 및 서버를 사용하여 Altium Designer 외부에서도 생성 및 관리할 수 있습니다. 기존 리포지토리는 Data Management - Design Repositories page의 Preferences dialog에서 연결할 수 있습니다.
리포지토리에 파일을 추가할 때 주의해야 할 중요한 점은, 각 심볼과 모델이 must be stored in its own library file. 일반 라이브러리(심볼/모델을 얼마든지 포함할 수 있음)에서는 단일 항목만 변경해도 버전 관리 시스템이 전체를 수정된 것으로 표시하게 됩니다. 라이브러리 파일당 심볼/모델을 하나씩 두면 버전 관리의 특성에 맞게 동작하여, 무엇이 수정되었고 무엇이 수정되지 않았는지 정확히 추적할 수 있습니다.
이 문서에서는 리포지토리가 이미 생성되어 있다고 가정합니다.
Library Splitter Wizard 사용하기
심볼과 모델용 라이브러리를 새로 만드는 경우에는 파일당 심볼/모델을 하나만 두도록 하는 데 문제가 없습니다. 하지만 일반적으로는 소스 라이브러리가 이미 존재합니다. 이러한 라이브러리를 SVN 리포지토리에 추가할 수 있도록 단일 엔티티 파일로 분리하는 작업을 단순화하기 위해, Altium Designer는 분할 도구인 Library Splitter Wizard를 제공합니다. 이 마법사는 다중 컴포넌트 회로도(*.SchLib) 및 PCB(*.PcbLib) 라이브러리를 개별 컴포넌트 라이브러리로 빠르게 분할할 수 있게 해줍니다. 이 마법사는 Schematic Library Editor, PCB Library Editor, SVN Database Library Editor의 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 또는 Schematic 라이브러리 문서를 편집할 때 Tools 메뉴에서 접근할 수 있습니다.
이 마법사는 심볼 및 풋프린트 라이브러리를 분할하여 리포지토리에 체크인하고, SVNDbLib 및 Access 데이터베이스 파일을 생성합니다.
다음 단계는?
데이터베이스 라이브러리 작업의 다양한 측면을 더 알아보려면 다음 페이지를 참조하십시오.



