http:www.sip-ac.jp/sip/konan_text/dbm04-01.html,        © 2001 Ayumi Yoshikawa
主観情報処理研究所

データベースマネジメント:正規化(最終更新:2015/12/06 16:33:45 JST)

正規化

関係データベースで重要な概念であるキーおよび関係データベースの分解に相当する正規化について見ていく.

この章の内容

  1. キー
  2. 正規化

[*]下へ▼ ▲[#]上へ

キー(教科書32ページ)

関係データベースでは複数のテーブルでデータを管理する.このときテーブル中で個々のタプルを区別したり,他のテーブルとの結びつきを表したりする働きを持つフィールド,つまり列が存在する.これらのフィールドをキーと呼ぶ.以下ではキーについて用途別に説明していく.

候補キー(教科書32ページ)

あるフィールド,列,つまり項目が決まれば,他のフィールドが定まるものを候補キー(candidate key)と呼ぶ.教科書32ページの[商品]テーブルの場合,<商品コード>フィールドがわかれば,どのレコード,タプル,つまり行かが一意に定まる.もっと身近な例を挙げれば,[学生情報]テーブルで,<学籍番号>フィールドが候補キーとなる(というか,候補キーとして使えるように人工的に作られている).なお,候補キーの各列の値が重複することはない.また候補キーは1つのテーブルに複数あってもよい.

[*]下へ▼ ▲[#]上へ

主キー(教科書33ページ)

通常,候補キーからテーブルのデータを識別するためのメインとなるキーを1つ選んで主キー(primary key)とする.主キーはレコード内で重複することは許されないだけでなく,通常はヌルも許されない.通常主キーには下線が引かれる.

[*]下へ▼ ▲[#]上へ

代替キー(教科書33ページ)

主キー以外の候補キーを代替キー(alternate key)と呼ぶ.代替キーは代理キーと呼ばれることもある.

[*]下へ▼ ▲[#]上へ

複合キー(教科書33ページ)

複数のフィールドを組み合わせることによってキーとして機能するものを複合キー(composite key)と呼ぶ.複合キーは連結キーと呼ばれることもある.主キーとして機能する複合キーは複合主キー(composite primary key)と呼ばれる.

例えば[郵便番号住所]テーブルが,<郵便番号>,<都道府県名>,<市区町村・町名>の3つのフィールドを持つとする.このとき,

[郵便番号住所]
郵便番号都道府県名市区町村・町名
658-0072兵庫県神戸市東灘区岡本
663-8171兵庫県西宮市甲子園一番町

[*]下へ▼ ▲[#]上へ

外部キー(教科書34ページ)

リレーショナルデータベースの特徴はデータを単一のテーブルに格納するのではなく,複数のテーブルに分割して格納することである.このとき,テーブルとテーブルの関連付け(relationship)を行うために使用されるのが外部キーである.外部キー(forign key)は,別のテーブルの主キーを参照(reference)するフィールドである.教科書34ページの図の例では,[売上]テーブルの<得意先コード>フィールドが[得意先]テーブルの主キーである<得意先コード>を参照しているので,外部キーとして機能している.

なお外部キーと参照先の主キーのフィールド名は同一である必要はない.また外部キーを明示するためフィールド名に破線を引いて表す.

[時間割]テーブルの<担当者コード>フィールドが,[教員]テーブルの主キーである<教員コード>を参照しているので,外部キーとなる.

[時間割]
科目コード科目名担当者コード
1001打撃特論76
2001守備特論86
[教員]
教員コード教員名
76八木裕
86和田豊

[*]下へ▼ ▲[#]上へ

このサイトに関するお問い合わせは,連絡先のページをご覧ください.

このページのボトムへ講義資料このページのトップへ

前のページに戻る  1  2  3  4  次のページへ進む   データベースマネジメントの目次に戻る ,        © 2001 Ayumi Yoshikawa