데이터베이스 라이브러리
개요
- DbLink, DbLib, SVNDbLib 파일이 컴포넌트 데이터를 연결하고 배치를 지원하는 방식 등 각 파일의 차이점을 이해합니다.
- 데이터베이스 정보가 파라미터 동기화, 컴포넌트 전체 업데이트, BOM 생성을 어떻게 지원하는지 알아봅니다.
- 버전 관리 데이터베이스 라이브러리에 필요한 64비트 데이터베이스 엔진 요구 사항과 소스 라이브러리 구성 방식을 파악합니다.
Altium Designer에서는 Database Library을 생성하고 사용하여 회사 데이터베이스에서 직접 컴포넌트를 배치할 수 있습니다. 배치는 컴포넌트 Panel에서 수행하며, 이 Panel은 데이터베이스 라이브러리를 설치한 후 데이터베이스를 탐색하는 브라우저 역할을 합니다.
배치 후에는 Tools » Update Parameters From Database 명령을 사용하여 배치된 컴포넌트와 데이터베이스에서 해당 컴포넌트에 연결된 레코드 간에 설계 파라미터 정보를 동기화할 수 있습니다. 그래픽 심볼, 모델 참조 및 파라미터를 포함한 전체 컴포넌트 업데이트는 Tools » Update From Libraries 명령을 사용하여 수행할 수 있습니다. 데이터베이스의 파라미터 정보를 최종 자재 명세서(BOM)에도 포함하여 컴포넌트 조달에 활용할 수 있습니다.
직접 배치 - 단순한 연결 그 이상
Altium Designer는 컴포넌트를 데이터베이스에 연결하는 세 가지 방법을 제공합니다. 각각 데이터베이스 링크 파일(*.DbLink), 데이터베이스 라이브러리 파일(*.DbLib) 또는 SVN 데이터베이스 라이브러리 파일(*.SVNDbLib)을 사용하는 방식입니다. DbLink 방식은 설계 또는 라이브러리에 사용된 컴포넌트를 데이터베이스에 입력된 데이터와 연결하고 동기화 상태를 유지하는 효율적인 수단을 제공합니다. DbLib/SVNDbLib 방식은 이러한 검증된 연결 효율성에 데이터베이스에서 직접 컴포넌트를 배치할 수 있는 자유로움을 더합니다. 즉, 해당 데이터베이스 레코드에 저장된 정보를 바탕으로 컴포넌트를 동적으로 생성합니다.
데이터베이스 라이브러리 기능을 더 자세히 살펴보기 전에, 사용 방식 측면에서 이러한 방법 간의 차이점을 알아두면 좋습니다.
데이터베이스 링크 파일을 사용한 연결
Related page: 기존 컴포넌트를 회사 데이터베이스에 연결하기
-
이 방법에서는 데이터베이스 링크 파일(
*.DbLink)이 Schematic 컴포넌트와 데이터베이스의 일치하는 레코드 간 연결을 정의합니다. 레코드 일치는 키 필드 연결을 통해 설정되며, 하나의 키 필드(예: 부품 번호) 또는 여러 키 필드(Where 절 정의)를 사용할 수 있습니다. - 이 연결 방법에서는 컴포넌트의 모델 및 파라미터 정보가 Altium Designer 라이브러리 컴포넌트의 일부로 미리 정의되어 있어야 합니다. 라이브러리 컴포넌트의 정의에는 필요한 키 필드 정보도 포함되어야 합니다. 이 정의를 마친 후 라이브러리 패키지 또는 설계 프로젝트에 데이터베이스 링크 파일을 추가하면 컴포넌트 정보(파라미터)를 데이터베이스의 필드 내용과 동기화할 수 있습니다.
- 각 데이터베이스 레코드에 정의된 물리적 컴포넌트를 각각 고유한 Altium Designer 라이브러리 컴포넌트에 매핑할 필요는 없습니다. 여러 데이터베이스 컴포넌트가 동일한 컴포넌트 심볼을 공유할 수 있지만, 이 연결 방법은 일반적으로 "데이터베이스 레코드 하나 대 Altium Designer 컴포넌트 하나"의 방식으로 사용됩니다. 고유한 Altium Designer 컴포넌트는 Schematic 시트에 배치된 인스턴스이거나 컴포넌트 라이브러리 내의 고유한 컴포넌트일 수 있습니다.
- DbLink 방식의 데이터베이스 연결에서는 데이터베이스 링크 파일을 라이브러리 패키지 또는 설계 프로젝트에 포함합니다.
데이터베이스 라이브러리 파일을 사용한 연결
-
이 방법에서도 데이터베이스 라이브러리 파일(
*.DbLib)이 Schematic 컴포넌트와 데이터베이스의 일치하는 레코드 간 연결을 정의합니다. 마찬가지로 레코드 일치는 키 필드 연결을 통해 설정되며, 하나의 키 필드(예: 부품 번호) 또는 여러 키 필드(Where 절 정의)를 사용할 수 있습니다. - 이 연결 방법의 핵심적인 차이점은 컴포넌트의 심볼, 모델 및 파라미터 정보가 외부 데이터베이스에서 해당 컴포넌트의 레코드 정의 일부로 저장된다는 점입니다. 기본 컴포넌트 라이브러리(*.SchLib)에 저장되어 참조되는 Schematic 컴포넌트는 심볼일 뿐이며, 연결된 모델이나 정의된 설계 파라미터가 없습니다.
- 컴포넌트를 배치하면, 일치하는 데이터베이스 레코드의 해당 필드를 사용하고 정의된 매핑에 따라 파라미터 및 모델 정보가 즉시 생성됩니다. 이후 이러한 파라미터 중 하나 이상이 정의된 일치 조건에 따라 데이터베이스와의 연결을 지속적으로 유지하는 데 사용되므로, 배치 후에도 동기화할 수 있습니다.
- 이 연결 방법은 배치 시점에 컴포넌트를 동적으로 생성하므로, "여러 데이터베이스 레코드 대 Altium Designer 컴포넌트 하나"의 방식으로 사용하기에 매우 적합합니다.
- DbLink 파일을 라이브러리 패키지 또는 설계 프로젝트에 포함해야 하는 DbLink 방식의 데이터베이스 연결과 달리, DbLib/SVNDbLib 파일은 프로젝트에 추가할 필요가 없습니다. 데이터베이스 라이브러리(DbLib)는 컴포넌트 Panel에서 액세스할 수 있는 사용 가능한 파일 기반 라이브러리에 포함됩니다. 사용 가능한 파일 기반 라이브러리는 프로젝트 라이브러리, 설치된 라이브러리 또는 지정된 검색 경로에서 찾은 라이브러리로 구성될 수 있습니다.
- 일반적으로 DbLib/SVNDbLib 파일은 라이브러리 단위로 구성합니다. 예를 들어 회사 데이터베이스에 명시된 모든 저항을 위한 파일 하나, 커패시터를 위한 파일 하나 등을 만들 수 있습니다.
DbLib와 SVNDbLib 비교
SVN 데이터베이스 라이브러리는 데이터베이스 라이브러리 모델의 확장 형태로, 원본 심볼과 모델이 버전 관리된다는 점이 다릅니다.
원본 라이브러리는 Subversion 기반 저장소 내에서 생성, 추가 및 유지 관리됩니다. 저장소 및 외부 데이터베이스에 대한 연결은 SVN 데이터베이스 라이브러리 파일(*.SVNDbLib) 내에 정의됩니다. 또한 이 방식은 데이터베이스 라이브러리의 확장이므로 흔히 Version-Controlled Database Library이라고도 합니다.
라이브러리 관리자 또는 설계자?
버전 관리되는 데이터베이스 라이브러리로 작업하는 방식은 기본적으로 Librarian 또는 Designer의 두 가지입니다.
라이브러리 관리자는 심볼 및 모델 라이브러리의 외부 소스 제어 저장소를 설정하고 유지 관리할 뿐만 아니라 SVN Database Library 파일도 설정해야 합니다. 여기에는 다음 작업이 포함됩니다.
- 외부 컴포넌트 데이터베이스에 연결합니다.
- 데이터베이스 레코드와 컴포넌트 파라미터/모델 간의 매핑을 정의합니다.
- 심볼 및 모델 라이브러리가 저장된 SVN 저장소의 링크를 지정합니다.
설계자는 라이브러리 관리자가 생성한 SVNDbLib 파일을 Available File-based Libraries 목록에 추가하여 Components Panel에서 사용할 수 있도록 합니다. 그러면 데이터베이스 컴포넌트를 찾아보고 배치할 수 있습니다.
이러한 역할의 활용 방식은 회사마다 다릅니다. 대기업에는 전담 라이브러리 센터가 있을 수 있으며, 이 센터는 라이브러리 관리자로서 소스 제어 저장소의 심볼 및 모델 라이브러리를 설정하고 유지 관리하며 SVN Database Library 파일을 생성하는 업무만 담당할 수 있습니다. 그런 다음 SVNDbLib 파일을 사내 설계자에게 제공하면, 설계자는 해당 라이브러리 파일을 설치하고 이를 사용하여 설계에 컴포넌트를 배치합니다.
소규모 회사에서는 한 사람이 두 역할을 모두 수행할 수 있습니다. 이 경우 해당 담당자는 라이브러리 저장소를 설정하고 유지 관리할 뿐만 아니라, 정의된 SVNDbLib를 설계 작업에도 사용합니다.
소스 제어 저장소
Related article: 외부 버전 제어 사용
심볼 및 모델 라이브러리 파일은 Subversion(SVN) 저장소에 추가해야 합니다. Altium Designer에는 SVN 버전 제어 공급자가 포함되어 있으며, Preferences 대화상자의 Data Management - Version Control 페이지에서 활성화하고 구성할 수 있습니다. SVN 버전 제어 공급자를 활성화한 후에는 Preferences 대화상자의 Data Management - Design Repositories 페이지에서 저장소를 생성할 수 있습니다.
TortoiseSVN과 같은 외부 SVN 클라이언트 및 서버를 사용하여 Altium Designer 외부에서 SVN 저장소를 생성하고 관리할 수도 있습니다. 기존 저장소에는 Preferences 대화상자의 Data Management - Design Repositories 페이지에서 연결할 수 있습니다.
저장소에 파일을 추가할 때 유의해야 할 중요한 사항은 각 심볼과 모델이 must be stored in its own library file라는 점입니다. 심볼/모델을 개수 제한 없이 저장할 수 있는 일반 라이브러리에서는 항목 하나만 변경해도 버전 제어 시스템이 전체를 수정된 것으로 표시합니다. 라이브러리 파일마다 하나의 심볼/모델을 저장하면 버전 제어의 특성을 활용하여 무엇이 수정되었고 무엇이 수정되지 않았는지 정확하게 추적할 수 있습니다.
이 문서에서는 저장소가 이미 생성되어 있다고 가정합니다.
Library Splitter Wizard 사용
심볼 및 모델용 라이브러리를 새로 만드는 경우에는 파일마다 하나의 심볼/모델만 포함하도록 구성하는 데 문제가 없습니다. 하지만 일반적으로는 소스 라이브러리가 이미 존재합니다. 이러한 라이브러리를 단일 항목 파일로 분리하여 SVN 저장소에 추가하는 작업을 간소화하기 위해 Altium Designer는 분할 도구인 Library Splitter Wizard를 제공합니다. 이 Wizard를 사용하면 여러 컴포넌트가 포함된 Schematic(*.SchLib) 및 PCB(*.PcbLib) 라이브러리를 개별 컴포넌트 라이브러리로 빠르게 분할할 수 있습니다. 이 Wizard는 Schematic Library Editor, PCB Library Editor 및 SVN Database Library Editor의 Tools 메뉴에서 실행할 수 있습니다.
Library Splitter Wizard를 사용하여 소스 라이브러리를 파일당 하나의 심볼/모델로 분할합니다.
분할 프로세스를 설정하는 단계는 다음과 같습니다.
-
분할할 소스 라이브러리 파일을 추가합니다. 이 파일들이 같은 폴더에 있을 필요는 없습니다. Libraries to Split 페이지에서 분할할 Schematic 또는 PCB 라이브러리를 선택합니다. Add 버튼을 클릭하면 원하는 라이브러리를 찾아 목록에 추가할 수 있는 대화상자가 열립니다. 추가한 라이브러리는 이후 Wizard에서 개별 컴포넌트 라이브러리로 분할됩니다. 소스 라이브러리들이 같은 폴더에 있을 필요는 없습니다. 목록에서 선택한 라이브러리를 삭제하려면 Remove 버튼을 사용합니다.
-
출력 디렉터리를 지정합니다. Output Directories 페이지에서 개별 컴포넌트 라이브러리의 출력 디렉터리를 설정합니다. 목록에 표시된 Output Directory는 분할된 라이브러리가 저장될 경로입니다. 필요하면 Change Output Directory을 클릭하여 목록에서 선택한 디렉터리를 변경합니다. 출력 디렉터리로 사용할 새 폴더를 찾아 선택할 수 있는 대화상자가 열립니다.
기본적으로 출력 디렉터리는 소스 라이브러리가 저장된 디렉터리와 동일하게 설정됩니다. 원본 소스 라이브러리가 모두 같은 소스 디렉터리 폴더에 저장되어 있다면 주의해야 합니다. 출력 디렉터리를 지정하지 않고 기본 설정, 즉 동일한 소스 디렉터리 폴더를 가리키도록 두면 개별 심볼 및 모델 라이브러리가 매우 많이 뒤섞일 수 있습니다. 저장소 구조를 만들 때 이러한 라이브러리를 분류하는 데 상당한 시간이 걸릴 수 있습니다.
-
소스 라이브러리의 분할 방식을 제어하는 추가 옵션을 구성합니다. Schematic 컴포넌트 라이브러리의 경우, 각 구성 컴포넌트에서 파라미터 및/또는 모델 정보를 제거하여 심볼만 남기는 옵션 등이 포함됩니다.

