2005年03月27日

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

H15午後I 問3 vol.2

H15午後I 問3(ITEC 2005予想問題集 午後I 問3-1)
設問2(2)

9氏からのコメント依頼
 元記事

599 :名無し検定1級さん :2005/03/26(土) 21:33:48
午後1のSQLは、今年も例年通り何の変哲もない問題なのだろうか?
SQL99まで押さえてないとだめかな?
いきなり突拍子もない問題だされたら困るなあ。

ところで、平成15年午後1の「セットメニュー」「セット料理」の問題って、
どういう議論に落ち着いていたのか知ってる人いる?
愛テックの解答だと、「セットメニュー(主料理番号、セット料理番号)」
が最もスマートな解ということになってるが。

601 :名無し検定1級さん :2005/03/26(土) 21:46:49
>>599
出ても1設問。影響は少ないんでは?
平成15年午後1はそれでいいと思うよ

602 :599:2005/03/26(土) 21:51:42
ぼくは当時「セットメニュー(主料理番号、セット料理番号)」に加えて
「セット料理(セット料理番号,セット構成料理番号)」も書いてしまったんだ。
やっぱ冗長だってことで、減点あるいはゼロだったのかな。当時も勿論落ちたけど。
今年が3度目の挑戦なのねん。 612 :名無し検定1級さん :2005/03/27(日) 01:25:01
http://www5a.biglobe.ne.jp/~ISI01/db2003.html
H15午後I問3設問2(2)の解答って、

[示現塾] http://zigen.cosmoconsulting.co.jp/images/ANW-H15DB-PM1.pdf
セットメニュー(主料理番号,セット料理番号)
セット料理構成(セット料理番号,料理番号)

[TAC] http://school.edu.yahoo.co.jp/school/answer/jyouhousyori/20030401/20030401-04.pdf
セットメニュー(主料理番号,セット料理番号)

[自分が使ってる参考書]
セット料理(セット料理番号,セット料理名,価格)
セット料理内容(セット料理番号,料理番号)
セットメニュー(セット料理番号,主料理番号)

全部違う。
いったいどれが一番高得点の回答なんでしょう。

613 :名無し検定1級さん :2005/03/27(日) 01:31:15
って、すぐ前の>>599に同じネタが。スマソ。
自分も、セットメニュー(主料理番号、セット料理番号)だけだと思うなぁ。
問題文にはごちゃごちゃと細かく説明してるけど、
注文管理上はセット料理の詳細なんて無関係だし。


と,いうことで
出題者の意図
問題点④ セット料理及びセットメニューの管理が漏れている。
を汲んだ解答としては,伝統的な
(解答例:A)
 セット料理(セット料理番号,セット料理名,価格)
 セット料理内容(セット料理番号料理番号)
 セットメニュー(セット料理番号主料理番号)

が,一番良いと思います。


TAC解答速報,アイタック本
(解答例:B)
 セットメニュー(主料理番号セット料理番号)
 (※アイタック本はセット料理,セット料理内容,セットメニューの3テーブルを別解としている)
