データベースライブラリ機能の基盤はデータベースライブラリファイルです。これには、標準データベースライブラリを使用している場合と、バージョン管理されたデータベースライブラリを使用している場合とで、2つの形式があります:
テーブルとマッピングデータは、アクティブなデータベースライブラリ/SVNデータベースライブラリファイルが必要な外部データベースに正常に接続された後にのみ、エディタのメイン表示ウィンドウに表示されます。接続は、Source of Connection領域で提供されるコントロールを使用して定義されます。
OLE DBサポートを提供する任意のデータベースに接続できます。この領域で提供されるオプションは、それぞれOLE DB接続文字列を使用して対象データベースに接続します。一部のデータベースではOLE DBサポートが提供されていない場合があります。しかし、現在使用されているほとんどすべてのデータベース管理システムは、Open Database Connectivity (ODBC)インターフェースを通じてアクセスできます。データベースリンク機能は、MicrosoftのODBCプロバイダを使用し、ADO (ActiveX Data Object)が任意のODBCデータソースに接続できるようにします。その結果、任意のODBCデータベースに接続できます。接続文字列の一部として指定されるODBCデータベースのOLE DBプロバイダです。
アクセスとエクセルデータベースへの高速接続
Select Database Typeオプションは、ターゲットデータベースがMicrosoft AccessまたはMicrosoft Excelを使用して作成された場合に、接続文字列を作成するための迅速な方法を提供します。このオプションを使用して、データベースタイプを選択し、必要なデータベースファイルを参照して選択します。対応する接続文字列が自動的に構成され、Use Connection Stringオプションのフィールドに入力されます。
フルパスを指定することもできますし、データベースライブラリ/SVNデータベースライブラリファイルに対して相対パスを保存することも選択できます。
接続文字列の構築
会社のデータベースがAccessまたはExcelベースでない場合、接続文字列を明示的に構築したい場合は、Use Connection Stringオプションを有効にし、右側の関連するBuildボタンをクリックします。Data Link Propertiesダイアログが表示されます。
Data Link Propertiesダイアログを通じて接続文字列を構築する。
ダイアログはConnectionタブで開きます。OLE DBプロバイダーMicrosoft Office <Version> Access Database Engine OLE DB Providerは、ダイアログのProviderタブでデフォルトに設定されています。これは新しいデータベースライブラリ/SVNデータベースライブラリファイルのデフォルトプロバイダー設定であり、Accessデータベースファイル(*.mdb
)に接続するためにも使用されます。必要に応じてプロバイダーを変更してください。
Connectionタブから、接続したいデータベースの名前(パスを含む)を入力してください。
データベースにログイン権限が必要な場合は、必要に応じてこれを入力し、ダイアログのAdvancedタブから利用可能な他の高度な設定も入力してください。Allタブでは、定義されたリンクオプションの概要リストと、選択したOLE DBプロバイダーに関連する拡張オプションが提供されます。このタブから必要に応じてオプションを変更できます。
リンクオプションが定義されると、 ConnectionタブのTest Connectionボタンをクリックすることで、接続が成功したかどうかを確認できます。接続が成功すると、その旨の確認ダイアログが表示されます。
データリンクプロパティダイアログはMicrosoftのダイアログであり、そのためF1を押すか、利用可能なHelpボタンを使用することでMicrosoft Data Link Helpファイルにアクセスできます。このファイルはAltium Designerのドキュメントセットの一部ではありません。
データリンクファイルを指定する
接続したいデータソースがMicrosoft Data Linkファイル(*.udl)を使用して記述されている場合、接続オプションの3番目であるUse Data Link Fileを有効にし、関連するBrowseボタンをクリックして必要なファイルを見つけてください。データリンクファイルは、本質的に接続文字列の保存容器です。
接続を進める
外部データベースへの接続を定義した後、Connectボタンのテキストが太字になり、接続を進めることができることを示します。接続の詳細が正しければ、ターゲットデータベースのテーブルとマッピング情報がデータベースライブラリ/SVNデータベースライブラリファイルに読み込まれます。ConnectボタンのテキストはConnectedに変わり、ボタンはグレーアウトされます。
接続の詳細に問題がある場合、たとえば接続文字列が正しく構築されていない、またはパスが誤って入力されていると、接続は失敗し、この事実を警告するメッセージが表示されます。接続設定を確認し、再度Connectボタンをクリックしてください。
データベースライブラリにおける接続失敗のフラグ付けの例。
データベースに接続している間に接続設定を変更すると、ライブ接続が失われ、ConnectボタンのテキストがReconnectに変わります。接続を再確立するにはクリックしてください。
初回接続が成功し、データベースライブラリ/SVNデータベースライブラリファイルが保存された後は、ターゲットデータベースの場所とファイル名が変更されない限り、ファイルが開かれるたびに接続が自動的に行われます。
バージョン管理リポジトリへのリンクを指定する(SVNDbLibのみ)
Copy Link
Copied
DbLibでは、シンボルとモデルのライブラリがハードディスクやその他のローカル/ネットワーク媒体に保存されます。SVNDbLibの場合、これらのライブラリはSubversionリポジトリ内のバージョン管理下に保存されることを覚えておいてください。SVNDbLibファイルの一部として、このリポジトリへのリンクを定義する必要があります。Database Library Optionsダイアログ(Tools » Options)のSVN Repositoryタブで、SVNリポジトリへの接続が定義されます。このダイアログは、ドキュメントビューのField Settings領域にあるOptionsボタンをクリックすることでアクセスすることもできます。
ファイルベースのSVNリポジトリへの接続例。
データベーステーブルリスト
Copy Link
Copied
外部データベースへの接続に成功すると、テーブルとマッピングデータが読み込まれます。DbLib/SVNDbLibドキュメントの左側には、接続されたデータベースに存在するすべてのテーブルがリストされます。
Excelベースのデータベースの場合、テーブルは実際にはそのリンクされたスプレッドシート内のシートです。テーブル名には$の接尾辞が付きます。
ターゲットデータベースが複数のExcelスプレッドシートファイル(*.xls)を使用して作成された場合、ODBCドライバの制限により、接続できるシートの数には64の制限があります。
接続されたデータベースに存在するテーブル。
各テーブルエントリの隣にあるEnableオプションを使用すると、そのテーブルが結果のデータベースライブラリの一部となるかどうかを制御できます。データベースライブラリがComponentsパネルの利用可能なファイルベースのライブラリリストに追加されると、各テーブルは別々のライブラリエンティティとして表示されます。したがって、実際には1つのデータベースライブラリのみが追加されているにもかかわらず、Componentsパネルの観点からは、複数の異なるライブラリを追加したように見えます。詳細については、ファイルベース&データベースライブラリでのコンポーネントの検索を参照してください。
リスト内のテーブルエントリをクリックすると、そのアイコンが
から
に変わり、現在アクティブなテーブルとして区別されます。テーブル(およびそのデータ)はドキュメントのTable Browserタブに表示されます。これはテーブルの編集可能なビューであり、外部データベース自体を起動することなく、その内容をすばやく参照し、必要に応じて編集できます。
接続されたデータベースのソーステーブルを閲覧。
上の図に示されているように、テーブルブラウザの領域を拡大するには、ドキュメントビューの右上にある

