1
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 3 years have passed since last update.

基本情報(正規化2)

Posted at

上記の続きです。

第2正規系の表は部分関数従属している列を切り出した形

受注No 受注日付 顧客コード 顧客名称 商品コード 商品名 単価 数量
1011 2010/11/12 C010 ほげ B101 紙ファイル 50 12
1011 2010/11/12 C010 ほげ B102 3色ボールペン 300 8
1012 2010/11/14 C021 ふが B111 ハサミ 800 2
1012 2010/11/15 C022 ほむ B131 いかすみ 900 8

「受注No」に部分関数従属しているのが「受注日付」「顧客コード」「顧客名称」
「商品コード」に部分関数従属しているのが「商品名」「単価」「数量」

上記を分離させたものが以下のようになります。

受注表

受注No 受注日付 顧客コード 顧客名称
1011 2010/11/12 C010 ほげ
1011 2010/11/12 C010 ほげ
1012 2010/11/14 C021 ふが
1012 2010/11/15 C022 ほむ

商品表

商品コード 商品名 単価 数量
B101 紙ファイル 50 12
B102 3色ボールペン 300 8
B111 ハサミ 800 2
B131 いかすみ 900 8

受注明細表

受注No 商品コード 数量
1011 B101 50
1011 B102 50

第二正規形にできました。

第3正規形の表は主キー以外の列に関数従属している列を切り出したカタチ

第2正規形の表から、主キー以外の列に関数従属している列を切り出したものが第3正規形となります。

下記を

受注表

受注No 受注日付 顧客コード 顧客名称
1011 2010/11/12 C010 ほげ
1011 2010/11/12 C010 ほげ
1012 2010/11/14 C021 ふが
1012 2010/11/15 C022 ほむ

受注表

受注No 受注日付 顧客コード
1011 2010/11/12 C010
1011 2010/11/12 C010
1012 2010/11/14 C021
1012 2010/11/15 C022

顧客コード

顧客コード 顧客名称
C010 ほげ
C010 ほげ
C021 ふが
C022 ほむ

分離させて、第3正規形の表となりました。

まとめ

第3正規化まで全て出来ているかと言われると、そうではないケースもあり正規化やDB周りはちゃんとした専門書を読む必要がありそうですね。

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