ベスト プラクティス

提供: ER/Studio Data Architect
移動先: 案内検索

ER Studio DA の使用 への移動


このセクションは次のトピックで構成されています。

説明的なオブジェクト名を使用する

データ モデルのすべてのオブジェクト、たとえばエンティティ、属性、アタッチメント、名前付け標準テンプレート、およびドメインなどには名前が付いており、モデル エクスプローラ、モデル ウィンドウ(データ モデルの作業領域)、ログ、およびレポートでオブジェクトの識別に使用されます。

データの流れを分かりやすくするには、オブジェクトの役割を説明する名前を付けてください。たとえば、「エンティティN」のようなデフォルト名のままにせずに、「顧客」などの名前を付けます。

  • 1 つのモデルに、同じ名前で複数のエンティティを配置できます。ただし、エンティティ名とその所有者の組み合わせは一意である必要があります。エンティティ/テーブルの[所有者]プロパティは、エンティティ/テーブル エディタで編集できます。

オブジェクトの名前には、英字(大文字、小文字、またはその両方)および日本語を使用できます。英字を使用する場合、一般的に読みやすく理解しやすいのは、大文字と小文字を併用して各単語の先頭を大文字にする形式(たとえば、CustomerAddress)です。

データベース オブジェクトにコメントを追加する

データ モデル内のすべてのオブジェクトには説明または定義があり、それらはレポートを作成したときに含まれます。すべてのオブジェクトに説明や定義を入力しておくと、データ モデルを文書化する際に役立ちます。オブジェクトの目的や、他のモデル作成者がオブジェクトの役割を理解するのに必要な情報を記述します。また、ほとんどのデータベース オブジェクトにコメントを追加することもできます。詳細は、「オブジェクト コメントの追加と編集」を参照してください。

対象データベースがテーブル コメントをサポートする場合、物理データベースの生成時にエクスポートされた SQL コードに、エンティティ定義がテーブル コメントとして追加されます。

リレーションシップに説明を追加すると、データ モデルを分かりやすくすることができます。リレーションシップには、リレーションシップを説明する動詞句を作成できます。たとえば、「会社」は「従業員」を監督する「マネージャ」を雇用します(下図を参照)。リレーションシップの動詞句を作成するには、リレーションシップをダブルクリックして、リレーションシップ エディタの[動詞句]タブに動詞句(親から子/子から親)を入力します。動詞句(子から親)は、子の視点からリレーションシップを説明します。

VerbPhraseExample.gif

オブジェクトを色で塗り分ける

オブジェクトに色を付けると、ダイアグラムの外観が良くなり、分かりやすくなります。詳細は、「ダイアグラムのデフォルトの色とフォントの設定」および「特定オブジェクトの色およびフォント設定のオーバーライド」を参照してください。

繰り返し作業にマクロを使用する

ER Studio Data Architect には、Sax Basic で書かれた多数のサンプル マクロが含まれています。そのまま使用したり、必要に応じてユーザーがカスタマイズできます。このガイドのチュートリアルでは、マクロを使用して作業時間を節約する例を説明しています。サンプル マクロのヘッダーには使用法が記述されていますが、コード全体に目を通すことで、そのマクロがどのように役立つのか理解できるでしょう。サンプル マクロがすべてのユーザー環境で正しく動作することは保証されていませんが、必要に応じて、オンライン コミュニティで他のユーザーと意見交換したり、Embarcadero サポートに問い合わせることができます。

マクロ エディタで使用される Sax Basic Engine は、Microsoft Visual Basic for Applications と互換性があります。このガイドには、Sax Basic の構文や使用法についての詳しい説明は記載されていませんが、初心者は、多数出版されている Visual Basic 関連の入門書で学習することができます。チュートリアルでは、マクロを使用して作業時間を節約する例を説明しています。

Repository のベスト プラクティス

このセクションでは、ER/Studio Repository と連携してモデルの作業を進める際に推奨される操作を説明します。


アクティブ ファイル ディレクトリと、Repository からダイアグラムを取得する

