関係モデルのデータ定義
関係モデルのデータ構造に関連して、ビューと正規化がある。
正規化によって表を設計し、さらにビューで一般利用者用の見方を定義する。
設計結果としてのデータ構造や特性、およびデータ間の関連などを、ひとまとめにして定義する。 このようなデータ定義情報の集合をスキーマ(schema)という。
データベースの設計で用いる正規化(normalization)とは、データの重複を排除し、属性間の従属関係を少なくすることによって表が1事実1箇所をあらわすようにしていく手順をいう。
ここで、従属関係とは、属性Xが決まると他の属性Yが決まる(X→Y)という関係を指し、属性Yは属性Xに関数従属しているという。
正規化の結果としてできあがるものを正規形(normal form)といい、第一正規形から、第五正規形まである。
正規化とは、正規形を進めていく手順ともいえる。
table:正規形
正規形 意味 関連する関数従属
第一正規形(1NF) 属性の値が繰り返しなどの複数の値を持たない 単純な表
第二正規形(2NF) 1NFであり、すべての非キー属性が基本キーに完全に関数従属である表 完全関数従属性:X→Yで、Xは関数従属をさせる最小の集合
第三正規形(3NF) 2NFであり、基本キーとすべての非キー属性間が推移的に関数従属でない表 推移関数従属性:X→YかつY→ZのときX→Zが成立する。
ボイスコッド正規形(BCNF : Boyce-Codd NF) 1NFであり、すべての非キー属性が候補キーだけに関数従属である表(2NFと3NFを前提にしていないが、それらを含む)
第四正規形(4NF) BCNFであり、すべての多値従属性が候補キーだけによるもの 多値従属性:表がA B Cの属性からなるとき、BがAに従属するとき必ずCがAに従属する
第五正規形(5NF) (射影-結合正規形) 候補キー内で結合従属性が満足されるもの 結合従属性:分解により得られた表は結合によって元にもどる
表に示した正規形のうち、第三正規形または、ボイスコッド正規形までで、ほとんどの表の正規化を達成できる。
正規化で作成した表は、実表として定義する。
しかし、一般利用者や、プログラマは、実表のうちの特定部分を処理したい部分だけを処理したいことが多い。
表の一部だけ、あるいは複数の列値をもとに計算したもの(導出列)をあたかも一つの表に見せるためのものが、ビュー(view : 視点)である