属性の作成と編集

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

属性およびカラムの作成と編集 への移動

属性には、次の 2 種類があります。

  • 識別子:  エンティティの主キーの全体または一部であり、エンティティ インスタンスを識別するのに役立ちます。
  • 記述子:  非キー属性。正規化のルールに従い、属性が主キーの一部でない場合、その属性は各エンティティ インスタンスの記述のみに使用されます。

リレーションシップと共に属性定義を使用すると、ビジネス ルールを決定または実装できます。任意のエンティティの任意の属性に対して、有効な値セットを定義できます。たとえば、「給与」という属性に対して、従業員のサブセットに有効な給与範囲を定義できます。このような値のセットをドメインと呼びます。詳細は、「ユーザー データ型を使用したドメイン定義の一貫性の保証」を参照してください。

エンティティを注意深く定義するには、属性の定義を比較的単純にする必要があります。属性を最初にエンティティに追加するときには、適切な名前を付けるようにしてください。属性は、あるエンティティに固有のものになるか、または依存型/非依存型リレーションシップを通じて他のエンティティに移行することもできます。一貫性を保つために、ER Studio Data Architect ではエンティティ固有の属性のプロパティだけを編集できます。子エンティティの外部キーのプロパティを変更するには、親エンティティの属性を編集する必要があります。属性の命名ルールおよび変換の詳細は、「ベスト プラクティス」を参照してください。

  1. モデル エクスプローラで、論理[メイン モデル][エンティティ]ノードを展開して、属性を追加するエンティティをダブルクリックします。
  2. [エンティティ エディタ][属性]タブで、[追加]をクリックします。
  3. 属性の定義が完了したら、[OK]をクリックします。

以下では、[属性]タブのオプションの設定について説明します。

メイン ページ

[データ型]タブ

[ルール/制約]タブ

[定義]タブ

[デフォルト]タブ

[ルール/制約]タブ

[定義]タブ

[ノート]タブ

[論物関連]タブ

[ユーザー定義マッピング]タブ

[参照値]タブ

[名前付け標準]タブ

[比較オプション]タブ

[データ リネージ]タブ

[セキュリティ情報]タブ

[アタッチメントのバインド]タブ

[データ移動ルール]タブ

メモ

メイン ページ

  • [ドメイン名]:  すべての定義済みドメインが一覧表示されます。利用可能な任意のドメインを属性にバインドできます。ドメイン名を変更するには、最初に[データ型]タブの[バインドされたデータを上書き]チェック ボックスをオンにする必要があります。
  • [ドメイン作成]:  新規ドメインを作成して、データ ディクショナリに自動的に追加できます。[ドメイン名]に新しい名前を入力し、[ドメイン作成]チェック ボックスをオンにします。[OK]をクリックすると変更が保存されます。新規ドメインがデータ ディクショナリに作成されます。
  • [カラム名]:  デフォルトのカラム名は属性名と同じです。カラム名を変更するには、このボックスに新しい名前を入力してください。物理モデルを生成するときに、この名前が使用されます。
  • [論理ロール名]:  このオプションを使用できるのは、論理モデル内に重複した外部キーが存在しており、[論理ロール名と物理ロール名のシンクロ]チェック ボックスがオフの場合のみです。子属性の名前が親属性と異なる場合に使用されます。論理モデルでは、論理ロール名と物理ロール名を区別します。物理モデルを生成するときには、物理ロール名が使用されます。
  • [キー属性を非表示]:  子エンティティのキーが非表示になります。一般に、主キー カラムを子テーブルに移行したくない場合に、主キー カラムの部分的な移行をサポートするために使用されます。ER Studio Data Architect では単独の外部キーを生成しません。ほとんどのデータベース システムでは、外部キーは子と同じカラム数を持つ必要があるためです。このオプションをオンにすると、子テーブルからカラムを取り除くことができます。外部キーの連鎖、DDL 生成、または比較操作の際に、どの子テーブルにも表示されなくなります。子テーブルの編集時には使用不可として表示されますが、再度、使用可能にすることができます。
  • [論理のみ]:  このオプションをオンにしたエンティティは、物理モデルの生成時にテーブルとして実装されません。また、論理モデルと物理モデルを比較する際にも無視されます。
  • [論理ロール名と物理ロール名のシンクロ]: 選択した属性が外部キーの場合に使用できます。このオプションは、エンティティ/テーブル エディタ、オン ダイアグラム編集、およびモデル エクスプローラで名前の変更を行う際に影響します。外部キー 属性/カラムのロール名を変更して、同じエンティティ/テーブル内にある別の属性/カラムと同じ名前にすることができます。編集を終了すると、重複した名前は一意化されます。
  • [主キー]:  選択した属性を主キーに追加します。エンティティのインデックスとして使用され、データ取得を高速化します。
  • [外部キー データ型の編集]:  外部キーのデータ型を編集できます。子オブジェクトでのみ有効です。このオプションをオンにしている間は、外部キーと関連する親キーに加えた変更が、子に継承されません。外部キーへの上書き設定が保持されます。

