Xupper技術サポート部のページ

弊社開発手法やXupper(クロスアッパー)の活用法等について、ご説明させていただきます。

ボトムアップアプローチ ③.キー項目の設定

2005年05月23日 | データモデリング
後述する正規化を行うために、まず、対象のデータのキー・識別子を設定する必要があります。キー・識別子につていはいくつかの考え方がありますので、以下で説明をしておきます。

【主キー】
エンティティのインスタンスを一意に識別するための、一つまたは複数の属性のことです。

(図1)得意先コードにより得意先を一意に識別

【候補キー】
エンティティのインスタンスを一意に識別するための、一つまたは複数の属性のことです。主キーになりうる属性の組み合わせ(主キーにならなかったキー)のこと。

(図2)得意先名で得意先電話番号を識別

【代理キー】
長い複合キー(複数の項目で構成されるキー)は代理キー(Surrogate Key)で置き換えることがあります。この代理キーのことをいいます。 (例)支払計画の行(ロー)は「支払先コード」「支払区分」「支払予定年月」「支払先銀行コード」「支払先銀行支店コード」「支払先口座区分」「支払先口座番号」でユニークになりますが、これらの複合キーの代わりに「支払計画番号」を代理キーとします。

(図3)代理キーの例

(参考)データモデリングの段階では、データをどのような単位で管理するのかを分析していきます。 あるプロジェクトで実際にあったのですが、全てのエンティティに対して代替キーを設定していました。処理的にはそれでも何の問題はなかったのですが、データモデルとしてみてみると、代替キーを無条件に適用していることによって、データの管理単位がわかりにくくなってしまいます。 従って、論理データモデルを作成するタイミングでは、複合キー(複数のデータ項目で構成されるキー)で識別するエンティティについては、そのままの形でキーを設定することが望ましいと考えます。
コメント (1)    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ボトムアップアプローチ ②.... | トップ | ボトムアップアプローチ ④.... »
最新の画像もっと見る

1 コメント

コメント日が  古い順  |   新しい順
Unknown (motomura)
2005-05-23 11:57:34
代替キーと代理キーは違うものだと思いますが。

代理キーの方が主キーになる場合もありますから。

コメントを投稿

データモデリング」カテゴリの最新記事