2005年05月01日

[ テクニカルエンジニア(データベース)/H17 ]

H17午後I 問3設問1

H17午後I 問3
会員管理システムのSQL文

設問1(1)
定番のSQL文の穴埋め
解答例:設問1(1)
a:COUNT(*)
b:GROUP BY 会員区分, 利用区分
c:ON ( 会員種別.会員区分 = 現会員.会員区分 AND 利用区分.利用区分 = 現会員.利用区分 )
もしくは
 USING ( 会員区分, 利用区分 )
d:利用年月日 BETWEEN
e:入会年月日 BETWEEN
f:退会年月日 BETWEEN
g:会員種別名

設問1(2)
外部結合の理由を問う問題。外部じゃないといけない理由を探す。
『会員種別によっては,会員が存在しない場合もある。』
つまりは,集計対象がゼロであっても,一覧表に出力しないといけないということで。
解答例:設問1(2)
指定した期間において,会員が存在しない会員種別及び利用・入退会が無かった会員種別を利用状況一覧表に出力するため。(56文字)

設問1(3)
『(1)のSQL文を変更せずに』の条件に戸惑うかもしれないが,これは「会員」テーブル以外で管理するのはナシという布石である。
解答例:設問1(3)
テーブル名:会員
列の内容:親会員の会員番号

列の内容を答えよに対して,列名(親会員番号)で解答すると減点かもしれない。。

Posted by g@kko at 2005/05/01 17:09 | 個別記事表示 | コメントを見る (11) |
この記事をLicWikiに埋め込む:
コメント
2 :前スレ973:05/05/01 17:40:59 [RES]

>列の内容を答えよに対して,列名(親会員番号)で解答すると減点かもしれない。

"親会員番号"で満点、"親会員番号"だと、減点ですか。きびしいな。


3 :g@kko:05/05/01 18:41:00 [RES]

>>2 前スレ973

聞かれているのは「列の内容」であって「列名」ではないので,ビミョウかなぁと。思います。(というか反省しています。親会員番号って書きました。。。)

「親会員番号」でも列の内容だ。と,言い張れるんですけどね。


4 :前スレ973:05/05/01 19:16:45 [RES]

>>3 :g@kko
どこまで厳密な解答を求められるかですね。
親会員番号と答えても理解していることは通じるからいいんじゃないかとは思いますが。
>c:ON ( 会員種別.会員区分 = 現会員.会員区分 AND 利用区分.利用区分 = 現会員.利用区分 )
>もしくは
> USING ( 会員区分, 利用区分 )
ON の場合、()は不要では?WHERE以降と同じ書き方でいいんですよね?


5 :g@kko:05/05/01 22:04:16 [RES]

>>4 :前スレ973
>ON の場合、( )は不要では?

 必須ではないですが,こちらの方が安心感があります。
 ただそれだけですw

 http://tedb.gasakura.net/archives/entry/000705.php#3

USING (a, b, c)はON (t1.a = t2.a AND t1.b = t2.b AND t1.c = t2.c)と等価です

 と,ここで括弧書きしているので。。。


6 :9:05/05/03 17:50:39 [RES]

設問1(3)
これを見てすぐH13にもあった家族会員を思い出した者は多いだろう(´・∀・)ノ
その名の通りw親子構造になるので、親への外部キーである親会員番号が必要となるわけだ(´・∀・)ノ

> 列の内容を答えよに対して,列名(親会員番号)で解答すると減点かもしれない。。

ここは大丈夫だったが、問2設問1では列の目的でなく、列名も答えてしまったw(答案用紙がなく、ノートに解答したというのもあるが)

今回は列名と思わせといて、実はそれはどうでもよく、列の内容や目的を答えさせる問題が多かったといえよう(´・∀・)ノ


7 :M&C:05/05/08 12:29:56 [RES]

>3
自分は「家族代表会員番号」と解答してしまいまいました・・・

一応、親会員の会員番号というつもりで解答したのですが、
採点する人によっては、どうにでも解釈できてしまう言葉ですよね・・・減点ならいいのですが・・・

>ON ( 会員種別.会員区分 = 現会員.会員区分 AND 利用区分.利用区分 = 現会員.利用区分 )

あと、利用区分.利用区分 = 現会員.利用区分
の部分って、会員種別..利用区分 = 現会員.利用区分
じゃないんですか?(どっちでもいいのかな?)


8 :9:05/05/08 13:11:26 [RES]

>>7
> 自分は「家族代表会員番号」と解答してしまいまいました・・・
家族代表というのが親会員というのがわかりにくいのと、モロに列名を答えてしまっているため減点あるいは0点確実だm9(´・A・`)


9 :M&C:05/05/08 17:34:45 [RES]

>家族代表というのが親会員というのがわかりにくいのと、モロに列名を答えてしまっているため減点あるいは0点確実だm9(´・A・`)

この問題、満点の解答を得るのが難しくないですか?

親会員という表現が正解かどうかもわかりませんし。
(親会員>家族代表会員と明確に認識されてしまうのでしょうか?)

このスレを見るまで、家族代表の会員番号(家族代表会員番号)で正解と見ていたのですが、他の解答まで不安になってきました・・・(つい、意味が伝わる列名なら良いのかと・・・)


10 :9:05/05/08 17:43:29 [RES]

> 家族代表の会員番号(家族代表会員番号)
この設問ではその二つで全然意味が違ってくるってガッコも書いてるじゃん
結局どっちを書いたのよ(´・ω・)? この設問に至ってはそういう括弧書きとか曖昧な記述は一切タブーだ。はっきりせいm9(・A・)
俺的には、
○家族代表の会員番号
×家族代表会員番号


11 :9:05/05/08 17:55:38 [RES]

>>9
> 意味が伝わる列名
あと列名じゃなくて列の内容な
けど実際ガッコを初めとして圧倒的に列名みたいなのを解答した人が多そうなので、ここは最終的には列名っぽくても丸になりそうな気もする(´・ω・)
そうするとなぜ列名とせずに列の内容という間違えやすいものにしたのか出題者の意図が不明だ


12 :M&C:05/05/08 18:27:29 [RES]

>○家族代表の会員番号
>×家族代表会員番号

下の方。

設問に従ってないとはいえ、
「の」が入ってないだけで不正解になってしまうのはさすがに辛い・・・

出題者が列名ではなく、列の内容としたのは、わかりやすい列名が解答しづらいと思われたか、自己参照の外部キーというキーワードまで入れて欲しいかのどちらかだと思う。(自分も、単に親という言葉だけだとわかりずらいかと思い、つい、代表という言葉を使ってしまった。自己参照の外部キーという言葉を混ぜれば、親という言葉も自然になってくるんだけど・・・ひねくれた見た方をすると、父母の会員番号にも思えてしまうわけだし。)