データベース

第5章 データベースの設計
5.1
5.2
5.3
5.4
データベース設計の概要
ERモデルとスキーマ設計
正規化
一貫性制約
5.1 データベース設計の概要
【データベース設計とは】
対象とする世界を表現するために、
データベースに盛り込む情報を整理し、
データベースの枠組み(スキーマ)を決定する。
関係スキーマ = 関係名 + 属性の集まり
関係データベースのスキーマ = 関係スキーマの集まり
良いデータベースとは・・・
①理解しやすい構造
②更新するとき内容に矛盾が生じにくい。
このためには・・・
①対象世界の忠実な表現
②簡潔な表現
③矛盾の原因となるデータ重複の回避
1.データベース設計のアプローチ
2つのアプローチ
① データベース管理システムが扱うモデルを直接用いてモデル化
する。
② 実世界の記述に適したモデルを用いて設計を行い、その結果を
元にデータモデルを設計する。
関係モデルの場合
①ERモデル(概念モデル)やオブジェクト指向モデルで設計
②関係モデル(論理モデル)でのスキーマ設計
オブジェクト指向プログラミング言語を使って開発する場合、
オブジェクト指向モデルで設計する方が有利。
2.ERモデルによる関係DB設計手順の概要
① ERモデルを用いて実世界の対象を記述
② 得られた結果を元に関係モデルによるスキーマを作成。
③ 得られたスキーマをチェックして、正規化を行う。
直接モデル化する場合
① 実世界の対象を関係モデルによるスキーマとして記述。
②関係モデル(論理モデル)でのスキーマ設計(上記③と同じ)
オブジェクト指向プログラミング言語を使って開発する場合、
オブジェクト指向モデルで実世界の対象を記述。
変換は、ERモデルより複雑であり、
かつ良いスキーマを得るための手順が確立されていない
3.オブジェクト指向モデルによる
関係DB設計手順の概要
① オブジェクト指向モデルを用いて実世界の対象を記述
② 得られた結果を元に関係モデルによるスキーマを作成。
③ 得られたスキーマをチェックして、正規化を行う。
【長所】
① 自由度が高いので、ERモデルより実世界に対応させやすい。
② オブジェクト指向データベースでは設計をそのままスキーマ情
報として用いることができる。
【欠点】
① 自由度が高いので、ERモデルより若干複雑。
② 変換は、ERモデルより複雑。
③ 良いスキーマを得るための手順が確立されていない。