E-R図、正規化
E-R図(エンティティリレーションシップ)
実務上で扱うデータをデータベースのテーブルとしてまとめ、テーブル(エンティティ)の&underline(red){関係性}(リレーションキーを明確にする[キー項目])を表現する。
※テーブル定義では正規化(第3正規化)の理論も欠かせない。
データベースの目的
項目の不要な重複をなくし、冗長性のないデータ管理を行う
||
初期の設計段階で設計者が注意すべき点
データ表現を正規化していく手順
<正規化されていない表>・・・・※列名は主キー
受付ID | 日付 | 顧客ID | 顧客名 | 商品ID1 | 商品名1 | 単価1 | 数量1 | 商品ID2 | ・・・・・ |
| | | | | | | | | |
| | | | | | | | | |
第1正規形
主キー(複数項目の組み合わせ)に対して行が一意に特定できる構成とする。
※非正規形の繰り返し項目をなくす。
受注ID | 日付 | 顧客ID | 顧客名 | 商品ID | 商品名 | 単価 | 数量 |
100 | | 5 | | 1 | | | |
100 | | 5 | | 3 | | | |
100 | | 5 | | 6 | | | |
101 | | 10 | | 1 | | | |
101 | | 10 | | 5 | | | |
第2正規形
第1正規形が複数項目で主キーを構成しているとき、これらを主キーに従属する項目に分離した表とする。
受注表
受注ID | 日付 | 顧客ID | 顧客名 |
100 | | 5 | |
101 | | 10 | |
商品マスタ
受注明細表
受注ID | 商品ID | 数量 |
100 | 1 | |
100 | 3 | |
100 | 6 | |
101 | 1 | |
101 | 5 | |
第3正規形
第2正規形で主キーを構成する部分以外でも従属関係にある項目があるとき、これを別表に分離する。
受注表
顧客表