제이의 블로그

論理データモデリング

作成: 2024-04-09

作成: 2024-04-09 12:21

要件分析や概念的なデータモデリングと比較して、論理的なデータモデリングはより機械的な手順です。

マッピングルール(Mapping Rule)を基準に、リレーショナルデータベースパラダイムに適合するように、概念的なデータモデリングの成果物であるERDを変換するプロセスが中心となります。

マッピングルール

  • 四角形のエンティティはテーブルに変換します。
  • 円形の属性はカラムに変換します。
  • 関係はPKまたはFKに変換します。

まず、FKを持たないテーブルを優先的に表現するのが便利です。

関係

  • カーディナリティとオプション性を考慮して、テーブル間の関係を表現します。
  • 最も単純な関係である1:1の関係から、1:Nの関係、N:Mの関係の順に表現します。

1:1関係の処理

1:1の関係では、2つのテーブル間の依存関係を確認し、FKを設定します。

親テーブルと子テーブルと見なすことができます。

1:N関係の処理

1:Nの関係では、1をNが参照するため、NにFKを設定します。

N:M関係の処理

リレーショナルデータベースでは、N:Mの関係を処理するために、中間テーブル(マッピングテーブルまたは結合テーブルとも呼ばれます)を作成して表現します。

このとき重要な点は、マッピングテーブルを基準に参照される両方のテーブルのカーディナリティとオプション性を表現する必要があることです。

正規化(Normalization)

論理データモデリング

Wikipedia - Database Normalization

未精製のテーブルをリレーショナルデータベースに適した表にするプロセスです。

産業的に使用される正規化プロセスは第3正規化プロセスまでであり、それ以降の正規化プロセスは学術的に主に使用されています。

正規化は、一度に1つの段階ずつ順番に実行する必要があります。

第1正規化(1st Normal Form, 1NF)

  • テーブルに属するカラムは、原子的な(Atomic)値のみを持つ必要があります。

第1正規化の基本原則を見ると、何を言っているのか理解しにくいですが、単に各カラムが1つの値のみを持つ必要があるということです。

もし、1つのカラムの中に複数の値が入っている場合、つまり原子性がない場合は、SQL文で結合することも難しく、様々な問題を引き起こす可能性があります。

第2正規化(2nd Normal Form, 2NF)

  • 第1正規化を満たす必要があります。
  • 部分従属性を除去する必要があります。

テーブルの行の中に重複する値が存在する場合、その行が依存しているカラムを見つけて分離します。

第3正規化(3rd Normal Form, 3NF)

  • 第1正規化を満たす必要があります。
  • 第2正規化を満たす必要があります。
  • 推移的な従属性を除去する必要があります。

推移的な従属性という言葉は非常に理解しにくいです。理解したところによると、特定のテーブルで暗黙的に他のテーブルの識別子を意味する値(もちろんFKは除く)が1つ以上ある場合、それを推移的な従属性と呼ぶようです。

コメント0