リバース エンジニアリング ウィザードを使用すると、既存のデータベースまたは Excel ブックからデータベース モデルを作成できます。 データベース モデルでは、データベースの構造がグラフィカルに表示されるため、テーブルやビューなどのデータベース要素が実際のデータを表示せずに相互にどのように関連しているかを確認できます。 これにより、新しいデータベースの作成を効率化したり、既存のデータベースの構造を理解したりできます。
重要: リバース エンジニアリングは、SQL Server 2016 以前のバージョンでサポートされています。 SQL Server 2019 以降のバージョンではサポートされていません。
データベース モデル ダイアグラム テンプレートを使用すると、既存のデータベースからデータベース モデルを作成できます。 このテンプレートは、Visio Plan 2または Visio ライセンスを持つユーザー向けの アプリで使用できます。 ご利用中の Visio のバージョンは、[ファイル]、[アカウント]、[Visio のバージョン情報] の順にクリックすると確認できます。
リバース エンジニアリング ウィザードで抽出されるものを確認する
ウィザードで抽出できるスキーマ定義情報は、データベース管理システム (DBMS) と ODBC ドライバーの機能などの組み合わせによって異なります。 ウィザードには、抽出できるすべての要素が表示され、目的の要素を選択できます。 たとえば、10 個のテーブルのうち 5 つ、4 つのビューのうち 2 つだけに関心がある場合があります。
ウィザードの実行中、リバース エンジニアリングしたアイテムを [テーブルとビュー] ウィンドウに一覧表示する以外に、図を自動的に作成するように選択できます。 図を自動作成しない場合、[テーブルとビュー] ウィンドウからアイテムをドラッグし、データベース モデルを手動で組み立てることができます。
ターゲット DBMS から利用できる範囲内で、次のアイテムを抽出できます。
-
テーブル
-
ビュー
-
主キー
-
外部キー
-
インデックス
-
トリガー (コードを含む)
-
チェック句 (コードを含む)
-
ストアド プロシージャ (コードを含む)
ウィザードを開始する準備を行う
Excel ブックをリバース エンジニアリングする場合は、ウィザードを開始する前にブックを開き、列見出しを含むセルのグループ (または範囲) に名前を付ける必要があります。 複数のワークシートを使用する場合、各ワークシートの列セルのグループに名前を付けるだけです。 ウィザードでは、この範囲がテーブルとして扱われます。 セル範囲に名前を付ける方法の詳細については、 Excel ヘルプを参照してください。
最良の結果を得るために、リバース エンジニアリング ウィザードを実行する前にリバース エンジニアリングを行うターゲット データベースに既定のドライバーを設定してください。 これにより、ウィザードでネイティブ データ型が正しくマップされ、ウィザードによって抽出されたすべてのコードが [コード] ウィンドウに正しく表示されます。
-
[ファイル] タブをクリックし、[新規作成] をクリックし、[テンプレート] をクリックし、[ソフトウェアとデータベース] をクリックし、[データベース モデル図] をダブルクリックします。
-
[データベース] タブの [管理] グループで [データベース ドライバー] をクリックします。
-
[ ドライバー ] タブで、DBMS の Visio 提供ドライバーを選択します。 たとえば、Access データベースを設計する場合は、Microsoft Access を選択します。
Excel ワークシートのリバース エンジニアリングを行っている場合は、ODBC 汎用ドライバーを選択します。
-
[セットアップ] をクリックします。
-
[ODBC ドライバー] タブで、DBMA のベンダーが提供するドライバーの [チェック] ボックスを選択します。 たとえば、Access データベースを設計する場合は、[Microsoft Access Driver (*.mdb,*.accdb)] チェック ボックスを選択します。
-
各ダイアログ ボックスで [OK] をクリックします。
ベンダーが提供する 32 ビット ODBC ドライバーは、バージョン 2.0 より大きい ODBC データ アクセス パックと ODBC レベル 1 準拠以上の ODBC データ アクセス パックのドライバーである必要があります。 ベンダーが提供する OLE DB プロバイダーは、OLE DB バージョン 1.0 以降の仕様に準拠している必要があります。
既存のデータベースにリバース エンジニアリングを行う
-
データベース モデル図の [データベース] タブで、[リバース エンジニアリング] をクリックします。
-
リバース エンジニアリング ウィザードの最初の画面で、次の操作を行います。
-
ご利用中の DBMS (データベース管理システム) に合わせて Microsoft Visio データベース ドライバーを選択します。 Visio データベース ドライバーを特定の ODBC データ ソースにまだ関連付けていない場合、[セットアップ] をクリックし、関連付けてください。
Excel ワークシートをリバース エンジニアリングしている場合、ODBC 汎用ドライバーを選択します。
-
更新するデータベースのデータ ソースを選択します。 既存のデータベースにデータ ソースをまだ作成していない場合、[新規作成] をクリックし、作成します。
新しいソースを作成すると、その名前が [データ ソース] リストに追加されます。
-
設定に問題がなければ、[次へ] をクリックします。
-
ドライバー固有のダイアログ ボックスがあれば、その指示に従います。 たとえば、[データ ソースに接続] ダイアログ ボックスにユーザー名とパスワードを入力し、[OK] をクリックします。 データ ソースがパスワード保護されていない場合、[OK] をクリックします。
-
-
抽出する情報の種類を選択し (チェック ボックスにチェックを入れる)、[次へ] をクリックします。
ウィザードで抽出できる要素はシステムによって異なります。一部のアイテムが淡色表示されている場合があります。
-
抽出するテーブル (とビュー) のチェック ボックスを選択するか、すべて抽出する場合は [すべて選択] をクリックし、[次へ] をクリックします。
Excel ワークシートをリバース エンジニアリングしていて、この一覧に何も表示されない場合は、スプレッドシート内の列見出しを含むセルの範囲に名前を付ける必要がある可能性があります。
-
手順 3 で [ストアド プロシージャ チェック] ボックスを選択した場合は、抽出するプロシージャを選択するか、[すべて選択] をクリックしてすべてを抽出し、[次へ] をクリックします。
-
リバース エンジニアリングしたアイテムを現在のページに自動追加するかどうか選択します。
ウィザードでは、リバース エンジニアリングしたアイテムを [テーブルとビュー] ウィンドウに一覧表示する以外に、図を自動的に作成するように選択できます。 図を自動作成しない場合、[テーブルとビュー] ウィンドウからアイテムをドラッグし、データベース モデルを手動で組み立てることができます。
-
選択内容を見直し、必要な情報が抽出されることを確認し、[完了] をクリックします。
ODBC 汎用ドライバーを使用すると、リバース エンジニアリングされた情報が不完全である可能性があることを示すエラーが表示される場合があります。 ほとんどの場合、これは問題になりません。 [OK ] をクリックしてウィザードを続行します。
ウィザードは選択した情報を抽出し、抽出プロセスに関する注意を [出力] ウィンドウに表示します。