データモデリングは、データモデリングの方法論を適用してデータモデルの インスタンスを作る過程です。モデリングを行う過程を見てみましょう。
エンティティを定義する
エンティティとは、エンティティとは:一単位として扱われるデータのまとまりを指します。 エンティティを見つけるには、以下の手順で『名詞』を抜き出して整理を行います。
@ 業務の説明と画面イメージから名詞を抜き出す A 名詞が業務で重要な管理対象かどうかを判定する B 異音同義語、同音異義語を見つける C 名詞を整理する D 整理した名詞を以下のレベルごとに分ける ・レベルA:複数の情報や複雑な情報を持つ名詞 ・レベルB:単一の情報や単純な情報を持つ名詞 E エンティティ候補の名称が明確かどうかをチェックする F エンティティを確定する(レベルAの名詞がエンティティとなる)
リレーションシップを定義する
一般にエンティティは単独で存在しないため、エンティティ同士には
何らかの関係があり得ます。このエンティティ間にリレーションシップを定義します。
リレーションシップには以下のような種類があります。
・包含 ・協調
主キーと外部キーを定義する
エンティティのインスタンスを他のエンティティのインスタンスから
識別できるようにするため、エンティティの主キーと外部キーを検討します。
『主キー』とは、エンティティのインスタンスを1つだけ識別するための属性です。
複数の属性で成り立つ主キーは『複合キー』と呼びます。
また、『外部キー』とは、リレーションシップの相手のエンティティのが持つ属性です。
リレーションシップの相手のエンティティの主キーを、エンティティがその属性として
取り込みます。
依存関係と非依存関係を定義する
相手のエンティティの主キーを自分のエンティティの主キーにするかどうかを
決めるために、依存関係と非依存関係を使い分けます。
リレーションシップには、相手のエンティティのインスタンスが
『あらかじめ存在しないといけない』場合と、
『あらかじめ存在しなくてもよい』場合があります。
前者を『依存関係』と呼び、後者を『非依存関係』と呼びます。
依存関係は、ER図では実線のリレーションシップで表されます。
また、非依存関係は点線のリレーションシップで表されます。
依存関係か非依存関係かによって、リレーションシップを引いた先の
エンティティの主キーが変わります。