と,なっています。
非常に合理的な解答であると思いますが,出題者の意図とズレる気がするのと,午後I でここまでの汎化は求めないでしょう。。。

 それと,
 料理(料理番号,料理名,単価,料理区分
 料理区分:単品料理なのか主料理なのかセット料理なのか区別するためのカテゴリ識別子が欲しいところ。この区分がないとアプリ側の負担が大きいと思われます。

“意図とズレる気がする”というのは,
 料理(料理番号,料理名,単価)でセット料理が管理をするのであれば,「セット料理の管理が漏れている」とは書かないのではないでしょうか。。。この解答例だと「主料理とセット料理,及びセット料理を構成する単品料理の管理が漏れている」という表現になると思うんだけどな。


次に示現塾解答例
(解答例:C)
 セット料理内容(セット料理番号,料理番号)
 セットメニュー(セット料理番号,主料理番号)

 セット料理(セット料理番号,セット料理名,価格) は,
 料理(料理番号,料理名,単価) で管理するパターン。
 インスタンス例:料理(4400,サラダセット,250)

セット料理には,それを構成する単品料理とは別の料理番号を付与する。
とあるので,料理番号の重複もないのでこの解答例は別解でOKな気もしますが,解答例Bの“意図とズレる気がする”と同じっすな。。。


ひとつ気になるのは。。。「解答欄の大きさ」w
どのくらいだったんでしょうね。。。


類問
 H13午後I 問2 設問3
 H13午後II 問2 設問1(4)


関連記事
 H15午後I 問3

Posted by g@kko at 2005/03/27 14:08 | 個別記事表示 | コメントを見る (8) |
この記事をLicWikiに埋め込む:
コメント
2 :g@kko:05/03/27 14:19:41 [RES]

>> #311#4@おみおみさん

セット料理内容(セット料理番号,料理番号)

料理番号の下線は漏れ(?)ですよね?

ただ、どのドリンク、サラダ、スープもセット料理にできるのであればこのテーブルは特に必要ないと思う。
どの料理がドリンクなのかサラダなのかスープなのか明示するモノ(例:料理区分)がないので必要と思われます。

 H13午後II 問2の「商品.商品種別コード」のようなものが,「料理」にあって,かつ『どのドリンク、サラダ、スープもセット料理にできるのであれば』なくても良いかと。


3 :9:05/03/27 14:22:49 [RES]

さっそく記事化キタ━━━━━━(゚∀゚)━━━━━━!!
いつもすまんね(´・∀・`)ゞ
気になるのは、問題提起者がまったくお礼することなくスルーだってこと。なんでもいいからコメントすりゃいいのにと思わない?
ちゃんとあっちにもリンク発展だからよ(・A・`#)
まあgakkoは自分のためにもなると思ってなw

> ひとつ気になるのは。。。「解答欄の大きさ」w
> どのくらいだったんでしょうね。。。

う~ん・・まったく覚えてない
なんせ最後の問いの最後の設問だからね。当時の俺の力じゃ時間が足りなくてそこまで行かなかったよ
ただああいうテーブル構造書く欄て結構大きめに用意されてるから、書こうと思えば三つ書けたはず。
まあ解答欄から推測されないように、俺なら余分に大き目の用意しとくけどな


4 :9:05/03/27 14:27:53 [RES]

あそうそう
メルで送った過去ログも参考にしてくれた(´・∀・)?
してないならすると多少へーって言っちゃうよ


5 :おみおみ:05/03/27 15:53:26 [RES]

こんにちは。ご指摘ありがとうございます。

>料理番号の下線は漏れ(?)ですよね?
漏れちゃいました。本番が怖いですね。

セット料理には,それを構成する単品料理とは別の料理番号を付与する。

私はこれを「別体系の料理番号」と読み違えて(?)ました。
セット料理も料理テーブルに含まれていれば示現塾解答例でもOKでしょうね。ただ識別子はあったほうがいいでしょうね。(試験ではどっちでもいい扱いだけど)

>どの料理がドリンクなのかサラダなのかスープなのか明示するモノ(例:料理区分)がないので必要と思われます。

名前から判断できればいいですが、そうでない場合が多いでしょうから、ご指摘の通りですね。

(解答例:B) 非常に合理的な解答であると思いますが,出題者の意図とズレる気がするのと,午後I でここまでの汎化は求めないでしょう。。。

本を持ってないので、よく分かっていないのですが、これはセット料理も料理テーブルで管理しているという前提ですか?そしてセット料理内容(セット料理番号,料理番号)は考慮していないんでしょうか?

思いついた案としては、セット料理の情報は料理テーブルで管理しているということを前提として、

セットメニュー(セット料理番号料理番号、料理区分)

料理区分の取る値:主料理またはセット料理

というのはどうでしょう?料理区分が主料理のときはセット料理内容(セット料理番号,料理番号)、セット料理のときはセットメニュー(セット料理番号,主料理番号)をあらわしてるということです。


6 :g@kko:05/03/28 22:59:58 [RES]

>>3
>まあ解答欄から推測されないように、俺なら余分に大き目の用意しとくけどな
うんうん。そう思うw
コメントは強要してもねぇ。。。勝手に引用して勝手に記事化してるんだしw
。。。「Preview」がうまく動作していなかったみたいだし。。。(遠い目)

>>4
 参考にさせていただきました。
 ログを参考にして「出題者の意図」というのを強調してみました。


>>5
アイテックの解答例の補足をしますね。
(解答例B)
 セットメニュー(主料理番号セット料理番号)
 料理(料理番号,料理名,単価)

(解答例A)
 セット料理(セット料理番号,セット料理名,価格)
 セット料理内容(セット料理番号,料理番号)
 セットメニュー(セット料理番号,主料理番号)

解答例Bは解答例Aの
 セット料理は「料理」で管理
 セット料理内容は「セットメニュー」で管理
 セットメニューは「セットメニュー」で管理
と,なっています。

セットメニューで
・主料理とセットメニューの組合せ
・セットメニューを構成する単品料理の組合せ
のふたつを管理することになります。

セットメニュー(セット料理番号料理番号、料理区分)
と,した場合(都合,料理番号を料理名称に置き換えます)
インスタンスは。。。

和風ハンバーグ,サラダセット,主料理
和風ハンバーグ,サラダスープセット,主料理
和風ハンバーグ,ドリンクセット,主料理

サラダセット,サラダ,セット料理
サラダセット,ライス,セット料理
サラダスープセット,サラダ,セット料理
サラダスープセット,スープ,セット料理
サラダスープセット,ライス,セット料理
ドリンクセット,ソフトドリンク,セット料理
ドリンクセット,ライス,セット料理

料理区分がセット料理番号に関数従属し,部分関数従属が存在することになりますよね?
で,こいつを分解すると
 (セット料理番号,料理区分)
 (セット料理番号料理番号
と,なります。

料理区分がやっぱり料理に欲しい。ですよねぇ。。。


7 :おみおみ:05/03/29 08:53:11 [RES]

こんにちは。
ちょっと混乱してきましたが、以下の意見です。

解答例Bは解答例Aの  セット料理は「料理」で管理  セット料理内容は「セットメニュー」で管理  セットメニューは「セットメニュー」で管理 と,なっています。

もしかしてそうかなとは思っていましたが、
セットメニュー(主料理番号,セット料理番号) ではなくて
セットメニュー(料理番号,セット料理番号) とすべきでは?
料理番号は主料理番号を含みますが、逆は苦しいと思います。
そこにひっかかってました。

・セットメニュー(セット料理番号、料理番号、料理区分) の件

第三正規形にすることまで頭が回ってませんでした。

×(セット料理番号,料理区分)
○(料理番号,料理区分)

ですよね?
料理区分は料理番号で一意でしょうから。
ただ第三正規形にしてしまうと、料理に料理区分を追加するほうがいいんですよね。

1つのスキーマではどうなるかなと思って作りましたが、
やっぱりベストは3スキーマのやつじゃないかと思います。
示現塾の解答用紙見たら、3つは書けそうでした。
本番のと違いがあるのかもしれませんけど。


8 :g@kko:05/03/29 12:49:20 [RES]

>>7 おみおみ さん

>セットメニュー(主料理番号,セット料理番号) ではなくて
>セットメニュー(料理番号,セット料理番号) とすべきでは?

解答例をコピペしただけで,属性名まで気を回していませんでした。
ご指摘のとおり
 セットメニュー(料理番号,セット料理番号) ですね。


>○(料理番号,料理区分)
>ですよね?

です。


>やっぱりベストは3スキーマのやつじゃないかと思います。
ベタな解答ですが,やっぱりコレですよね^^


9 :makoneko:05/03/30 12:54:13 [RES]

この問題、午後Ⅱだと
 激しくスーパータイプ/サブタイプが問われそう。。