두 가지 경우의 Split Libraries 페이지. 왼쪽: .PCBLib 파일을 변환할 때의 Split Libraries 페이지. 오른쪽: .SCHLib 파일을 변환할 때의 Split Libraries 페이지.Options 페이지에서 라이브러리 분할 방식을 제어할 수 있습니다. 드롭다운(위 이미지 참조)을 사용하여 새 파일의 처리 방식을 선택합니다. Overwrite Existing Files(기본값)를 선택하면 새로 생성되는 파일이 기존 파일을 덮어씁니다. Append Incrementing Number To File Names 을 선택하면 라이브러리 분할 도구가 이전 페이지(Output Directories)에서 선택한 모든 출력 디렉터리를 검색하고, 덮어쓰지 않도록 보호할 파일 목록을 생성합니다. 이름이 같은 새 컴포넌트 라이브러리에는 "_#Increment Number" 접미사가 추가됩니다.
-
소스 라이브러리와 옵션을 지정하면 Wizard가 분석을 수행하고, 생성될 싱글 심볼/모델 라이브러리 목록을 표시하여 검토할 수 있도록 합니다. 생성될 각 분할 라이브러리의 이름과 해당 라이브러리에 포함된 Schematic 컴포넌트/풋프린트 모델의 실제 이름이 표시됩니다. 원본 소스 라이브러리도 함께 표시됩니다. 라이브러리 이름은 해당 라이브러리를 구성하는 컴포넌트/모델의 이름과 동일합니다.
생성될 컴포넌트 라이브러리는 Review 페이지에서 검토할 수 있습니다. Splitted Library Name, Component Name 및 Source Library가 나열되어 분할 과정에서 생성될 새 파일을 보여 줍니다. 각 열 오른쪽의 아래쪽 화살표를 클릭하면 해당 열의 데이터가 포함된 드롭다운 목록을 쉽게 열 수 있습니다. 이 기능은 규모가 매우 큰 라이브러리의 파일을 검토할 때 특히 유용합니다.
-
생성될 라이브러리 목록을 검토한 다음 Next을 클릭하여 분할을 진행하고, 소스 제어 저장소에 추가할 라이브러리를 생성합니다. Wizard를 성공적으로 완료한 후 Finish을 클릭하여 닫습니다.
SVN Database Library Conversion Wizard 사용하기
기존 라이브러리를 SVN 유형의 데이터베이스 라이브러리로 변환하는 또 다른 방법은 SVN Database Library Conversion Wizard를 사용하는 것입니다. 이 Wizard는 Schematic, PCB, 데이터베이스 및 통합 라이브러리를 SVN 데이터베이스 라이브러리로 변환합니다. Wizard는 소스 라이브러리를 분할하는 방식, 저장할 저장소와 디렉터리, 생성되는 SVNDbLib 및 MDB 데이터베이스 파일의 출력 디렉터리 등 여러 변환 관련 옵션을 제공합니다.
이 Wizard는 PCB 또는 Schematic 라이브러리 문서를 편집할 때 Tools 메뉴에서 실행할 수 있습니다.
Wizard는 심볼 및 풋프린트 라이브러리를 분할하여 저장소에 체크인하고, SVNDbLib 및 Access 데이터베이스 파일을 생성합니다.
다음 단계
데이터베이스 라이브러리 작업의 다양한 측면에 대해 자세히 알아보려면 다음 페이지를 참조하십시오.



