データベース モデル (エンティティ関係図とも呼ぶ) を作成する

データベース モデル (エンティティ関係図とも呼ぶ) を作成する

データベース モデル図テンプレートを使い、リレーショナル モデルまたはオブジェクト リレーショナル モデルのいずれかの概念を使用することによって、新しいモデルを作成したり、既存のデータベースからモデルにリバース エンジニアリングしたりすることができます。エンティティ関係ステンシルを使用して、SQL92 以前の標準に基づくデータベース モデルを作成します。種類を使用するために追加の図形がある、オブジェクト リレーショナル ステンシルを使用して、SQL99 以降の標準に基づくデータベース モデルを作成します。

データベース モデルの例

データベース モデル図テンプレートを使い、リレーショナル モデルまたはオブジェクト リレーショナル モデルのいずれかの概念を使用することによって、新しいモデルを作成したり、既存のデータベースからモデルにリバース エンジニアリングしたりすることができます。エンティティ関係ステンシルを使用して、SQL92 以前の標準に基づくデータベース モデルを作成します。種類を使用するために追加の図形がある、オブジェクト リレーショナル ステンシルを使用して、SQL99 以降の標準に基づくデータベース モデルを作成します。

この記事では、データベース モデルを作成する方法、および作成後にモデルを使って実行できる内容について説明します。

データベース モデル機能が見つかりません。

