正規化(データベース)

データの重複をなくし、各種データそうだを行ってもデータに不整合が起きないようにすることをデータベースの正規化と呼ぶ。
正規化には、第一正規化、第二正規化、第三正規化といった手法がある。
第一正規化:繰り返される項目がない、レコード単位になっている(正規化されたいない状態:非正規化)
第二正規化:第一正規化の条件を満たしている、部分関数従属がない(候補キーの一部に非キー特性のカラムに関数従属していない)
第三正規化:第ニ正規化の条件を満たしている、推移関数従属がない(非キー特性のカラムが非キー特性のカラムに従属していない)

候補キー:テーブル上で任意のレコードを特定するための~部の集合のこと
非キー特性:候補キー以外のカラムのこと
関数従属性:特定のカラムが決まったときに、別のカラムが決まるような関係性

参考にした資料:データサイエンティスト検定(リテラシーレベル)公式リファレンスブック(第2版):菅由紀子他著、(株)技術評論社発行

第一~三正規形以外にも、ボイス・コット正規形、第四正規形、第五正規形がある。
ただし、第三正規形までは、すべての関数従属性が保存されるが、ボイス・コット正規形以降は、すべての関数従属性が保存わけではない。

ボイス・コット正規形:リレーションRに存在するあらゆる関数従属性(X⇒Y)に関し絵T、次のいずれかが成立する
(!)X⇒Yは自明な関数従属性(集合Yが集合Xの部分集合ならばX → Y の関数従属性が成り立つ)である
(2)XはRのスーパーキーである

第四正規形:ボイス。コット正規形をみたいしており、自明でない多値従属性を含まない正規形

第五正規形:ボイス。コット正規形をみたいしており、自明でない結合従属性を含まない正規形

 

主キー:関係(表)の中に一つだけ設定するキー、一意性制約と非NULL(ナル)成約を併せ持つ、候補キーの中から最もふさわしいものが選ばれる

候補キー:タプル(レコード、行)を一意に識別できることに加え、極小である(スーパーキーのなかで極小のもの)属性の組み合わせ、関係(表)の中に複数存在することもある主キーの候補となるキー、NULLを許可する属性を含む組

スーパーキー:タプルを一つに特定できる属性の組み合わせ、関係(表)の中に、候補キーの数以上に存在する、候補キーに様々な組み合わせで他の属性を付け足したもの

極小:属性集合の中で、余分な属性を含まない必要最小限の組み合わせのこと、どれか一つでも欠ければ一意性を確保できなくなる組み合わせ

参考にした資料:うかる!データベーススペシャリスト2022年版、三好康之著、(株)翔泳社発行

 

参考ページ:関数従属性:データベース研究室 https://fulfillment-c.com/database/functional-dependency/

 

 

以上

 

 

 

Tips

次の記事

SQLの和・差・積