アクティブ ファイル ディレクトリは、Repository の[ダイアグラムから取得]を実行したときに、Repository から取得したローカル ファイルが保存される場所です。[ダイアグラムから取得]の操作には 2 種類あります。

  • Repository マージ: アクティブ ファイル ディレクトリにダイアグラム(dm1)のローカル コピーが存在する場合、Repository の dm1 ファイルとローカルの dm1 ファイルがマージされます。ローカルの dm1 ファイルと Repository の dm1 ファイルの相違点に矛盾がある場合、[変更の確認および矛盾の解決]ダイアログ ボックスが表示され、矛盾点を解決することができます。ローカルの dm1 ファイルがチェックインされている場合(すべてのオブジェクトに青い鍵アイコンが付いた状態)、そのローカル コピーが開き、[最新ダイアグラムの取得]が実行されます。
  • 完全な取得: アクティブ ファイル ディレクトリにローカル コピーが存在しない場合、Repository によって dm1 ファイルの新規コピーが作成されます。解決が必要な矛盾点はありません。通常、この操作は、取得プロセス中に Repository の dm1 ファイルとローカルの dm1 ファイル間の相違点をマージする場合よりも高速です。

ダイアグラム全体、またはサブモデル(dm1の一部)のいずれかを取得することができます。通常の作業では、dm1 ファイル全体を取得すべきです。dm1 ファイルの一部または全体のどちらを取得しても、ローカルのファイル名は同じになります。このため、Repository から複数のサブモデルを取得する場合、サブモデル間の切り替えに手間がかかります。たとえば、ある dm1 ファイルのサブモデル A を取得した後にサブモデルBを取得するには、先にサブモデル A をチェックインする必要があります。dm1 ファイルの一部を取得するのは、1 つのサブモデルのみに変更を加える場合に限り、通常は dm1 ファイル全体を取得することをお勧めします。dm1 ファイル全体を取得すると、複数のサブモデル間や論理/物理モデル間をすぐに切り替えることができます。また、dm1 ファイルの一部のみを取得した場合、[論物関連]タブは利用できません。

アクティブ ファイル ディレクトリは、ローカル マシン上の場所を指定します。他のユーザーと共有しているネットワーク上の場所は指定しないでください。Repository を使用して作業する際には、[ファイル|保存]をクリックすれば、アクティブ ファイル ディレクトリのローカル dm1 ファイルに変更箇所を保存できます。オフラインでも作業できるため、生産性を上げることができます。作業環境をオフラインにする前に、作業対象のオブジェクトをすべてチェックアウトしておけば、変更点をローカル ファイルに保存しておき、後でまとめて Repository にチェックインすることができます。詳細については、以下の「オブジェクトをチェックイン/チェックアウトする」を参照してください。

パフォーマンスに関するヒント: モデルの作業をすぐに開始したい場合、アクティブ ファイル ディレクトリからモデルを直接開くことができます。ファイルを保存して閉じた時点でのオブジェクトのチェックアウト状態が保持されているため、直ちに作業を開始できます。

複数の Repository で作業している場合、同じ名前の dm1 ファイル間でファイル名や共有の違反が起こらないように、各 Repository に個別のアクティブ ファイル ディレクトリを使用してください。メインのアクティブ ディレクトリを 1 つ作成し、そのサブディレクトリとして各 Repository 用のアクティブ ファイル ディレクトリを区別しやすい名前で作成することをお勧めします。メインのディレクトリは、Repository で作業する一般ユーザーではなく、管理者ユーザー用に確保されます。

  • 通常、2 つ目の Repository は、ER/Studio をアップグレードする際のテスト環境として使用します。単にモデルを別々に保存するために複数の Repository を作成することはお勧めしません。

オブジェクトをチェックイン/チェックアウトする

Repository から dm1 ファイルを取得したら、ダイアグラム全体またはその一部をチェックアウトすることができます。推奨されるチェック アウトのレベルは、どのような変更を加えるかによって変わります。[ダイアグラムのチェックアウト]操作が推奨されるのは、dm1 ファイル全体に変更を加える場合です。たとえば、モデルのマージ、サブモデルの作成/編集、および論理/物理モデルのいずれかで作業するなどです。[ダイアグラムのチェックイン]操作は、多数の変更点を Repository にチェックインするために最適化されており、通常は、オブジェクト レベルでチェックイン/チェックアウトするよりも高速です。モデルで通常の作業を行う場合、ダイアグラム レベルでチェックイン/チェックアウトすることをお勧めします。特定のオブジェクトに追加の変更を行うような場合にのみ、個々のオブジェクトをチェックイン/チェックアウトします。

