第一正規形とは関係データベースにおいて、非正規形の表を
固定部分と繰り返し部分に分ける手法のこと。
次の表を例に考えてみる。
<非正規形>
受注番号 |
受注日 |
顧客名 |
顧客番号 |
品番 |
商品名 |
数量 |
単価 |
A00001 |
020522 |
○○商事 |
U005 |
Y001,Y002,
Y003 |
消しゴム,鉛筆、定規 |
50,20,
30 |
150,100,
200 |
A00002 |
020703 |
△△物産 |
U013 |
Y002,Y003,
Y004,Y005 |
鉛筆、定規,ノート,のり |
30,10,
30,10 |
100,200,
150,100 |
【品番・商品名・数量・単価・金額】は繰り返し部分、
【受注番号・受注日・顧客名・顧客番号】は固定部分になる。
非正規形の表を第一正規形で表で示すと下記の表になる。
<第一正規形>
受注番号 |
受注日 |
顧客名 |
顧客番号 |
品番 |
商品名 |
数量 |
単価 |
A00001 |
020522 |
○○商事 |
U005 |
Y001 |
消しゴム |
50 |
150 |
A00001 |
020522 |
○○商事 |
U005 |
Y002 |
鉛筆 |
20 |
100 |
A00001 |
020522 |
○○商事 |
U005 |
Y003 |
定規 |
30 |
200 |
A00002 |
020703 |
△△物産 |
U013 |
Y002 |
鉛筆 |
30 |
100 |
A00002 |
020703 |
△△物産 |
U013 |
Y003 |
定規 |
10 |
200 |
A00002 |
020703 |
△△物産 |
U013 |
Y004 |
ノート |
30 |
150 |
A00002 |
020703 |
△△物産 |
U013 |
Y005 |
のり |
10 |
100 |
これは、関係データベースで容易に表現できる表であるので、一般的に
関係データベースの表は第一正規形であるといえる。
ある列が決まれば、行を識別することが出来る列や列の組合せを、
基本キー(primary key)という。または、主キーともいう。
この表で基本キーにあたるのは「受注番号」と「商品名」の組合せである。
基本キーが決まれば一意に列の値が決まることを関数従属と呼び、
【数量】は完全に関数従属しているといえる。
これに対して、【商品名・単価】は「商品コード」、
【受注日・顧客番号・顧客名】は「受注番号」でだけで決まるので、
部分的に関数従属(部分従属)しているといえる。
また、部分従属している列を分離した表を第二正規形という。
スポンサードリンク
|