Microsoft Visio のすべてのエディションにデータベース モデル機能があるわけではありません。この記事にあるプロシージャで説明されている機能が見つからない場合は、そのような機能が含まれていない Visio のエディションを使用している可能性があります。

  • Microsoft Visio Standard には、データベース モデル図テンプレートがありません。

  • Microsoft Visio Professional エディションおよび Premium エディションの場合、データベース モデル図テンプレートのリバース エンジニアリング (つまり、既存のデータベースを利用し、Visio でモデルを作成する) 機能を備えていますが、フォワード エンジニアリング (つまり、Visio データベース モデルを利用し、SQL コードを生成すること) には対応していません。

  1. データベース モデル図を開始するには、次のいずれかの操作を行います。

    新しいモデル図を最初から作成する

    開始点として使用する既存のデータベースがない場合は、空のデータベース モデルで開始して、独自のテーブルとリレーションシップを追加することができます。

    1. [ファイル] タブをクリックします。

    2. [新規作成]、[ソフトウェアとデータベース] の順にクリックし、[データベース モデル図] をダブルクリックします。

    3. [データベース] タブの [管理] グループで [表示オプション] をクリックします。

    4. [データベース図面オプション] ダイアログ ボックスで、使用する記号セット、およびその他のテーブルとリレーションシップのオプションを選択して、[OK] をクリックします。

    開始点として既存のデータベースを使用する

    理解を深めたり、新しいモデルの開始点として使用したりすることができるように、モデルにするデータベースがある場合、リバース エンジニアリング ウィザードを使って、データベースのスキーマ (構造) を展開し、新しいモデルを構築できます。

    ウィザードを開始する準備

    1. Microsoft Excel ブックのリバース エンジニアリングを行う場合、ウィザードを開始する前に、ブックを開き、列見出しを含むセルのグループ (または範囲) に名前を付ける必要があります。複数のワークシートを使用する場合、各ワークシートの列セルのグループに名前を付けるだけです。ウィザードでは、この範囲がテーブルとして扱われます。セル範囲に名前を付ける方法については、Excel ヘルプの名前付きセルの参照または範囲の定義に関するトピックを参照してください。

    2. 最良の結果を得るために、リバース ​​エンジニアリング ウィザードを実行する前にリバース エンジニアリングを行うターゲット データベースに既定のドライバーを設定してください。この手順により、ウィザードでネイティブのデータ型を正しくマッピングでき、ウィザードにより抽出されるコードはすべて [コード] ウィンドウに正しく表示されます。

    3. [ファイル] タブをクリックします。

    4. [新規作成]、[ソフトウェアとデータベース] の順にクリックし、[データベース モデル図] をダブルクリックします。

    5. [データベース] タブの [モデル] グループで、[リバース エンジニアリング] をクリックします。

    6. リバース エンジニアリング ウィザードの最初の画面で、次の操作を行います。

      1. 使用しているデータベース管理システム (DBMS) に合わせてデータベース ドライバーを選択します。Visio データベース ドライバーを特定の ODBC データ ソースにまだ関連付けていない場合、[セットアップ] をクリックします。

        注: Excel ワークシートのリバース エンジニアリングを行っている場合は、ODBC 汎用ドライバーを選択します。

      2. 更新するデータベースのデータ ソースを選択します。既存のデータベースにデータ ソースをまだ作成していない場合、[新規作成] をクリックし、作成します。

        新しいソースを作成すると、その名前が [データ ソース] リストに追加されます。

      3. 設定に問題がなければ、[次へ] をクリックします。

    7. ドライバー固有のダイアログ ボックスがあれば、その指示に従います。

      たとえば、[データ ソースに接続] ダイアログ ボックスにユーザー名とパスワードを入力し、[OK] をクリックします。

      注: ODBC 汎用ドライバーを使用する場合、リバース エンジニアリングを行った情報が不完全である可能性を示すエラー メッセージが表示されることがあります。ほとんどの場合、これは問題ではありません。[OK] をクリックし、ウィザードを続行してください。

    8. 抽出する情報の種類のチェック ボックスをオンにして、[次へ] をクリックします。

      注: ウィザードで抽出できる要素はデータベース管理システムによって異なるため、一部のアイテムが利用できない (淡色表示される) 場合があります。

    9. 抽出するテーブル (とビュー) のチェック ボックスを選択するか、すべて抽出する場合は [すべて選択] をクリックし、[次へ] をクリックします。

      注: Excel ワークシートのリバース エンジニアリングを行うときに、このリストに何も表示されない場合、ワークシートの列見出しを含むセル範囲に名前を付けることが必要である可能性が高くなります。

    10. [ストアド プロシージャ] チェック ボックスをオンにした場合、抽出するプロシージャを選択するか、すべて抽出する場合は [すべて選択] をクリックし、[次へ] をクリックします。

    11. リバース エンジニアリングを行ったアイテムを現在のページに自動追加するかどうかを選択します。

      注: ウィザードでは、リバース エンジニアリングを行ったアイテムを [テーブルとビュー] ウィンドウに一覧表示する以外に、図を自動的に作成するように選択できます。図を自動作成しない場合、[テーブルとビュー] ウィンドウからアイテムを図面ページにドラッグし、データベース モデルを手動で組み立てることができます。

    12. 選択内容を確認し、必要な情報が抽出されていることを確認し、[完了] をクリックします。

      ウィザードでは選択した情報が抽出され、抽出プロセスに関する注意が [出力] ウィンドウに表示されます。

    既存のモデルをインポートして洗練化する

    既存の VisioModeler または PLATINUM ERwin モデルがある場合は、モデルをインポートして Visio データベース モデル図を作成できます。この機能は、VisioModeler 2.0 以降の辞書モデル (.imd) ファイルおよび PLATINUM ERwin 2.6、3.0、3.52 の .erx ファイルのみに制限されます。

    1. [ファイル] タブをクリックします。

    2. [新規作成]、[ソフトウェアとデータベース] の順にクリックし、[データベース モデル図] をダブルクリックします。

    3. [データベース] タブの [モデル] グループで [インポート] をクリックし、モデルの種類をクリックします。

    4. インポートするモデルのパスとファイル名を入力するか、[参照] ボタンをクリックしてモデル ファイルを検索し、[開く] をクリックします。

    5. [インポート] ダイアログ ボックスで、[OK] をクリックします。

      Visio によってファイルがインポートされ、その進行状況が [出力] ウィンドウに表示されます。インポートされたテーブルは、[テーブルとビュー] ウィンドウに表示されます。

    6. [テーブルとビュー] ウィンドウで、モデルにするテーブルを選択して図面ページにドラッグします。

  2. データベース モデル図を作成した後、図の洗練化を開始します。テーブルとビューの追加およびカスタマイズ、リレーションシップの作成、列とデータ型のカスタマイズを行うことができます。

    テーブル

    [エンティティ] 図形を使用して、図にテーブルを作成します。

    1. [エンティティ関係] または [オブジェクト リレーショナル] ステンシルのいずれかから [エンティティ] 図形を図面にドラッグします。

    2. 図形をダブルクリックして、[データベース プロパティ] ウィンドウを開きます。

    3. [カテゴリ] の下で [定義] をクリックし、テーブルの名前を入力します。

    4. [カテゴリ] の下で [] をクリックし、名前を入力してデータ型を選択します。

    5. Null 値にすることができない列の [必須] チェック ボックスをオンにします。

    6. データベース テーブルの各行を一意に識別する列の [PK] (主キー) チェック ボックスをオンにします。

    7. [カテゴリ] の下で [インデックス]、[トリガー]、[チェック]、または [拡張] をクリックして、これらの要素のオプションを作成します。

    [データベース プロパティ] ウィンドウを使用して、データ型や主キーなどの列のプロパティを追加または変更します。

    1. 図のテーブルをダブルクリックします。

    2. [データベース プロパティ] ウィンドウの [カテゴリ] の下で [] をクリックします。

    3. 最初の空の [物理名] セルをクリックして、名前を入力します。

    4. 列のデータ型を変更するには、列の [データ型] フィールドをクリックして、リストからデータ型を選択するか、リストにデータ型を入力します。たとえば、「decimal(8,2)」や「char(30)」と入力できます。

    5. Null 値を回避するには、[必須] チェック ボックスをオンにします。

    6. 列が主キーであることを指定するには、[PK] チェック ボックスをオンにします。

    7. [] カテゴリのクリック時に表示される内容に加え、その他の列のプロパティを表示するには、列を選択して [編集] をクリックします。

    リレーションシップ

    リレーションシップでは、データベースで 1 つのテーブルの行と関連テーブルの行を一致させることができるように、主キーと外部キーを使用します。そのようなリレーションシップは図に表示できます。また、カーディナリティ (例: 一対多) を設定し、クロウズ フット、リレーショナル、または IDEF1X のいずれかの表記を使用して、カーディナリティを表示することもできます。データベース モデル図テンプレート内にこれらの表記のいずれかを使用して、多対多リレーションシップを表示することはできません。

    1. 2 つのテーブル間にリレーションシップを作成する

      1. どちらのテーブルも図に表示されていることを確認します。既存のデータベースからモデルのリバース エンジニアリングを行った場合、[テーブルとビュー] ウィンドウから 1 つまたは両方のテーブルを図面ページにドラッグすることが必要なことがあります。

      2. リレーションシップの主キー側に必要なテーブルをダブルクリックします。

      3. [データベース プロパティ] ウィンドウの [カテゴリ] の下で [] をクリックします。

      4. グリッド内で、テーブルの各行を一意に識別するために使用する列をクリックし、[PK] チェック ボックスをオンにしてその列を主キーとして設定します。

      5. [オブジェクト リレーショナル] または [エンティティ関係] ステンシルから、[リレーションシップ] 図形をドラッグしてページ上の空白スペースにドロップします。

      6. 高い方の終端と親テーブルを含むテーブルを接続します。

      7. もう一方の終端と子テーブルを接続します。

        2 つ目のテーブルに主キーと同じ名前の列がまだ含まれていない場合は、モデラーによって 2 つ目のテーブルに外部キーとして追加されます。

        注: リレーションシップ行が非表示になる場合、[データベース] タブの [管理] グループで [表示オプション] をクリックします。[リレーションシップ] タブの [表示] で、[リレーションシップ] チェック ボックスをオンにします。

    2. リレーションシップのカーディナリティを次のように設定します。

      1. リレーションシップをダブルクリックします。

      2. [データベース プロパティ] ウィンドウの [カテゴリ] の下で [その他] をクリックします。

      3. [カーディナリティ] の下で、リレーションシップに最適なカーディナリティを選択します。一対多リレーションシップの場合、[0 またはそれ以上] または [1 またはそれ以上] のいずれかを選択するのが最適です。一対一リレーションシップの場合、[0 または 1] または [1] のいずれかを選択するのが最適です。

  3. 図に対してその他の洗練化を行うには (インデックス、チェック句、トリガーの作成など)、次の操作を行うことができます。

    インデックスを作成する

    インデックスでは、クエリを実行するときのデータベースにおけるパフォーマンス (速度) を向上します。

    1. データベース モデル図を開きます。

    2. インデックスを追加するテーブルをダブルクリックして、[データベース プロパティ] ウィンドウの [カテゴリ] リストで [インデックス] をクリックします。

    3. [新規作成] をクリックします。

    4. [インデックスの作成] ダイアログ ボックスにインデックスの名前を入力して、[OK] をクリックします。

    5. [インデックスの種類] リストで、一意または非一意のインデックスを作成するオプションを選択します。

    6. [使用可能な列] リストで、このインデックス内に含める各列の名前を選択して、[追加 >] をクリックします。

    7. [インデックス付きの列] リストで、[昇順] チェック ボックスをオンにして、昇順の並べ替え順序のインデックスを作成するか、チェック ボックスをオフにして、降順の並べ替え順序のインデックスを作成します。

      データベース モデル図が更新されます。

    ビューを作成する

    ビューは保存したクエリとして考えることができます。複数のテーブルから同じ情報に繰り返しアクセスする必要がある場合、または実際のテーブルを変更することなく、ユーザーにデータを公開する必要がある場合、ビューは特に便利です。

    [エンティティ関係] または [オブジェクト リレーショナル] ステンシルから [ビュー] 図形を図面ページにドラッグします。

    テーブルとビューの拡張プロパティを設定する

    データベース管理システム (DBMS) によって、保存される場所を判断するためにテーブルやビューの拡張プロパティを設定できる場合があります。

    設定する拡張プロパティがあるテーブルまたはビューをダブルクリックして、[データベース プロパティ] ウィンドウの [カテゴリ] リストで [拡張] をクリックします。

    チェック句を作成する

    チェック句を使用して、列に入力されたデータが特定の値の範囲内にあることを確認します。たとえば、"年齢" と呼ばれる列のデータが 65 以上である必要があるチェック句を作成できます。

    1. テーブルをダブルクリックして、[データベース プロパティ] ウィンドウを開きます。

    2. [カテゴリ] の下で [] をクリックして、チェック句を追加する列をクリックします。

    3. [編集] をクリックします。

    4. [列のプロパティ] ダイアログ ボックスの [チェック] タブで、必要な制約を入力します。

      チェック句が [ローカル コード] の下の [コード] ウィンドウに追加されます。

    ストアド プロシージャとユーザー定義の関数を作成する

    ストアド プロシージャとユーザー定義の関数を使用して、同じアクションを繰り返し実行するために再利用できるコードのパケットを作成します。この 2 つには、ユーザー定義の関数では値を返すのに対して、ストアド プロシージャでは値を返すことなくコードを実行するという大きな違いがあります。

    1. [データベース] タブの [表示/非表示] グループで、[コード] チェック ボックスをオンにして [コード] ウィンドウを開きます。

    2. [グローバル コード]、[新規作成] の順にクリックします。

    3. [コード エディター] の [プロパティ] タブ上で、作成するコードの種類をクリックして、コードの名前を入力します。

    4. [本文] タブでコードを入力して、[OK] をクリックします。

    トリガーを作成する

    トリガーにより、特定のイベントがデータベースで発生すると、トリガー内で指定した SQL コードが実行されます。

    1. テーブルをダブルクリックして、[データベース プロパティ] ウィンドウを開きます。

    2. [カテゴリ] の下で [トリガー] をクリックし、[追加] をクリックします。

    3. [プロパティ] タブで、トリガーの名前を入力します。

    4. [本文] タブでコードを入力して、[OK] をクリックします。

      トリガーが [ローカル コード] の下の [コード] ウィンドウに追加されます。

この記事では、データベース モデルを作成する方法、および作成後にモデルを使って実行できる内容について説明します。すばやく開始するには、[ファイル] メニューで、[新規作成]、[ソフトウェアとデータベース] の順にポイントし、[データベース モデル図] をクリックします。

データベース モデル機能が見つかりません。

使用している Microsoft Office Visio のエディションに探している機能が含まれていない可能性があります。使用している Visio のエディションを確認するには、[ヘルプ] メニューの [バージョン情報] をクリックしてください。ダイアログ ボックスの一番上のテキスト行にエディションの名前が表示されます。

  • Microsoft Office Visio Standard には、データベース モデル図テンプレートがありません。

  • Microsoft Office Visio Professional の場合、データベース モデル図テンプレートのリバース エンジニアリング機能を備えていますが (既存のデータベースを利用し、Visio でモデルを作成する)、フォワード エンジニアリング (Visio データベース モデルを利用し、SQL コードを生成する) には対応していません。

  • Visio for Enterprise Architects の場合、完全なデータベース モデリング機能をご利用いただけます。リバース エンジニアリングとフォワード エンジニアリングの両方が含まれています。Visio for Enterprise Architects は MSDN Premium Subscription に含まれています。このサブスクリプションは Visual Studio Professional エディションと Visual Studio Team System ロールベース エディションでご利用いただけます。

  1. データベース モデル図を開始するには、次のいずれかの操作を行います。

    新しいモデル図を最初から作成する

    開始点として使用する既存のデータベースがない場合は、空のデータベース モデルで開始して、独自のテーブルとリレーションシップを追加することができます。

    1. [ファイル] メニューで、[新規作成]、[ソフトウェアとデータベース] の順にポイントし、[データベース モデル図] をクリックします。

    2. [データベース] メニューで [オプション] をポイントし、[ドキュメント] をクリックします。

    3. [データベース図面オプション] ダイアログ ボックスで、使用する記号セット、およびその他のテーブルとリレーションシップのオプションを選択して、[OK] をクリックします。

    開始点として既存のデータベースを使用する

    理解を深めたり、新しいモデルの開始点として使用したりすることができるように、モデルにするデータベースがある場合、リバース エンジニアリング ウィザードを使って、データベースのスキーマ (構造) を展開し、新しいモデルを構築できます。

    注: ウィザードを開始する準備

    1. Microsoft Office Excel ブックのリバース エンジニアリングを行う場合、ウィザードを開始する前に、ブックを開き、列見出しを含むセルのグループ (または範囲) に名前を付ける必要があります。複数のワークシートを使用する場合、各ワークシートの列セルのグループに名前を付けるだけです。ウィザードでは、この範囲がテーブルとして扱われます。セル範囲に名前を付ける方法については、Microsoft Office Excel ヘルプの名前付きセルの参照または範囲の定義に関するトピックを参照してください。

    2. 最良の結果を得るために、リバース ​​エンジニアリング ウィザードを実行する前にリバース エンジニアリングを行うターゲット データベースに既定のドライバーを設定してください。この手順により、ウィザードでネイティブのデータ型を正しくマッピングでき、ウィザードにより抽出されるコードはすべて [コード] ウィンドウに正しく表示されます。

    3. [ファイル] メニューで、[新規作成] をポイントし、[ソフトウェアとデータベース] をポイントし、[データベース モデル図] をクリックします。

    4. [データベース] メニューで、[リバース エンジニアリング] をクリックします。

    5. リバース エンジニアリング ウィザードの最初の画面で、次の操作を行います。

      1. 使用しているデータベース管理システム (DBMS) に合わせて Microsoft Office Visio データベース ドライバーを選択します。Visio データベース ドライバーを特定の ODBC データ ソースにまだ関連付けていない場合、[セットアップ] をクリックします。

        注: Excel ワークシートのリバース エンジニアリングを行っている場合は、ODBC 汎用ドライバーを選択します。

      2. 更新するデータベースのデータ ソースを選択します。既存のデータベースにデータ ソースをまだ作成していない場合、[新規作成] をクリックし、作成します。

        新しいソースを作成すると、その名前が [データ ソース] リストに追加されます。

      3. 設定に問題がなければ、[次へ] をクリックします。

    6. ドライバー固有のダイアログ ボックスがあれば、その指示に従います。

      たとえば、[データ ソースに接続] ダイアログ ボックスにユーザー名とパスワードを入力し、[OK] をクリックします。データ ソースがパスワードで保護されていない場合、[OK] をクリックするだけです。

      注: ODBC 汎用ドライバーを使用する場合、リバース エンジニアリングを行った情報が不完全である可能性を示すエラー メッセージが表示されることがあります。ほとんどの場合、これは問題ではありません。[OK] をクリックし、ウィザードを続行してください。

    7. 抽出する情報の種類のチェック ボックスをオンにして、[次へ] をクリックします。

      注: ウィザードで抽出できる要素はデータベース管理システムによって異なるため、一部のアイテムが利用できない (淡色表示される) 場合があります。

    8. 抽出するテーブル (とビュー) のチェック ボックスを選択するか、すべて抽出する場合は [すべて選択] をクリックし、[次へ] をクリックします。

      注: Excel ワークシートのリバース エンジニアリングを行うときに、このリストに何も表示されない場合、ワークシートの列見出しを含むセル範囲に名前を付けることが必要である可能性が高くなります。

    9. 手順 5 で [ストアド プロシージャ] チェック ボックスを選択した場合、抽出するプロシージャを選択するか、すべて抽出する場合は [すべて選択] をクリックし、[次へ] をクリックします。

    10. リバース エンジニアリングを行ったアイテムを現在のページに自動追加するかどうかを選択します。

      注: ウィザードでは、リバース エンジニアリングを行ったアイテムを [テーブルとビュー] ウィンドウに一覧表示する以外に、図を自動的に作成するように選択できます。図を自動作成しない場合、[テーブルとビュー] ウィンドウからアイテムを図面ページにドラッグし、データベース モデルを手動で組み立てることができます。

    11. 選択内容を確認し、必要な情報が抽出されていることを確認し、[完了] をクリックします。

      ウィザードでは選択した情報が抽出され、抽出プロセスに関する注意が [出力] ウィンドウに表示されます。

    既存のモデルをインポートして洗練化する

    既存の VisioModeler または PLATINUM ERwin モデルがある場合は、モデルをインポートして Visio データベース モデル図を作成できます。この機能は、VisioModeler 2.0 以降の辞書モデル (.imd) ファイルおよび PLATINUM ERwin 2.6、3.0、3.52 の .erx ファイルのみに制限されます。

    1. [ファイル] メニューで、[新規作成]、[ソフトウェアとデータベース] の順にポイントし、[データベース モデル図] をクリックします。

    2. [データベース] メニューで [インポート] をポイントして、[<モデル型> のインポート] をクリックします。

    3. インポートするモデルのパスとファイル名を入力するか、[参照] ボタンをクリックしてモデル ファイルを検索し、[開く] をクリックします。

    4. [インポート] ダイアログ ボックスで、[OK] をクリックします。

      Visio によってファイルがインポートされ、その進行状況が [出力] ウィンドウに表示されます。インポートされたテーブルは、[テーブルとビュー] ウィンドウに表示されます。

    5. [テーブルとビュー] ウィンドウで、モデルにするテーブルを選択して図面ページにドラッグします。

  2. データベース モデル図を作成した後、図の洗練化を開始します。テーブルとビューの追加およびカスタマイズ、リレーションシップの作成、列とデータ型のカスタマイズを行うことができます。

    テーブル

    [エンティティ] 図形を使用して、図にテーブルを作成します。

    1. [エンティティ関係] または [オブジェクト リレーショナル] ステンシルのいずれかから [エンティティ] 図形を図面にドラッグします。

    2. 図形をダブルクリックして、[データベース プロパティ] ウィンドウを開きます。

    3. [カテゴリ] の下で [定義] をクリックし、テーブルの名前を入力します。

    4. [カテゴリ] の下で [] をクリックし、名前を入力してデータ型を選択します。

    5. Null 値にすることができない列の [必須] チェック ボックスをオンにします。

    6. データベース テーブルの各行を一意に識別する列の [PK] (主キー) チェック ボックスをオンにします。

    7. [カテゴリ] の下で [インデックス]、[トリガー]、[チェック]、または [拡張] をクリックして、これらの要素のオプションを作成します。

    [データベース プロパティ] ウィンドウを使用して、データ型や主キーなどの列のプロパティを追加または変更します。

    1. 図のテーブルをダブルクリックします。

    2. [データベース プロパティ] ウィンドウの [カテゴリ] の下で [] をクリックします。

    3. 最初の空の [物理名] セルをクリックして、名前を入力します。

    4. 列のデータ型を変更するには、列の [データ型] フィールドをクリックして、リストからデータ型を選択するか、リストにデータ型を入力します。たとえば、「decimal(8,2)」や「char(30)」と入力できます。

    5. Null 値を回避するには、[必須] チェック ボックスをオンにします。

    6. 列が主キーであることを指定するには、[PK] チェック ボックスをオンにします。

    7. [] カテゴリのクリック時に表示される内容に加え、その他の列のプロパティを表示するには、列を選択して [編集] をクリックします。

    リレーションシップ

    リレーションシップでは、データベースで 1 つのテーブルの行と関連テーブルの行を一致させることができるように、主キーと外部キーを使用します。そのようなリレーションシップは図に表示できます。また、カーディナリティ (例: 一対多) を設定し、クロウズ フット、リレーショナル、または IDEF1X のいずれかの表記を使用して、カーディナリティを表示することもできます。データベース モデル図テンプレート内にこれらの表記のいずれかを使用して、多対多リレーションシップを表示することはできません。

    1. 2 つのテーブル間にリレーションシップを作成する

      1. どちらのテーブルも図に表示されていることを確認します。既存のデータベースからモデルのリバース エンジニアリングを行った場合、[テーブルとビュー] ウィンドウから 1 つまたは両方のテーブルを図面ページにドラッグすることが必要なことがあります。

      2. リレーションシップの主キー側に必要なテーブルをダブルクリックします。

      3. [データベース プロパティ] ウィンドウの [カテゴリ] の下で [] をクリックします。

      4. グリッド内で、テーブルの各行を一意に識別するために使用する列をクリックし、[PK] チェック ボックスをオンにしてその列を主キーとして設定します。

      5. [オブジェクト リレーショナル] または [エンティティ関係] ステンシルから、[リレーションシップ] 図形をドラッグしてページ上の空白スペースにドロップします。

      6. 高い方の終端と親テーブルを含むテーブルを接続します。

      7. もう一方の終端と子テーブルを接続します。

        2 つ目のテーブルに主キーと同じ名前の列がまだ含まれていない場合は、モデラーによって 2 つ目のテーブルに外部キーとして追加されます。

        注: リレーションシップ行が非表示になる場合は、[データベース] メニューで [オプション] をポイントし、[ドキュメント] をクリックします。[リレーションシップ] タブの [表示] で、[リレーションシップ] チェック ボックスをオンにします。

    2. リレーションシップのカーディナリティを次のように設定します。

      1. リレーションシップをダブルクリックします。

      2. [データベース プロパティ] ウィンドウの [カテゴリ] の下で [その他] をクリックします。

      3. [カーディナリティ] の下で、リレーションシップに最適なカーディナリティを選択します。一対多リレーションシップの場合、[0 またはそれ以上] または [1 またはそれ以上] のいずれかを選択するのが最適です。一対一リレーションシップの場合、[0 または 1] または [1] のいずれかを選択するのが最適です。

  3. 図に対してその他の洗練化を行うには (インデックス、チェック句、トリガーの作成など)、次の操作を行うことができます。

    インデックスを作成する

    インデックスでは、クエリを実行するときのデータベースにおけるパフォーマンス (速度) を向上します。

    1. データベース モデル図を開きます。

    2. インデックスを追加するテーブルをダブルクリックして、[データベース プロパティ] ウィンドウの [カテゴリ] リストで [インデックス] をクリックします。

    3. [新規作成] をクリックします。

    4. [インデックスの作成] ダイアログ ボックスにインデックスの名前を入力して、[OK] をクリックします。

    5. [インデックスの種類] リストで、一意または非一意のインデックスを作成するオプションを選択します。

    6. [使用可能な列] リストで、このインデックス内に含める各列の名前を選択して、[追加 >] をクリックします。

    7. [インデックス付きの列] リストで、[昇順] チェック ボックスをオンにして、昇順の並べ替え順序のインデックスを作成するか、チェック ボックスをオフにして、降順の並べ替え順序のインデックスを作成します。

      データベース モデル図が更新されます。

    ビューを作成する

    ビューは保存したクエリとして考えることができます。複数のテーブルから同じ情報に繰り返しアクセスする必要がある場合、または実際のテーブルを変更することなく、ユーザーにデータを公開する必要がある場合、ビューは特に便利です。

    [エンティティ関係] または [オブジェクト リレーショナル] ステンシルから [ビュー] 図形を図面ページにドラッグします。

    テーブルとビューの拡張プロパティを設定する

    データベース管理システム (DBMS) によって、保存される場所を判断するためにテーブルやビューの拡張プロパティを設定できる場合があります。

    設定する拡張プロパティがあるテーブルまたはビューをダブルクリックして、[データベース プロパティ] ウィンドウの [カテゴリ] リストで [拡張] をクリックします。

    チェック句を作成する

    チェック句を使用して、列に入力されたデータが特定の値の範囲内にあることを確認します。たとえば、"年齢" と呼ばれる列のデータが 65 以上である必要があるチェック句を作成できます。

    1. テーブルをダブルクリックして、[データベース プロパティ] ウィンドウを開きます。

    2. [カテゴリ] の下で [] をクリックして、チェック句を追加する列をクリックします。

    3. [編集] をクリックします。

    4. [列のプロパティ] ダイアログ ボックスの [チェック] タブで、必要な制約を入力します。選択した内容の詳細については、「Column and Field Properties dialog box (Check tab)」 ([列のプロパティ] と [フィールドのプロパティ] ダイアログ ボックス ([チェック] タブ)) を参照してください。

      チェック句が [ローカル コード] の下の [コード] ウィンドウに追加されます。

    ストアド プロシージャとユーザー定義の関数を作成する

    ストアド プロシージャとユーザー定義の関数を使用して、同じアクションを繰り返し実行するために再利用できるコードのパケットを作成します。この 2 つには、ユーザー定義の関数では値を返すのに対して、ストアド プロシージャでは値を返すことなくコードを実行するという大きな違いがあります。

    1. [データベース] メニューで [ビュー] をポイントし、[コード] をクリックして [コード] ウィンドウを開きます。

    2. [グローバル コード]、[新規作成] の順にクリックします。

    3. [コード エディター] の [プロパティ] タブ上で、作成するコードの種類をクリックして、コードの名前を入力します。

    4. [本文] タブでコードを入力して、[OK] をクリックします。

    トリガーを作成する

    トリガーにより、特定のイベントがデータベースで発生すると、トリガー内で指定した SQL コードが実行されます。

    1. テーブルをダブルクリックして、[データベース プロパティ] ウィンドウを開きます。

    2. [カテゴリ] の下で [トリガー] をクリックし、[追加] をクリックします。

    3. [プロパティ] タブで、トリガーの名前を入力します。

    4. [本文] タブでコードを入力して、[OK] をクリックします。

      トリガーが [ローカル コード] の下の [コード] ウィンドウに追加されます。

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×