目次
概要
DBの基礎となる知識・理論について、覚えたこととかをまとめる。というか、リンク集。
正規化
- 正規化の目的
- 更新時異状を排除すること
- 1か所1事実を実現すること
- 正規化を行わないケース
- データの更新を行わない
- データの履歴を残す
- 高速化が必要
- 正規形:正規化を行うことでできる関係の形
第1正規形、第2正規形、第3正規形、ボイスコッド正規形、第4正規形、第5正規形の6種類。
- 更新時異状
- タプル挿入時異状
登録したい項目だけでの登録ができない - タプル修正時異状
更新の仕方により不整合が生じる - タプル削除時異状
削除する必要のないデータも削除される
- タプル挿入時異状
- 関数従属性
ある属性Xが決まれば、別の属性Yの値が一意に決まる性質。
このとき、YはXに関数従属するといい、X→Yと表す。Xを決定項、Yを従属項という。
関数従属性の種類には、部分関数従属性、推移的関数従属性などがある。
A→{B, C}が成り立つとき、A→B、A→Cが成り立つ。
- 導出属性
他の属性から演算を行うことによって導くことのできる属性を導出属性という。
導出属性は正規化の過程で取り除かれることが多い。
導出元のデータが変更されるたびに再計算が必要となり、更新時異状が発生する可能性があるためである。
ただし、正規化をあえて行わない理由と同様、導出属性も残すことはある。
- 情報無損失分解
分解した関係を自然結合したときに元に戻せる分解の仕方を情報無損失分解という。
- メタデータ
データについてのデータ。
データモデルの定義では、このメタデータをメタ属性として扱い、属性の1つとすることがある。
第1正規形
シンプルなドメイン(属性がすべて単一値をとる)上で定義された関係。
直積集合、冪集合を排除した関係。
- 直積集合(direct product)
集合の集まりで書く集合を組にしたもの。 - 冪集合(power set)
与えられた集合から、その部分集合を元として含む集合のこと。
- 候補キー(candidate key)
関係のタプルを一意に識別できる属性または属性の組(=スーパキー)のうち極小のもの。
極小とは「もう一つの属性が欠落すると、条件を満たさなくなる」属性または属性の組。
- 主キー(primary key)
NULLを取らない候補キーの中から1つを選んだもの。
NULLを取らないことを主キー制約という。
- 代理キー
主キーに選ばれなかった候補キー。
第2正規形
次の2つの条件を満たす関係Rを第2正規形であるという。
①Rは第1正規形
②Rの全ての非キー属性はRの各候補キーに完全関数従属している
- 完全関数従属
- 部分関数従属
- 第1正規形から部分関数従属性を排除する
第3正規形
次の2つの条件を満たす関係Rを第3正規形であるという。
①Rは第2正規形
②Rの全ての非キー属性はRのいかなる候補キーにも推移的に関数従属しない
- 推移的関数従属性
- 第2正規形から推移的関数従属性を排除する
- 外部キー
カスケード
参照制約
ボイスコッド正規形
次の条件が成立する関係Rをボイスコッド正規形であるという。
X→YをRの関数従属性とするとき、以下のどちらかに該当する。
①X→Yは自明な関数従属性である
②XはRのスーパキー
- 関数従属税損失
第4正規形
次の条件が成立する関係Rを第4正規形であるという。
X→YをRの多値従属性とするとき、以下のどちらかに該当する。
①X→Yは自明な多値従属性である
②XはRのスーパキー
- 多値従属性
第5正規形
次の条件が成立する関係Rを第5正規形であるという。
(X1,X2,...,Xn)をRの結合従属性とするとき、以下のどちらかに該当する。
①(X1,X2,...,Xn)は自明な結合従属性である
②各XiはRのスーパキー
- 結合従属性
- n-分解可能
関係演算
和(union)
U✚
SQL UNION
差(difference)
ー
SQL EXCEPT
共通(intersection)・積
∩
SQL INTERSECT
直積(direct product)
×
SQL CROSS JOIN
射影(projection)
SQL SELECT
選択(selection)
SQL WHERE
結合(join)
商(division)
÷
結合演算
- Θ結合
- 等結合
- 自然結合
- 外部結合
- 左外部結合
- 右外部結合
- 完全外部結合
ページ一覧
'IT系/インフラ系/DB/基礎/データベース基礎理論/' には、下位層のページがありません。
リンク集
重複を恐れないリンク集。
- データベースの簡単なテーブル設計 - Qiita
- 平成22年春期問7 更新するときに発生する問題|データベーススペシャリスト.com
- データベースの基礎【正規化不十分な時に発生する更新時異状】 | 釣りキチエンジニアのブログ
- リレーショナルデータベース設計の基礎理論 - 関西学院大学理工学部情報科学科
- データベース工学 2011 年度資料 3 - 明星大学
- データベーススペシャリスト試験 正規化を分かりやすく解説 第4回|ピーコックアンダーソン
- [[xxxxxx :xxxxxxxx]]
- [[xxxxxx :xxxxxxxx]]
- [[xxxxxx :xxxxxxxx]]
- [[xxxxxx :xxxxxxxx]]
- [[xxxxxx :xxxxxxxx]]
- [[xxxxxx :xxxxxxxx]]
- [[xxxxxx :xxxxxxxx]]
- [[xxxxxx :xxxxxxxx]]
- [[xxxxxx :xxxxxxxx]]
- [[xxxxxx :xxxxxxxx]]
- [[xxxxxx :xxxxxxxx]]
- [[xxxxxx :xxxxxxxx]]
その他メモ
なにかあれば。