平成26年春期 問27について
広告
hkstyさん
(No.1)
正規化の問題です。
問:次の表はどこまで正規化されたものか。
表の項目が下記です。
従業員番号 | 氏名 | 入社年 | 職位 | 職位手当 |
答え:第2正規形
第2正規化の説明として、「部分関数従属がない状態」なのですが、
この問の表の場合、「氏名」は「従業員番号」に対して部分関数従属の関係があるのでは?
と思って納得が行っていません。
(かといって非正規形でもないので回答に困ったのですが…)
どなたか説明していただければ幸いです。
問:次の表はどこまで正規化されたものか。
表の項目が下記です。
従業員番号 | 氏名 | 入社年 | 職位 | 職位手当 |
答え:第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正規形です。
この問題は主キーが明記されていないパターンですが、この表の主キーは明らかに「従業員番号」です。
第2正規形の条件である「主キーに部分関数従属する属性がない」は、「主キーの一部に関数従属する属性がない」です。言い換えると、第2正規形の条件を満たさない表は、主キーが複合キー(主キーが複数の属性の組合せから成る)です。
この表の主キーは「従業員番号」単独で、複合キーではないため、第2正規形の条件を満たしていることになります。
なお、第2正規形でない表として、以下のような例があります。ただし、主キーを明記していないため、一部、一般的な考え方が必要です。
受注番号,明細番号,受注日,顧客番号,商品コード,数量
この表の主キーは、一般的に考えて「受注番号,明細番号」の複合キーです。ところが、この主キーの一部である「受注番号」に「受注日」と「顧客番号」が従属するため、この表は第1正規形です。
2017.02.12 21:47
nfnfさん
(No.4)
従業員番号から名前を確定させることは出来ないでしょう?
同姓同名
同姓同名
2017.02.13 17:13
通りすがりの者さん
(No.5)
nfnfさん
まず前提として、従業員番号はユニークでなければ、この問題は成り立ちませんし、主キーはユニークである必要があります。
氏名は同姓同名があり得るとします。2つ以上の従業員番号の氏名が同一でも、従業員番号がわかれば、それに対応する氏名は確定します。
おっしゃっているのは、「氏名がわかっても、同姓同名がいれば従業員番号は確定しない」のことでは?
まず前提として、従業員番号はユニークでなければ、この問題は成り立ちませんし、主キーはユニークである必要があります。
氏名は同姓同名があり得るとします。2つ以上の従業員番号の氏名が同一でも、従業員番号がわかれば、それに対応する氏名は確定します。
おっしゃっているのは、「氏名がわかっても、同姓同名がいれば従業員番号は確定しない」のことでは?
2017.02.13 17:58
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。