コントロールをクリックして、上部の全領域(接続とフィールド設定)を折りたたみます。

をクリックして展開します。テーブルは、グループ化、ソート、フィルタリングの機能もサポートしています。
マッチング基準の指定
Copy Link
Copied
外部データベースからコンポーネントが配置された後、配置されたコンポーネントとそれを作成するために使用されたデータベースレコードとの間のリンクを保持する方法が必要です。本質的に、これらの二つをマッチさせる必要があります。
コンポーネントが配置されると、そのパラメータ情報は、データベースレコードの対応するフィールドを使用してその場で作成されます。配置後のスキーマティックコンポーネントとデータベースレコードとのリンクは、これらのパラメータの1つ以上を使用して確立されます。Field Settings領域では、マッチング基準を定義できます。これは、単純な単一キー検索、またはWhere句を使用したより高度なマッチングのいずれかです。
マッチング基準はテーブルごとに指定されます。
配置後のマッチング基準の制御。
単一キー検索
Single key lookupオプションが有効になっている(デフォルト)場合、Database fieldとPart parameterフィールドが利用可能になります。前者は、データベースのアクティブなテーブルのすべての利用可能なフィールド名(列ヘッダー)をリストします。スキーマティックコンポーネントのパラメータは配置されると追加されるため、Part parameterフィールドは選択されたデータベースフィールドを反映します。
通常、ルックアップキーフィールドには、外部データベースの各コンポーネントを一意に識別するもの、例えばパーツ番号が使用されます。選択されたルックアップフィールドは、ドキュメントのField MappingsタブにDesign Parameterエントリとして灰色で表示されます。
パーツ番号による単一キーマッピング
配置後のある段階でUpdate Parameters From Database機能を使用する際、配置された回路図コンポーネントの選択したキー パラメータから情報が読み取られ、その後、すべての有効なテーブルにわたってデータベースの選択した (キー) フィールドで検索されます。一致するものがある場合、親テーブルのそのレコードの他のセルからの情報を回路図コンポーネントのマッピングされたパラメータに戻すことができます。
高度なマッチング - WHERE句
Single key lookupオプションは、一意の部品番号/IDで一致させる場合にはうまく機能しますが、静電容量や抵抗のような一意でないパラメータで一致させる場合にはそれほど効果的ではありません。この場合、より高度なWHERE句を使用する必要があり、回路図コンポーネントをそのソースデータベースレコードにリンクさせるために複数のキー一致を指定できるようになります。
最も単純な形でのWhere句(SQL構文を使用して記述)は、単一のキー検索を定義する選択されたエントリを反映します。たとえば、Database fieldがデフォルトのPart Numberに選択された場合、Part parameterフィールドも自動的にPart Numberに設定され、Where句のエントリは次のようになります:
[Part Number] = '{Part Number}'
データベースフィールド(テーブル列)を囲む角括弧は、Database ConnectionダイアログのAdvancedタブで指定された引用文字です。このダイアログには、ドキュメントのSource of Connection領域にあるAdvancedボタンをクリックするか、メインToolsメニューからアクセスできます。
Database ConnectionダイアログのAdvancedタブでは、構築されたWhere句でテーブルを引用したり、テーブルスキーマ名を使用したりするための追加のSQLオプションが提供されます。
テーブルを引用する際に使用される特定の引用文字は、使用しているデータベースによって異なります。たとえば、角括弧[ ]は、AccessやADO経由のExcel、またはMSSQL(後のバージョン)などのMicrosoftデータベースでのみ使用可能です。MYSQLでは、引用のために`(バックティック)文字を使用します。実際、列名にスペースが含まれているか、そのデータベースの予約語である場合にのみ、どのデータベースでも引用する必要があります。使用しているデータベースソフトウェアのドキュメントを確認して、どの引用文字が使用されているか(ある場合)を確認してください。
波括弧(ブレース)は、参照されているエントリが設計パラメータであることを指定します。シングルクォートは、設計パラメータを数値(クォートなし)ではなく文字列として扱うことを指定するために使用されます。型の一致は非常に重要であり、SQLは型に敏感です。設計パラメータは、データベース内の列と同じ型にする必要があります。
標準SQL構文を使用して、Where句は複数のDatabase field/Part parameterエントリを使用して一致させるように拡張できます。例えば:
[Capacitance] = '{Capacitance}' AND [Tolerance] = {Tolerance} AND [Manufacturer] = '{Manufacturer}'
この場合、データベースの関連テーブルの単一のレコードが、3つの異なる設計パラメータを使用してリンクされます。Tolerance設計パラメータのエントリが引用されていないことに注意してください。これは、データベースの関連テーブルの列の型がNumberであり、Stringではないことを意味します。
標準SQL構文を使用すると、WHERE句を好きなようにシンプルにも複雑にもすることができます。
データベースフィールドを設計パラメータにマッピングする
Copy Link
Copied
データベースライブラリから配置されたコンポーネントの設計パラメータは、配置時に作成または追加されます。実際に作成されるパラメータと、配置後にその情報を更新するために使用されるオプション(Tools » Update Parameters From Databaseコマンドを使用)は、データベースライブラリ/SVNデータベースライブラリファイルに指定されたマッピングおよび更新情報によって決まります。これらの設定は、メインドキュメントビューのField Mappingsタブで行われます。
マッピングと更新オプションは、テーブルごとに指定されます。
DbLib/SVNDbLibドキュメントのField Mappingsタブでパラメータマッピングと更新オプションを指定します。
モデルとパラメータのマッピング
Field Mappingsタブの左から2つの列は、データベースからどの情報をコンポーネントの属性、モデル、パラメータにマッピングするかを制御するために使用されます。
-
Database Field Name - この列は、データベースの現在アクティブなテーブル内のすべてのフィールド(列)名を一覧表示します。
-
Design Parameter - この列は、データベース内の各対応するフィールドがどのように使用されるかを定義します。これは、コンポーネントのシンボルやフットプリントモデルをソースするためのものである可能性があり(角括弧で囲まれます)、またはコンポーネントパラメータとして含めるためのものである可能性があります(これらは括弧で囲まれていません)。
データベースに接続されたDbLib/SVNDbLibドキュメントを開くと、一部のデザインパラメータには角括弧が含まれているものと含まれていないものがあることに気づくでしょう。角括弧は予約名を示しており、例えば[Library Ref]
のようなデータは、コンポーネントの属性とモデルを埋めるために使用されます。角括弧を含まないデザインパラメータは、コンポーネントパラメータになります。
自動マッピングは、データベースフィールド名がAltium Designerで使用される予約名と一致することを前提としています。一致しない場合は、マッピングを手動で設定する必要があります。
このセクションでは、コンポーネント配置時に作成されるシミュレーションモデルリンクを定義するために、外部データベーステーブルに追加できる各データベースフィールドについて説明します。