0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

データベース ざっくり解説 1正規化

Last updated at Posted at 2019-12-02

正規化

データベースで扱いやすいようにデータ整理すること
整合性が守られるデータベース設計

主キー候補キー

主キーとは、「リレーショナルデータベースのテーブル内でレコードを一意に定められる項目」。主キーはNULLは許されない。
候補キーとは、主キーの候補になるキー。テーブル内でレコードを一意に定められる項目の組み合わせ。

第1正規形

image.png

表に繰り返しの空きが出ないように繰り返し部分を列に増やす(あまりうまい説明ができないので空きのない表を作る的な感じで)

第2正規形

(条件) すべてのキー属性は候補キーに部分関数従属していない

部分関数従属していないとは

候補キーの一部だけで他の項目が一意に定まる場合。
要は
候補キーの一部で項目が決まるのに、他に必要のない候補キーを入れていないこと。


候補キーを第一正規形から探す。
{ レシート番号, 商品コード }
が候補キー

{レシート番号, 商品コード} → {数量, 小計}
{商品コード} → {商品名, 単価}
{レシート番号} → {店舗ID, 店舗名,住所 ,合計 ,消費税 ,請求額, 日時, 担当者コード, 担当者名 }

image.png

第三正規形

(条件)非キー属性は候補キーに推移的関数従属していない

推移的関数従属とは 非キー または 候補キー + 非キー によって非キー項目が一意に定まること
第二正規化のときのテーブルを例にすると、非キー属性の{店舗ID}が決まると{店舗名,住所}が一意に定まる。← 推移的関数従属している。


一般的には第二正規形から導出項目(計算によって求められる項目)を除く。
今回は{小計, 合計, 消費税, 請求額}

推移的関数従属を排除して完成

db_3_seikika.png

補足

image.png
超キーも重要ポイント
第三正規形は超キーを作り出すのがポイント

参考にしたサイト

第一正規化・第二正規化・第三正規化の違い

データベースの正規形について考える

候補キーから第3正規化までをマスターする

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?