RDB†
RDB の構造†
RDB の仕組み†
- スーパーキー
- super key
- データ(行)を一意に特定することができる属性(列)
- 候補キー
- candidate key
- スーパーキーの中で、データ(行)を一意に特定する上で必要最小限の属性(列)
- 候補キーの性質
- 一意制約が設定される
- 1つの表に候補キーが1つとは限らない
- 主キー
- primary key
- 候補キーの中から代表で選ばれたもの
- 候補キーの性質
- 一意制約が設定される
- NOT NULL制約が設定される
- 代理キー
- alternate key
- 候補キーの中から代表で選ばれなかったもの
- 外部キー
- foreign key
- 他の表を参照する属性(列)
- 一般的には被参照表(外部キーによって参照される表)の主キーを参照する
- 外部キーの参照制約
- 外部キーの性質
- NOT NULL制約が設定されていなければNULLは許可される
- 代用キー
- surrogate key
- 主キーが複数の属性(列)で構成されている場合に、連番などで追加する属性のこと
- 代用キーを設ける場合、代理キー以外の属性は非キー属性の代理キーにする
RDB の正規化†
関係従属†
正規化の手順†
- 第1正規化
- 表の繰り返し部分を排除した第1正規形の表を作成する
- 繰り返し部分を別の表に分解する
- 分解された表は結合により元の表を再現できる
- 第2正規化
- 第1正規形の表の全ての非キー属性が候補キーに完全関数従属した第2正規形の表を作成する
- 候補キーの一部に部分関数従属する非キー属性を別の表に分解する
- 第3正規化
- 第2正規形の表の全ての非キー属性が候補キーに関数従属した第3正規形の表を作成する
- 非キー属性間の関数従属をなくした状態にする
- 候補キーに推移的関数従属している非キー属性を別の表に分解する
RDB の演算†
集合演算†
- 和 ※UNION / UNION ALL
- 共通(積) ※INTERSECT
- 差 ※EXCEPT
- 直積
関係演算†
- 選択・射影
- 結合
- 内結合 ※INNER JOIN
- 外結合 ※OUTER JOIN
- 左外結合 ※LEFT OUTER JOIN
- 右外結合 ※RIGHT OUTER JOIN
- 完全外結合 ※FULL OUTER JOIN
RDBMS†
RDBMS(有償)†
関連用語†