HOME»応用情報技術者試験掲示板»主キーの選択
投稿する
主キーの選択 [0382]
dummyさん(No.1)
ソフトウェア開発技術者 平成19年春期 午前問61
に関して質問です.
主キーの定義として,”テーブル内のレコードを一意的に識別するためのフィールド”
らしいのですが.
なぜ,この問題において,ウは誤りなのでしょうか?
たしかに,解答エで,主キーの定義は満たしていると思います,そして解答ウに関しては
冗長になるとは思いますが,定義は満たしていると思います.
主キーの選択に関して,「主キーは少ない方がいい」や「関数従属は許さない」などの
ルールはあるのでしょうか?
に関して質問です.
主キーの定義として,”テーブル内のレコードを一意的に識別するためのフィールド”
らしいのですが.
なぜ,この問題において,ウは誤りなのでしょうか?
たしかに,解答エで,主キーの定義は満たしていると思います,そして解答ウに関しては
冗長になるとは思いますが,定義は満たしていると思います.
主キーの選択に関して,「主キーは少ない方がいい」や「関数従属は許さない」などの
ルールはあるのでしょうか?
2015.02.01 16:54
げねごすさん(No.2)
選択肢ウということは、主キーに「顧客番号」を含めるということでしょうか。
そういうことなら、主キーにはなりません。
日本語での表現が難しいところもありますが、主キーは、
「余計な属性を一切含まない候補キーであること」が条件です。
逆に言えば、上記の条件を満たしていれば、どの候補キーも主キーにできます。
候補キーに余分な属性を加えたものはスーパーキーと呼びます。これが質問文での概念に当てはまるものかと思います。
そういうことなら、主キーにはなりません。
日本語での表現が難しいところもありますが、主キーは、
「余計な属性を一切含まない候補キーであること」が条件です。
逆に言えば、上記の条件を満たしていれば、どの候補キーも主キーにできます。
候補キーに余分な属性を加えたものはスーパーキーと呼びます。これが質問文での概念に当てはまるものかと思います。
2015.02.02 20:04