[データ型]タブ

  • [バインドされたデータを上書き]:  属性単位でデータ型を上書きします(サポートするデータベース: SQL Server、Sybase、IBM DB2 for LUW、および IBM DB2 for OS/390)。同一ドメインへのバインドを維持する際の例外処理に使用します。たとえば、2 つの異なる DBMS プラットフォームの両方に VARCHAR ドメインがあるとします。この文字型のドメインは、主に Oracle で使用されます。このドメインのデータ型を VARCHAR に指定します(Oracle では VARCHAR2 となります)。このオプションを使用すると、DB2 モデルを作成して、このドメインのデータ型を CHAR として実装することができます。DB2 のカラムとドメインとの間のバインドを維持したまま、ドメインの実装をカスタマイズして、特定のプラットフォームに対応させることができます。
  • [Identity プロパティ]:  numeric データ型で、NULL が許可されず、そのデータ型が Identity プロパティをサポートする場合に使用できます。[Identity カラム]チェック ボックスをオンにして、[シード]および[インクリメント]の値を入力します。シードおよびインクリメントの値は、テーブルの各行のシーケンス番号を自動生成するために使用されます。シード値が開始番号となり、インクリメント値ごとに増加します。デフォルトのシード値とインクリメント値はともに1ですが、これらの値は変更可能です。

[デフォルト]タブ

デフォルト値がエンティティの属性にバインドされていない場合([データ ディクショナリ|デフォルト|デフォルトの編集|バインド情報])、[デフォルト式]を入力できます。または[バインドされたデータを上書き]チェック ボックスをオンにして、[デフォルトのバインド]一覧から他の値を選択できます。このデフォルト式は、物理モデルで[データベースの生成...]を実行したときに生成される SQL に含まれます。デフォルト値の属性がエンティティにバインド済みである場合、[デフォルトのバインド]一覧から他の値を選択して、デフォルト値を上書きできます。詳細は、「データ ディクショナリの操作」を参照してください。選択した属性がエンティティの主キーである場合、[子キーへ移行]チェック ボックスをオンにすることができます。

[ルール/制約]タブ

バインドするルールをデータ ディクショナリから選択するか、または手動で入力します。[CHECK 制約]ボックスの内容は、そのまま物理モデルの DDL に挿入されます。制約を追加、編集、または削除します。CHECK 制約を使用すると、データベース内のデータの有効性を保証し、データの整合性を保つことができます。詳細は、「CHECK 制約を使用したデータ整合性の保証」を参照してください。情報がグレーアウト表示(読み取り専用)の場合は、ドメインが使用されており、定義、データ型、ルール、制約、またはデフォルトがドメインから継承されていることを示しています。

[定義]タブ

属性の定義を入力または編集します。対象データベースでサポートされる場合、SQL コードの生成時に、この定義が属性のコメントとして追加されます。

[ノート]タブ

ここに追加したノートの内容は、モデルのレポート生成時に HTML レポートに含まれます。このノートには標準の HTML タグを使用することができます。

[論物関連]タブ

この属性を使用している論理/物理のモデルおよびサブモデルが表示されます。また、テーブルの非正規化マッピングに関する履歴も表示されます。[論物関連]タブでは、既存のマッピングおよびユーザー定義マッピングの両方を編集できます。詳細は、「ユーザー定義マッピングを使用した同種のオブジェクトの関連付け」を参照してください。

[ユーザー定義マッピング]タブ

この属性のユーザー定義マッピング(UDM)が表示されます。ユーザー定義マッピングは、概念的には関連しているものの、実際のトランザクションでは必ずしも関連しているとは限らないデータ同士を結び付けます。ユーザー定義マッピングは、データ モデルを比較したり SQL を生成する際には使用されません。ユーザー定義マッピングで作成された、エンティティ間のリレーションシップを説明するには、[ノート]タブを使用します。詳細は、「ユーザー定義マッピングを使用した同種のオブジェクトの関連付け」を参照してください。

[参照値]タブ

詳細は、「参照値を使用した有効な属性データの定義」を参照してください。

[名前付け標準]タブ

名前付け標準テンプレートをオブジェクトにバインドすると、そのテンプレートが、名前付け標準ユーティリティまたは[物理モデルの生成]ウィザードで選択されたテンプレートの代わりに使用されます。これによって、モデルの一部で異なる名前付け標準が必要な場合に、オブジェクトごとに別の名前付け標準を適用できます。たとえば、一部のオブジェクトが既にデータベース内に存在しており、それらには名前付け標準を新たに適用したくない場合に役立ちます。[名前の固定]チェックボックスをオンにすると、名前付け標準を適用しても、選択した属性の名前を変更しないようにすることができます。詳細は、「名前付け標準テンプレートを使用した名前付け標準の適用」を参照してください。

[比較オプション]タブ

