解説お願い致します。

TESTさん  
(No.1)
データベースの中でも最高難易度である平成16年春についてです。

全体的に全くわからないです。
設問2についてよく分からないので誰か解説していただければ幸いです
※ただ難易度が高いため無理なさらずでよいです・・・※
https://www.ap-siken.com/pdf/archive/2004h16h_sw_pm1_qs.pdf
2022.08.27 13:41
GinSanaさん 
AP プラチナマイスター
(No.2)
この投稿は投稿者により削除されました。(2022.08.27 22:15)
2022.08.27 22:15
GinSanaさん 
AP プラチナマイスター
(No.3)
この投稿は投稿者により削除されました。(2022.08.27 22:24)
2022.08.27 22:24
GinSanaさん 
AP プラチナマイスター
(No.4)
問6
設問2
空欄C
GROUP BYの特性から、集約キーは出品番号、商品名称、終了日時となることから、現在価格には集約関数を使うことになる。

※GROUP BY句があるとき、SELECT句に集約キーと集約関数(および定数)だけを含めることができる

P18より、
入札価格の処理において(・・・)その入札価格が新たな現在価格になる
とあることから、入札エンティティの入札価格属性が現在価格を意味する。

オークションでは一番高いやつが競り落とせるモノなので、MAX関数でやると
MAX (入札 2.入札価格) AS 現在価格
となる。

空欄d
入札 入札 2

空欄fの説明を参照

空欄e
 e 入札 1.入札会員番号 = :会員番号
設問2の本文より、当該会員の入札価格として当該会員が成立させた入札の最高の入札価格を表示するので、
max(入札1.入札価格) as 当該会員の入札価格
でわかるように、入札1とは会員番号で絞った上でmaxで最高額を持った入札価格でなければならんということ。

空欄f
 f 入札 2.出品番号 = 入札 1.出品番号
又は
入札 2.出品番号 = 出品.出品番号

入札2とはなにか?というと、現在価格をもっていなければならない。当然空欄eの会員番号でのmaxではなく全体としての商品に対するmaxであるから、また別モンとしての結合が必要になる。
空欄g GROUP BY
空欄cの説明を参照
空欄h 終了日時
空欄cの説明を参照

※この時代に限らず、IPAは応用情報では、whereで何でも内部結合を書きたがるみたいですね。おれはDBSPならインナージョインをつかってんだから、素直にインナージョインを使えよと思う・・・。
2022.08.27 22:25

返信投稿用フォーム

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

その他のスレッド


Pagetop