T
OKYOJ
OHOU
NIVERSITYT
OKYOU
NIVERSITY OFI
NFORMATIONS
CIENCEST
OKYOU
NIVERSITY OFI
NFORMATIONS
CIENCESデータベース設計の手順
1. データとその関連( ER )を分析する
2. 表を作る
3. 表を正規化する
第一正規形
第二正規形
第三正規形42
T
OKYOJ
OHOU
NIVERSITYT
OKYOU
NIVERSITY OFI
NFORMATIONS
CIENCEST
OKYOU
NIVERSITY OFI
NFORMATIONS
CIENCES表の作成
売上報告書から表を作成してみる
43
非正規形
繰り返し項目が排除されていない表
リレーショナルデータベースでは、
非正規形の表はうまく処理できない
44
T
OKYOJ
OHOU
NIVERSITYT
OKYOU
NIVERSITY OFI
NFORMATIONS
CIENCEST
OKYOU
NIVERSITY OFI
NFORMATIONS
CIENCESデータベース設計の手順
1. データとその関連( ER )を分析する
2. 表を作る
3. 表を正規化する
第一正規形
第二正規形
第三正規形45
正規化
現実世界のデータをリレーショナルデータベース の表に落とし込む作業
1 行に 1 つの値が入る表の形にする
非正規形の表をデータの矛盾が発生しないよう 複数の表に分割する
46
T
OKYOJ
OHOU
NIVERSITYT
OKYOU
NIVERSITY OFI
NFORMATIONS
CIENCEST
OKYOU
NIVERSITY OFI
NFORMATIONS
CIENCES第一正規形を作る
1 行に 1 つの値が入るように表を分割する
47
第一正規形の表まとめ
第一正規形
表を
2
次元の単純な表としたもの
1
行に1つの値が入るようにした表 「売上明細」(第一正規形②)の問題点
商品に関するデータと売上に関するデータが混在
新しい商品でまだ売っていない商品は追加できない
48
T
OKYOJ
OHOU
NIVERSITYT
OKYOU
NIVERSITY OFI
NFORMATIONS
CIENCEST
OKYOU
NIVERSITY OFI
NFORMATIONS
CIENCES第二正規形を作る( 2 )
「売上明細」(第一正規形②)を分割する
49
第二正規形を作る( 3 )
主キーによって他の列の値がきまる
「商品」表は、「商品コード」列の値が決まると
「商品名」と「単価」の値が決まる
「売上明細」表は、「報告書コード」列と
「商品コード」列の値が決まると「個数」の値が決まる
50
T
OKYOJ
OHOU
NIVERSITYT
OKYOU
NIVERSITY OFI
NFORMATIONS
CIENCEST
OKYOU
NIVERSITY OFI
NFORMATIONS
CIENCES第二正規形
主キーによって他の列の値が決まるようにした表
関数従属
「ある列の値によって他の列の値が決まる」こと
主キーに他の列が関数従属するように表を分割する
51
第二正規形の表まとめ
「売上」(第一正規形①)はそのままで第二正規形
主キーの「報告書コード」が決まると他の値が決まる
52
T
OKYOJ
OHOU
NIVERSITYT
OKYOU
NIVERSITY OFI
NFORMATIONS
CIENCEST
OKYOU
NIVERSITY OFI
NFORMATIONS
CIENCES第三正規形を作る( 1 )
「売上」(第二正規形③)の問題点
「売上」表には、輸出先に関するデータと売上に関する データが混在
一度も輸出していないが輸出先には存在するイタリア を管理できない!
53
第三正規形を作る( 2 )
「売上」表(第二正規形③)を分割する
54
T
OKYOJ
OHOU
NIVERSITYT
OKYOU
NIVERSITY OFI
NFORMATIONS
CIENCEST
OKYOU
NIVERSITY OFI
NFORMATIONS
CIENCES第三正規形
各項目の値が、主キーのみで決まる表
推移従属している
「ある列の値によって間接的に他の列の値が決まる」こと
第三正規形では、推移従属を除くように表を分割
55
第三正規形(補足)
「売上」表(第二正規形③)では
「報告書コード」が決まれば、「輸出先コード」が決まり、
それにより間接的に「輸出先名」が決まっていた
56
ドキュメント内
Webシステム授業資料
(ページ 41-57)