ここで選択した属性のプロパティは、比較とマージ ユーティリティで、この属性を他の属性と比較する際に無視されます。詳細は、「比較とマージ ユーティリティの使用」を参照してください。

[データ リネージ]タブ

モデル内のエンティティ/属性について、ソースからターゲットへの変換ルールをマップします。属性レベルで、ソース/ターゲットの属性マッピングに対する変換の論理を追加できます。物理モデルの 1 つの属性に複数のソース/ターゲットをマッピングできます。詳細は、「カラム/属性の ETL の文書化」および「データ リネージのワークフロー」を参照してください。

[セキュリティ情報]タブ

データ ディクショナリで定義された現在のセキュリティ情報が表示されます。変更するフィールドをダブルクリックして、セキュリティのレポート情報を追加または編集できます。プロパティにモデル全体のデフォルト値を設定するには、[データ ディクショナリ]タブに移動し、[データ セキュリティ情報]ノードを展開します。詳細は、「データ セキュリティ タイプおよびプロパティを使用したセキュリティの適用」を参照してください。

[アタッチメントのバインド]タブ

アタッチメント(外部情報)を属性にバインドします。また、オブジェクトからアタッチメントを削除したり、アタッチメントのバインドのデフォルト値を上書きしたり、バインドされたアタッチメントの位置を変更することもできます。選択したアタッチメントのグリッド(画面の右側)に移動したアタッチメントの値をオーバーライドするには、対象となるアタッチメントの[値]フィールドをダブルクリックします。アタッチメントのデータ型に応じて、[上書き値エディタ]またはリスト ボックスが表示されます。アタッチメントは[データ ディクショナリ]タブの[アタッチメント]フォルダで作成されます。その際、アタッチメント タイプ エディタの[アタッチメント タイプの使用]タブで[属性/カラム]チェック ボックスをオンにする必要があります(デフォルトでオンになっています)。そうでない場合、エンティティ エディタの[アタッチメントのバインド]タブにそのアタッチメント タイプが表示されません。詳細は、「データ モデルへの外部ドキュメントの関連付け」を参照してください。

[データ移動ルール]タブ

属性に割り当てられたデータ移動ルールが表示されます。ここでは、[データ移動ルール]ダイアログ ボックス(モデル エクスプローラの[データ リネージ]タブ)でテーブル/エンティティに割り当てられたデフォルトのルールを上書きすることができます。必要に応じて、データ移動ルールを適用または除去します。データ移動ルールとは、たとえば「このテーブルのデータは 30 日後に更新されます」といったものです。詳細は、「ソースおよびターゲットのテーブルとエンティティの関連付け」を参照してください。

メモ

  • 適切なデータ型を選択することは、データの整合性と格納に関わる重要な検討事項です。使用目的に合致しており、かつ保存するデータを正しく格納できるデータ型を選択します。選択できるカラム データ型は対象データベースによって違います。各対象データベースは固有のデータ型セットを持つからです。たとえば、一部のデータベースではバイナリ データ型をサポートしますが、これをサポートしないデータベースもあります。BLOB やテキストをサポートするデータベースもありますが、多くのデータベースではこれらをサポートしません。また、ユーザー定義データ型をサポートするデータベースはごくわずかです。ER Studio Data Architect では、さまざまなデータベース間でデータ型を変換できます。ただし、近似のデータ型にしか変換できない場合もあります。
  • もう 1 つの重要な検討事項は、データ型を指定する際に適切な桁数と精度を決定することです。データを効率的に格納するだけでなく、その完全性、正確さ、精度も維持する必要があります。
  • データ型マッピングについての詳細は、「データ型マッピングのカスタマイズ」を参照してください。データ型を共通のカラムに適用するには、データ ディクショナリのドメインを使用します。詳細は、「ドメインを使用した属性定義の再利用」を参照してください。
  • 属性名とカラム名を決定する際には、対象データベースの命名ルールを考慮してください。重要な考慮事項として、名前の桁数制限、予約語や禁止文字の使用回避などがあります。ほとんどのデータベースでは、名前の桁数は 30 文字または 18 文字までに制限されています。また、すべてのデータベースには予約語があり、名前に使用するには引用符で囲む必要があります。特定の文字(空白、*、+、% など)も、名前に使用することが禁止されています。
  • 命名ルール、デフォルト データ型、およびデフォルト データ型で作成された属性に NULL 値を許可するかなどを指定するには、[オプション]ダイアログ ボックス([ツール|オプション...])の[論理]タブを使用します。
  • 属性の表示順序を指定するには、[オプション]ダイアログ ボックス([ツール|オプション...])の[表示]タブを使用します。
  • 属性名とカラム名の間のシンクロ レベルを指定するには、[オプション]ダイアログ ボックス([ツール|オプション...])の[名前の処理]タブを使用します。
  • アプリケーション ウィンドウの下部にあるステータス バーには、選択したモデルに含まれるテーブルの総数が表示されます。

関連項目