ぐぐれっnyanta!

今の仕事を進める中で考えたこと、思いついたこと、感じたこと、実現したかったこと、「ぐぐれっ」と言われたこと、など。

ニュース

    <SCRIPT LANGUAGE="JAVASCRIPT"><!-- var ID="100444649"; var AD=0; var FRAME=0; // --></SCRIPT> <SCRIPT LANGUAGE="JAVASCRIPT" SRC="http://j1.ax.xrea.com/l.j?id=100444649"></SCRIPT> <NOSCRIPT></NOSCRIPT>

お気に入り

ナビゲーション

[情報処理技術者試験]1998年 一種 問47

1998年 一種 問47

関係データベースにおけるデータの正規化に関する記述のうち、正しいものはどれか。

ア  正規化はデータベースへのアクセス効率を向上させるために行うものである。

イ  正規化を行うと、一つの属性が複数の値を持つような入れ子の表は、排除される。

ウ  正規化を行っていない非正規形の表に対しても、選択、射影などの関係演算を実行することは可能である。

エ  正規化を完全に行うと、同一の属性(例えば社員コードや商品コードなど)を複数の表で重複して持つことはなくなる。

解答を考えています。

ア  パフォーマンスの向上させることをいっています。正規化すると複数の表を結合する場合が多々ありますので、アは不適切でしょう。

イ  「入れ子の表」の意味がいまいち分かりません。繰り返し項目の排除のことかな。とりあえず、保留。

ウ  選択や射影はもちろん可能です。ただ、「関係演算を実行する」というくだりが気になります。保留

エ  正規化すると、複数の表でキー項目が取り扱われるでしょうから、「重複してもつことはなくなる」という表現が微妙です。また「正規化を完全に行う」の意味がわかりません。第5正規形のことでしょうか??このような表現は、不適切の可能性が高いです。

ということで、この問題の答えを1つに絞り込むことができませんでした。参考書などでは、イになっているようですね。「不適切なものはどれか。」なら、アで決まりなんですけどね。

Published 2005年9月12日 14:57 投稿者 nyanta

コメント

# re: [情報処理技術者試験]1998年 一種 問47@ 2005年9月15日 0:28

「生徒エンティティ」の属性「取得教科」について考えて見ましょう。

表計算ソフトでなんかでつくったりすると。
TLC|国語
   算数
   理科

みたいな表をつくっちゃいます。
複数の値を持つ入れ子表ですね。

これを,
名前|ID
TLC|001

ID|教科
001|国語
001|算数
001|理科

という具合に正規化できる。
という話でしょう。

ウは,単に「正規化」の話ではなく
選択,射影などの「演算」の話をしているだけだ。
ってので不適切なんでしょうね。

timberlandchapel

# re: [情報処理技術者試験]1998年 一種 問47@ 2005年9月15日 12:04

TLCさん、コメントありがとうございます。

>生徒エンティティ」の属性「取得教科」について考えて見ましょう。
>表計算ソフトでなんかでつくったりすると。
>TLC|国語
   算数
   理科
>みたいな表をつくっちゃいます。
>複数の値を持つ入れ子表ですね。

--nyanta
うーん。Access(2000~)でいうところの入れ子表ってのもあるし、単に第4正規形になっていないことを入れ子表っていうのは聞いたことがなかったのです。単なる勉強不足ですな。

>ウは,単に「正規化」の話ではなく
>選択,射影などの「演算」の話をしているだけだ。
>ってので不適切なんでしょうね

--nyanta
それがですねー、ある問題集の解説なんかをみると(そのまま載せると問題ありそうなんで、意訳ね)

非正規形に対して関係演算をすると更新時異常が起こることがあるから不適切である。

って書いてあるんですよねー。じゃー、第1正規形なら更新時異常はないのですか?って思うわけですよ。

素直にウを読むと、
「関係演算を実行することは可能です。でも、正しい結果が得られるかどうかは疑問ですがね。」という意味だと思うのです。

あと、エですが、非正規形あるいは第1正規形なら同じ列が出現しないだろう、言うことでしょうが、列名は変更したって、リレーションシップを結べばよいので、重複するといっても列名が重複しないようにすることは可能です。
なんて、屁理屈を考えると重複するっていったいどういう意味?完全に正規化するとってどういう意味?と思ってしまうのです。多分、一つのリレーションを分割したときに、キー項目を分割先のリレーションにも持つことになるから「重複する」といっていると思うのですが、「同一の項目」といっているのでキー項目とは限らないわけです。非キー属性が重複することって無いですよね。うーん。。。まあ、適切とはいいがたいので、エは無いでしょうね。

nyanta