/![]()
正規化(テーブルの分割)![]()
RDBを構築するためには,データベースを定義するときに正規化と呼ばれる作業を行う必要がある.蓄積しなければならないデータを,それぞれの関係性に着目して複数のテーブルに分割する作業である.この作業によって,格納するデータ量を減量することができる.
例えば,列と行で表せないデータは正規化されていないデータと呼ばれる.
例1| 顧客コード | 商品名 | (数量,単価) |
|---|---|---|
| AC0001 | パソコン本体 | (1,\150,000) |
| BC0006 | スキャナ | (5,\20,000) |
| 顧客コード | 商品名 | 数量 | 単価 |
|---|---|---|---|
| AC0001 | パソコン本体 | 1 | \150,000 |
| BC0006 | スキャナ | 5 | \20,000 |
例2
| 社員コード | 扶養家族1 | 扶養家族2 |
|---|---|---|
| sy0001 | A子 | B男 |
| sy0006 | C美 | − |
| 社員コード | 扶養家族 |
|---|---|
| sy0001 | A子 |
| sy0001 | B男 |
| sy0006 | C美 |
例3
| 取引先コード | 商品コード | 単価 |
|---|---|---|
| A01 | GD01A | \500 |
| GD01B | \1,500 | |
| GD01C | \2,000 | |
| A02 | GD02A | \600 |
| GD02B | \1,600 | |
| GD02C | \7,000 |
| 取引先コード | 商品コード | 単価 |
|---|---|---|
| A01 | GD01A | \500 |
| A01 | GD01B | \1,500 |
| A01 | GD01C | \2,000 |
| A02 | GD02A | \600 |
| A02 | GD02B | \1,600 |
| A02 | GD02C | \7,000 |
以上のように行と列に区切られ,繰り返しデータ等を無くして1つのテーブルにしたものが第1正規形と呼ばれる.
以下,工事中