チェックアウト操作には、次の 2 種類があります。

  • 排他的なチェックアウト: 排他的なチェックアウトを実行すると、チェックアウトしたオブジェクトがロックされます。そのオブジェクトで作業できるのはチェックアウトしたユーザーのみです。あるオブジェクトを排他的にチェックアウトすると、その上位および下位の依存オブジェクトも排他的にチェックアウトされます。オブジェクトが既にチェックアウトされていることを知らなくても、排他的にチェックアウトして、他のユーザーからそのオブジェクトをロックすることができます。
  • 非排他的なチェックアウト(デフォルト): 非排他的なチェックアウトを実行すると、他のユーザーも同時に同じダイアグラムで作業することができます。ただし、チェックイン時に矛盾が見つかったら解決する必要があります。他のユーザーがモデルにアクセスしていないことが明確である場合を除き、通常は、デフォルトの非排他的なチェックアウトをお勧めします。そうすれば、他のユーザーが必要としているオブジェクトを意図せずロックアウトすることもありません。
  • オブジェクトを Repository にチェックインする際、[Repository チェックイン]ダイアログ ボックスには、オブジェクトのチェックアウト状態を保持するオプションがあります。モデルの作業を続行しつつ、自分が加えた変更点を Repository に反映して他のユーザーが確認したり使用できるようにするには、このオプションをオンにします。ファイルが既にチェックアウト済みなので、次回にローカル ファイルを開いてすぐに作業を再開できるという利点もあります。

モデルに加えた変更点を他のユーザーが確認できるように、少なくとも 1 日に一回はチェックインすることをお勧めします。ただし、他の Repository 操作(ダイアグラムの取得、最新バージョンの取得、およびログインなど)と同じく、チェックイン操作は FIFO(先入れ先出し)法で順番にキューに入るため、他のユーザーと競合しないタイミングで Repository 操作を実行するのが良いでしょう。

Repository のマージ操作/変更の確認

モデルの一部または全体を Repository にチェックインすると、アクティブ ファイル ディレクトリにあるローカルの dm1 ファイルと Repository との間でマージ操作が実行されます。Repository のマージでは、ローカル ファイルの変更点と Repository の変更点を比較します。

変更点を確認するには、[Repository チェックイン]ダイアログ ボックスの[チェックインの前に変更箇所を確認]チェックボックスをオンにします。重大度が低い矛盾点は、[追加]、[更新]、および[削除]のノードに表示されます。重大度が高い矛盾点は、[矛盾]ノードに表示されます。重大度が低い矛盾点とは、ローカルの dm1 ファイルと Repository の dm1 ファイル間の相違点です。重大度が高い矛盾点とは、他のユーザーが同時に加えた変更と矛盾する相違点です。

重大度が低い矛盾点では、ほとんどの場合、Repository にチェックインしたくない変更点を選択解除できます。これらの変更点は、ローカル ファイルからも除去されます。ある変更点に依存した別の変更点がある場合、それらのチェックボックスもオンにすることをお勧めします。たとえば、あるカラムをテーブルに追加する場合は、カラム順序の変更などカラムに依存する更新箇所も選択します。

重大度が高い矛盾点では、自身の変更点または他のユーザーの変更点のどちらか一方だけを残すことができます。選択可能な候補から1つだけ選択する必要があります(デフォルトでは自身の変更点が選択されます)。他のユーザーも[最新バージョンの取得]を実行して、Repository の変更点を受け入れ、この変更を反映する必要があります。[最新バージョンの取得]を実行すると、[変更の確認および矛盾の解決]ダイアログ ボックスが表示され、デフォルトで Repository の変更点が選択されます。

  • チェックイン操作が完了するのは、[変更の確認および矛盾の解決]ダイアログ ボックスを閉じて dm1 ファイルが更新された後です。変更点を確認している間や自身が席を外している間に、[変更の確認および矛盾の解決]ダイアログ ボックスを開いたままにしておくと、他のユーザーの操作が保留されることがあります。変更点を詳しく確認する場合は、レポートを生成して分析するようにしてください。

まとめ

  • アクティブ ファイル ディレクトリ内のローカル ファイルにアクセスすると、すばやく作業を開始できます。
  • 項目はチェックアウト状態にしておきます。
  • 項目は一日に 1 回チェックインします。
  • Repository ファイルとローカル ファイルを比較して変更点を確認します。ただし、[変更の確認および矛盾の解決]ダイアログ ボックスを長い間、開いたままにしないでください。
  • ダイアグラム レベルでチェックイン/チェックアウトすると、Repository への接続を最小限に抑えつつ、dm1 ファイル全体の作業効率を最大限に高めることができます。
  • 特定のオブジェクトに変更を加える場合のみ、より詳細なレベルでチェックイン/チェックアウトします。

関連項目