平成26年春期 問27について

hkstyさん  
(No.1)
正規化の問題です。

問:次の表はどこまで正規化されたものか。

表の項目が下記です。
従業員番号 | 氏名 | 入社年 | 職位 | 職位手当 |

答え:第2正規形

第2正規化の説明として、「部分関数従属がない状態」なのですが、
この問の表の場合、「氏名」は「従業員番号」に対して部分関数従属の関係があるのでは?
と思って納得が行っていません。
(かといって非正規形でもないので回答に困ったのですが…)

どなたか説明していただければ幸いです。

2017.02.12 16:20
通りすがりの者さん 
(No.2)
この投稿は削除されました。(2017.02.12 21:37)
2017.02.12 21:37
通りすがりの者さん 
(No.3)
No.2の投稿は、一部ミスがありましたので、削除して再投稿します。

この問題は主キーが明記されていないパターンですが、この表の主キーは明らかに「従業員番号」です。

第2正規形の条件である「主キーに部分関数従属する属性がない」は、「主キーの一部に関数従属する属性がない」です。言い換えると、第2正規形の条件を満たさない表は、主キーが複合キー(主キーが複数の属性の組合せから成る)です。

この表の主キーは「従業員番号」単独で、複合キーではないため、第2正規形の条件を満たしていることになります。

なお、第2正規形でない表として、以下のような例があります。ただし、主キーを明記していないため、一部、一般的な考え方が必要です。

受注番号,明細番号,受注日,顧客番号,商品コード,数量

この表の主キーは、一般的に考えて「受注番号,明細番号」の複合キーです。ところが、この主キーの一部である「受注番号」に「受注日」と「顧客番号」が従属するため、この表は第1正規形です。
2017.02.12 21:47
nfnfさん 
(No.4)
従業員番号から名前を確定させることは出来ないでしょう?
同姓同名
2017.02.13 17:13
通りすがりの者さん 
(No.5)
nfnfさん

まず前提として、従業員番号はユニークでなければ、この問題は成り立ちませんし、主キーはユニークである必要があります。

氏名は同姓同名があり得るとします。2つ以上の従業員番号の氏名が同一でも、従業員番号がわかれば、それに対応する氏名は確定します。

おっしゃっているのは、「氏名がわかっても、同姓同名がいれば従業員番号は確定しない」のことでは?
2017.02.13 17:58

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop