HOME»応用情報技術者試験掲示板»令和7年春期試験 午後問6【データベース】
投稿する

令和7年春期試験 午後問6【データベース】 [5812]

 管理人(No.1) 
令和7年春期試験 午後問6(データベース)についての投稿を受け付けるスレッドです。
2025.4.20 00:05
おまーるえびさん(No.2) 
四角c is 何
2025.04.20 15:44
ごごごーごごーごごさん(No.3) 
Cはそんな簡単なことあるかなと思いつつ(FROM)にしました
2025.04.20 15:47
たそがれさん(No.4) 
FROMかなと思いました
確証は無いです、、、
2025.04.20 15:47
ごごごーごごーごごさん(No.5) 
C:FROM、D:WHEREでこれが答えなら簡単すぎでは…??と思いつつ
2025.04.20 15:48
たそがれさん(No.6) 
FROM(インラインビュー)ck 
LEFT JOIN (インラインビュー)uk

ON 〜

みたいな構文であってますか、?
2025.04.20 15:49
ごごごーごごーごごさん(No.7) 
Dは確かにLEFT JOINかもです; ;
最終行がONだし、気付くべきでした、、
2025.04.20 15:52
ヒソカさん(No.8) 
ただのJOINじゃだめですか😿
2025.04.20 15:53
たそがれさん(No.9) 
自分的には、コアレス使うということは右表にNULLの値もあるということだと思って、LEFTにしました、、、
2025.04.20 16:01
もちさん(No.10) 
LEFT OUTER JOINはどうですか…?
2025.04.20 16:01
たそがれさん(No.11) 
コアレスとレフトジョインはセットだと勝手に認識してます、、
2025.04.20 16:02
たそがれさん(No.12) 
レフトジョインとレフトアウタージョインは≒なので大丈夫だと思います!
2025.04.20 16:02
Meltさん(No.13) 
C、Fromかと思ったけど「本当にそのレベルか……?UNIONとかそっちか??」とうろ覚えの知識で深読みしてしまったので退避しました。あれ結局Fromでよかったのか……。
2025.04.20 16:03
むんさん(No.14) 
FROMだけ...?そんなことある...?
って思いながら結局FROMだけにしました
2025.04.20 16:05
もちさん(No.15) 
よ、よかった……!!
ちなみにCはFROMにしました。。問い合わせじゃないしそれ以外何が入るのか分からず。。
2025.04.20 16:05
わかんないさん(No.16) 
設問 1
a店舗エリア範囲
b→
設問2
c LEFT OUTET JOIN
d UNION
e SUM(S.商品原価)
設問3 
f AND U.キャンペーン種別 = 'H'
g ORDER BY 売上実績数 DESC
設問4
キャンペーン実績表を日次から週次で実績を集計するみたいな

今回初めてデータベース受けたけど、難しすぎる…
2025.04.20 16:11
くろさん(No.17) 
仕事で受けたけど業務かじってる身からしたら今回めちゃくちゃ簡単だった
2025.04.20 16:13
おまーるえびさん(No.18) 
1、a:郵便番号 b:→
2、c:FROM
d:INNER JOIN
e:SUM(S.商品原価)
f:AND U.キャンペーン種別=IH'
g:ORDER BY 売上実績数 DESC
4、実績年月日を廃止して開始年月日と終了年月日列を追加する(全く自信なし)
2025.04.20 16:14
おまーるえびさん(No.19) 
訂正
IH' → 'H'
2025.04.20 16:14
やまさん(No.20) 
eに関しては、個数いるのか迷って
SUM(S.商品原価 * M.商品個数)にしました
2025.04.20 16:18
asdagrgragさん(No.21) 
1-1.該当郵便番号
1-2.ー(多分間違えました...)
2-1.FROM
2-2.LEFT OUTER JOIN
2-3. SUM(M.商品個数 * M.商品原価)
3-1.AND U.キャンペーン種別 = 'H'
3-2.ORDER BY DESC 売上実績数 (順番待ちが得た...)
4-1.T社からのレポートを日次単位で集計したものに変えてもらう
(まったく自信なし)
2025.04.20 16:23
受かりたいマンさん(No.22) 
キャンペーン種別Hかーー!ISノットヌルにしてしまった涙
2025.04.20 16:29
さわさん(No.23) 
ORDER BY のところcount(*)でも正解でしょうか?
2025.04.20 16:32
こうきさん(No.24) 
2-3は個数をかけておくべきでしたかね?純粋な原価のみ集計で回答しました
2025.04.20 16:33
計算音痴さん(No.25) 
ORDER BY COUNT(*) で通って欲しい、、
2025.04.20 16:38
たそがれさん(No.26) 
実績年月日列を削除して実績開始年月日列と終了年月日列を追加する。


実績開始年月日と実績終了年月日ってなんか日本語変ですよね、、、笑
2025.04.20 16:38
たそがれさん(No.27) 
オーダーバイ、列別名じゃなくてもいいな否か、どこだかの過去問であった気がします、どちらかは忘れましたが
2025.04.20 16:39
たそがれさん(No.28) 
実務的には全然列別名じゃなくてもSQL通りますけどね、、
2025.04.20 16:40
ゆきのさん(No.29) 
ORDER BY COUNT(*) DESCにしました
T社のレポートを集計単位である週の識別子を、実績年月日と置き換える。としました
2025.04.20 16:40
ないさん(No.30) 
郵便番号はエリアによって複数だからPKにする必要があるのでは
2025.04.20 16:43
たそがれさん(No.31) 
確かにPKかも
2025.04.20 16:50
もちさん(No.32) 
商品原価のところ、私も個数を掛けちゃったんですがいらないんですかね……
2025.04.20 16:54
計算音痴さん(No.33) 
a店舗エリア郵便番号
b両矢印(×)
cFROM
dLEFT OUTER JOIN
eSUM(M.商品個数*S.商品原価)
fAND U.キャンペーン番号 = ‘H’
gORDER BY COUNT(*) DESC
2025.04.20 16:54
計算音痴さん(No.34) 
店舗エリアとエリア詳細のテーブル分ける必要ある?
2025.04.20 16:56
さらんさん(No.35) 
郵便番号は主キーですね…
下線忘れました

商品原価は個数とかけないとダメだと思います
最終的に粗利計を出しているので
2025.04.20 17:12
Fakerさん(No.36) 
設問1
 a 郵便番号
 b →
設問2
 c FROM
 d LEFT OUTER JOIN
 e SUM(M.商品個数 * S.商品原価)
設問3
 f AND U.キャンペーン種別 = 'H'
 g ORDER BY 売上実績数 DESC
設問4
 T社に実績を日次で集計したレポートを送付するように依頼する。

これで解答しました。

設問1で店舗エリア詳細のテーブルを分けるのは各会員の郵便番号がどの店舗エリアに含まれるかを特定するためではないでしょうか。

設問4は①付近の「目的の機能を実装することができた」に着目し、目的の機能とは「日次で実績を集計する」機能であると解釈したため、T社から送付されてくるレポートの集計単位を変更してもらう必要がある判断しました。
2025.04.20 17:23
Tfさん(No.37) 
descつけ忘れた...これ部分点もらえるかな...
2025.04.20 17:26
たそがれさん(No.38) 
エリア詳細をわけるのは、エリア範囲が定期的に見直されるからだと思います。
2025.04.20 17:29
たそがれさん(No.39) 
店舗エリアからの↑からして、aは主キー線必須でしたね。。。
2025.04.20 17:30
おまーるえびさん(No.40) 
dがINNER JOINじゃなくてLEFT OUTER JOINなの、有識者教えて
2025.04.20 17:31
nNさん(No.41) 
AND U.キャンペーン種別 = 'H'の箇所
Hをダブルクォートで囲ってしまったのですが、部分点とかないですかね...
2025.04.20 17:34
ないさん(No.42) 
設問1
 a 郵便番号(下線あり)
 b →
設問2
 c FROM
 d LEFT OUTER JOIN
 e SUM(M.商品個数 * S.商品原価)
設問3
 f AND U.キャンペーン種別 = 'H'
 g ORDER BY 売上実績数 DESC
設問4
 実績年月日ではなく集計対象日のFROMとTOの2カラムで管理する

設問4は問題点はわかるものの上手い回答の仕方が思いつかずちょっと微妙
2025.04.20 17:57
くばさん(No.43) 
↓以下で回答しました
設問1
 a 郵便番号
 b →
設問2
 c FROM
 d INNER JOIN
 e SUM(S.商品原価)
設問3
 f U.キャンペーン種別 = 'H'
 g  ORDER BY 売上実績数 DESC
設問4
 実績年月日の項目をキャンペーンの実施期間へ変更。
2025.04.20 18:13
たそがれさん(No.44) 
おまーるえびさん

もしインナージョインだと、コアレスを使う意味が無いので、コアレスを使うということはレフトジョインなのかなぁと。
2025.04.20 18:15
mmdさん(No.45) 
前回よりだいぶ解きやすい回でした!
2025.04.20 18:38
社内PGさんさん(No.46) 
1-1.店舗郵便番号
1-2.→
2-1.FROM
2-2.LEFT JOIN
2-3. SUM(M.商品個数 * S.商品原価)
3-1.AND U.キャンペーン種別 = :キャンペーン番号
3-2.ORDER BY COUNT(*)AS 売上実績数 DESC
4-1.日次集計ではなく、キャンペーンの開始年月日と終了年月日を用いてキャンペーン期間の集計に修正
こんな感じでかきました
2025.04.20 19:26
社内PGさんさん(No.47) 
ほんとにFROMやLEFT JOINとか一般的あるあるな記述ででええんかと思いつつ
キャンペーン種別見落としたな、、
ただボーナス問題ありがとう
2025.04.20 19:32
ryoさん(No.48) 
他の設問より易しかった気がするが、当たっててくれ~

設問1 a:会員居住範囲
    b:→
設問2 c:FROM
    d:LEFT JOIN
    e:SUM(M.商品個数 * S.商品原価)
設問3 f:U.キャンペーン種別 = ’H’
    g:ORDER BY 売上実績数 DESC
設問4 実績年月日を主キーから除外する
2025.04.20 19:42
ケアレスミスつらいさん(No.49) 
設問3のf、ANDつけ忘れたーーーー爆死
2025.04.20 20:51
ひろさん(No.50) 
設問3
ORDER BY 売上実績数 DESC
は引っ掛けな気がする…
ASで名前付けたやつはORDER BYで使えないんじゃなかったっけ?
DBによってはいける?
こわいので
ORDER BY count(*) DESCにしときました
2025.04.20 21:12
ポップマンさん(No.51) 
設問1 a:店舗エリア範囲
    b:→
設問2 c:FROM
    d:LEFT JOIN
    e:SUM(M.商品個数 * S.商品原価)
設問3 f:U.キャンペーン種別 = ’H’
    g:ORDER BY 売上実績数 DESC
設問4 実績年月日を実績年月と週区分に変更する

設問4は実績年月と週区分でのデータにわけることで、週単位で分析が可能になると考え、回答しました
2025.04.20 21:21
GinSanaさん(No.52) 
AP プラチナマイスター
>ASで名前付けたやつはORDER BYで使えないんじゃなかったっけ
SELECTの処理のあとにORDER BYでソートするので別名も使えます。
2025.04.20 21:46
GinSanaさん(No.53) 
AP プラチナマイスター
この投稿は投稿者により削除されました。(2025.04.20 21:54)
2025.04.20 21:54
GinSanaさん(No.54) 
AP プラチナマイスター
表1の釣り情報が釣り広告みたいに空見してしまいたちの悪い広告か!?と一瞬思ってしまいました。すみません。

PDFが出たので少し考えてみました。まちがってたらすみません。

設問1
a
郵便番号(主キー)
表1より、店舗エリアは、その店舗に来客が見込まれる会員の居住範囲を複数の郵便番号で定めた範囲として定義する
とあるので、店舗エリア番号と郵便番号を主キーとするエンティティにしなければならない
b

キャンペーン商品番号は、商品マスタから外部キーを引いてこないといけない
設問2
c
フロム
サブクエリなのでつなぎはそうなる・・・が、今の今までフロムが聞かれたことがあっただろうか?
d
LEFT JOIN
一番下にONがあるので結合が入る
キャンペーン実施直後(キャンペーンができて、キャンペーン実施が入った直後)を想像してみよう。売上が立っていないので、売上のレコードがない。インナージョインの場合、CKが巻き添えをくらってなにもでなくなってしまう。キャンペーン種別ごとの金額は出したいので、引っ掛からないなら引っ掛からないなりの動きをしなくてはならないので、コアレスが入っている。
e
SUM(S.商品原価 アスタ M.商品個数)
原価計なので、原価を持っているテーブルは商品マスタだ。あとは売れた個数を出してやれば原価計になる。
設問3
f
AND U.キャンペーン種別 = 'H'
葉書キャンペーンで購入した、という起因から考えてみよう。
表1より番号は種別がH
で図3の登場テーブルでは売上にキャンペーン種別を持っているので
g
ORDER BY 売上実績数 DESC
売上実績数の降順に出力するとあるので、ほんとは売上実績数が同値の場合郵便番号の順序は不定になってしまう。でも、出題がそうなので、仕方がない。
設問4
日次で実績を集計するのが気に入らないとのことなので、あるべき姿を考える。
P37に、クリック数などの実績を週次で集計したレポートが送付されるとあるので、サマリの単位は週次にしてやらないといけない。実績年月日を実績の週にしてやって、広告費用以下をその単位でサマリしてやる必要がある。というようなことを書いたらいいんじゃないでしょうか。
2025.04.20 21:57
ぷうたろうさん(No.55) 
a:郵便番号(主キー)
 店舗エリアは複数の郵便番号で定義とあるから。
 主キーにしなければ、店舗エリア:店舗エリア詳細の1:多が成立しない
b:→
 キャンペーン商品の主キー構成を見たら、→しかない。
 勿論、同一商品が異なるキャンペーンの商品となる事はありえるでしょう。
c:FROM
 これしか書きようがない
d:LEFT OUTER JOIN
 最下部のONを見ればJOINは明白。また、UKの属性に対してCOALESCEを使用している事から、CKに存在はするがUKに存在しないデータも抽出しないといけない事が分かる為、LEFT JOIN。
e:SUM(M.商品個数 * S.商品原価)
 原価計の計算だから個数*原価の合計を求めてあげればよい。
f:AND キャンペーン種別 = ’H’
 葉書キャンペーンで購入とあるから、キャンペーンの指定が必要。
 ANDの書き忘れは多そう・・・
g:ORDER BY 売上実績数 DESC
 売上実績数の降順に出力とあるので。

設問4
 実績年月日を実績集計週開始日に変更し、週次の実績を集計する。(30字)
 これはいろいろと解答の方法があるかなと思います。週開始日であったり、週数とかにしてもいいのかな?終了日に関わる属性は有っても無くても問題ないと思います。
 ただし、実績年月日を無くす(変更する)ことに触れておく必要はあるかなと
2025.04.21 10:11
やまさん(No.56) 
設問2cはFROMで良さそうかな…。
深く考えてしまう性格で、
当日も何かの引っ掛けなのか…と考え込んでドキドキしました。
スタディングでも解答速報が出てたので、念のため確認し、いったんは安心。
2025.04.21 11:17
ヨータスさん(No.57) 
この投稿は投稿者により削除されました。(2025.04.21 13:21)
2025.04.21 13:21
ヨータスさん(No.58) 
最初の問題の「郵便番号」が主キーなのかそうでないのかどっちだろう?

応用情報の勉強本とか出版してる講師の石田さんって人が解答速報動画出してて主キーだとかにはまったく触れずに郵便番号ですねって言ってそのまま流してたから主キーは無し?
スタディング解答速報も下線引いてなかった
でもここのスレッドだと詳しそうな方の書き込みが主キーつけて答えとしているんですよね(No.42, No54, No55など)

試験中の私は迷って主キーつけて解答用紙に下線を引きましたが石田さんとスタディングを見て間違いだった気もして不安になってきた

郵便番号みたいなものってあのE-R図の流れで主キーになりえるのか?どうなんでしょう?
2025.04.21 13:30
ないさん(No.59) 
複数だという記載に付け加えると、主キーに含めないなら(エリアに対して一意なら)そもそもテーブルを分ける必要がないのではとも思う
2025.04.21 14:05
ぷうたろうさん(No.60) 
ヨータスさんへ
aに関してですが、説明にも書きましたが、
店舗エリア:店舗エリア詳細の1:多
と示されている以上、郵便番号は主キーを構成する属性の一部になり、下線が必要となります。

石田さんの動画見ました。郵便番号について「通常の項目ですね」と言われていますね。但し、動画のインスタンスの例を見てもらえれば、「店舗エリア番号」のみで主キーを構成してしまうと2行目、3行目が主キー重複により挿入できなくなってしまう事がわかるかと思います。
(おそらくですが、動画アップをいち早くするためにスピード重視で話してしまった為言い間違えてしまっただけかなと。インスタンス例のイメージは私と全く同じですから。)

最後に、
くどくて申し訳ないですが、aに入る属性はカーディナリティを見る限り、本文を読まなくても主キーを構成する一部の属性で答えないといけません。
もし、模範解答に主キーの線が引かれていなければ完全なる問題の欠陥となります。
2025.04.21 14:13
たそがれさん(No.61) 
配点
ER図1点*2問=2
SQL3点*5問=15
記述3点
でしょうかね?
2025.04.21 17:27
ヨータスさん(No.62) 
>ないさん、ぷうたろうさん
ありがとうございます。
てことはやっぱり主キーになるはずだから郵便番号に下線要りますね。
考え方まで詳しく教えてくださりありがとうございます。
2025.04.21 19:07
pekatsuさん(No.63) 
この投稿は投稿者により削除されました。(2025.04.24 00:17)
2025.04.24 00:17
GinSanaさん(No.64) 
AP プラチナマイスター
FROMで3点はくれすぎかもしれないので、記述以外は2(たまに3)点で記述4-6点?
2025.04.21 22:39
あìiiiiiìさん(No.65) 
「週次で計算」というフレーズが入ってたら部分点いただけますかね?
2025.04.22 08:53
たそがれさん(No.66) 
>GinSanaさん
確かに、FROMは低そうですね。
記述で6なことってあるんですか。。。ピンチです。。


①実績年月日を削除
②週次で計算

どちらか入ってたら部分点くれて欲しいですね。
2025.04.22 10:27
目潰し焼きさん(No.67) 
「実績期間」だと部分点貰えないかな・・・
2025.04.22 14:59
まぬけさん(No.68) 
郵便番号を店舗エリア郵便番号で書いてしまった場合は不正解になりますかね…

AND キャンペーン種別 = ’H’
のANDを書き忘れたのは部分点くれますかね…
2025.04.22 18:47
キノモノさん(No.69) 
下線忘れてた!
あとANDも忘れたー
2025.04.22 19:15
曖昧さん(No.70) 
実績何月週という回答、どんな値が入るのか想像できないので腑に落ちない
2025.04.22 21:32
pekatsuさん(No.71) 
本当は選びたいデータベース。でも毎回勉強不足で選択あきらめています。とてもこれでは厳しいですね。
2025.04.23 12:44
エイリアスさん(No.72) 
詳しい方教えて頂きたいです!

G ORDER BY 売上実績数   DESCは
  ORDER BY COUNT(*) DESC

と解答したのですが、自己採点上、部分点でしょうか?
2025.04.24 14:15
GinSanaさん(No.73) 
AP プラチナマイスター
どっちでも動作は同じなので、正答扱いでよいと思います。
2025.04.24 15:44
エイリアスさん(No.74) 
>GinSanaさん

過去問等の説明やコメントを拝見し、いつも参考にしております!
解答に関してお答え頂き、大変助かりました!

ありがとうございました!
2025.04.24 16:06
ryoさん(No.75) 
問1のaが解けなかったのが悔しすぎる。
店舗エリアと店舗エリア詳細が1対多の関係になっているのを見落としてたからかなあ。
2025.04.25 09:47
通りすがりものさん(No.76) 
a: 郵便番号(下線忘れ)
b: →
c: FROM
d: LEFT OUTER JOIN
e: SUM(S.商品原価 * M.商品個数)
f: キャンペーン種別 = 'H'(AND忘れ)
g: ORDER BY 売上実績 DESK(スペルミス)
設問4: 実績年月日を実績集計開始日と終了日に変更し週次実績を集計する

久々にペンで字を書いたのもありひどいミスが目立ちました→部分点なしなら10/20くらいと予想
2025.04.28 14:49
返信投稿用フォームスパム防止のためにスレッド作成日から40日経過したスレッドへの投稿はできません。
© 2010- 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop