平成24年秋期午後問2

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
カレーライスさん  
(No.1)
https://www.fe-siken.com/kakomon/24_aki/pm02.html
この問題について、お聞きしたいことが2つあります。
1.設問1のa,b,cはどう解くのか?
2.設問4では、なぜ重複を1つにまとめているのか?
ご回答お願いします。
2021.03.20 18:54
文系脳さん 
FE ブロンズマイスター
(No.2)
※私なりの解き方です
設問1にある図3で見ていきましょう。
例えばX、Y事業部の取引先表にある情報商事株式会社と情報商事(株)は、表記が異なるだけで同じデータです。
単にこの2つの表を結合します。
すると同じデータが存在し重複することになります。
情報商事株式会社=データ1,情報商事(株)=データ2と独立したものといったイメージですかね。
それで例えば情報商事(株)にデータを格納したいとします。
本来なら情報商事(株)に入力するはずが、誤って情報商事株式会社の方に入力してしまいました。
先ほども述べたように情報商事(株)と情報商事株式会社は別物のデータなわけですから、更新すべきデータが更新されなくなります。
また同様に両方に誤ったデータを入力してしまい、該当データを削除します。
ここで削除を実行した人が同じデータが存在することを知らなかったとして。
その場合一方だけを消しても、もう片方に削除すべきデータは残ったままです。
よって設問1 a、bはアとイになります。

それでcですがこれは問題に「統合対象の表のデータを見比べて,表現は異なっていても同じ情報を表しているデータかどうかを識別するのに最も適した項目を特定する」とあります。
2つの取引先表を見ると全く同じ情報のままなのは「電話番号」だけです。
よって名寄せをする際に突合せを行う項目は ウ となります。

設問4ですが結合する表を見てください。
結合する表は発注、商品、明細、品目表です。
この場合発注コードは発注表以外にもありますよね?そうすると結合したときに同じ発注コードが存在している恐れがあります。
重複を消さずにそのままSQLを実行すると、必要以上に結果が表示されるうえに同じものが複数存在してしまうことに。
だからDISTINCTを使って重複を削除しなければならないのです。
この部分については私も他の方に教えていただくまで全く意味が分かりませんでした...。

長文になりましたがスレ主さんの理解の一助になれば幸いです。
2021.03.20 23:09
カレーライスさん  
(No.3)
ご回答ありがとうございます。
データベースの問題についてよくわかりました。
ご丁寧な解説とても助かりました。
2021.03.21 10:49

返信投稿用フォーム

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

その他のスレッド


Pagetop