0
0

[RDB] 正規化

Last updated at Posted at 2024-07-14

まとめ

第1正規形: 全ての属性が単一値である状態
第2正規形: 第1正規形をみたし、部分関数従属する属性が存在しない状態
第3正規形: 第2正規形をみたし、主キーからの推移的関数従属が存在しない状態

目次

第1正規形

全ての属性が単一値である状態
image.png

image.png

第2正規形

第1正規形をみたし、部分関数従属する属性が存在しない状態

第3正規形

第2正規形をみたし、主キーからの推移的関数従属が存在しない状態

例1

image.png
これを図に直すと
image.png

第1正規形

全ての項目が単一値(繰り返し項目がない)ので、第1正規形になっている。

第2正規形

主キーの一部(複合種キー)に部分関数従属する非キー属性を別の表に分解する操作。
つまり、①注文番号→注文日、 ②注文番号→顧客番号、③(注文番号→)顧客番号→顧客名、⑥商品番号→商品名のリレーションは部分関数従属となり、下記3表に分離する。
image.png

第3正規形

主キーに推移的関数従属している非キー属性を別の表に分解する操作。
つまり、③(注文番号→)顧客番号→顧客名は推移的関数従属となり、下記4表に分離する。
image.png

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0