令和7年秋期試験『午後Ⅰ問3』

管理人  
(No.1)
令和7年秋期試験 午後Ⅰ問3についての投稿を受け付けるスレッドです。
2025.10.12 00:02
po8oさん 
(No.2)
改修は多分トリガー
2025.10.12 16:59
Pekoさん 
(No.3)
設問2(2)は楽観ロック?
2025.10.12 17:47
po8oさん 
(No.4)
for updateにしました
2025.10.12 19:06
ryuさん 
(No.5)
お疲れさまでした。
ご参考までに、自分の復元回答です。

■午後1 問3
--------------------------------------------------

●設問1
(1) a:SUM(出庫数量)
    b:SUM(入庫数量)
    c:当日出庫数量
    d:当日入庫数量
    e:AVG(在庫数量)
    f:倉庫コード, 部品番号
    g:履歴年月日
    h:3
    i:3
(2) 7日間のデータがそろわない期間は対象外とするから。

●設問2
(1) j:①
    k:②
    l:最終更新TSを取得
    m:最終更新TSが①で取得した最終更新TSと等しい
    n:①
    o:出庫可能数量を超える数量を指定
    p:FOR UPDATE句を指定

●設問3
(1) q:出庫
    r:出庫倉庫コード
    s:部品番号
    t:専有ロック
    u:専有ロックの解放待ち
    v:処理状況
(2) 処理状況は全てのAPで更新されるから。
2025.10.12 19:32
Pekoさん 
(No.6)
回答同じです!

1(1)の(c)(d)でエイリアスのB./C.を付けたことと(カラム名だけで一意に特定できるからなくてもよさそう)、記述の表現が違うだけなのでほんとに中身一緒です!
2025.10.12 22:25
po8oさん 
(No.7)
以下です、SUMいりそうですね・・・

●設問1
(1) a:出庫数量
    b:入庫数量
    c:B.当日出庫数量
    d:C.当日入庫数量
    e:履歴年月日
    f:倉庫コード, 部品番号
    g:履歴年月日
    h:3
    i:3
(2) COUNTで集計させないため

●設問2
(1) j:①
    k:②
    l:最終更新TSを更新するトリガーを定義
    m:最終更新TSがCURRENT TIMESTAMPであること
    n:①
    o:出庫可能数量を超える
    p:FOR UPDATE句を追加

●設問3
(1) q:出庫
    r:出庫倉庫コード
    s:部品番号
    t:専有ロック
    u:ロック解放待ち
    v:処理状況
(2) 出庫要求、在庫引当、出庫、在庫反映全てで索引が更新される
2025.10.12 22:32
DCLさん 
DB ブロンズマイスター
(No.8)
平成29年午後1問2の焼き増しですね。全体的に簡単ですが、①SELECTの後に追加されるCOMMIT文は、共有ロックを解放する為。ここだけはトランザクション分離レベルをしっかり把握してないと、ミスりそうです。
2025.10.15 08:10
マルさん 
(No.9)
TS更新トリガについて明記がないですが
すでにある前提で回答が正しいようですね
トリガを仕掛けるという回答は明記ない以上間違いとも言えないような
2025.10.17 14:36
po8oさん 
(No.10)
「①のSELECT文で」と言うのと「その案ではAPに大幅な変更が必要」みたいな文言から、SQLによる最終TSの更新は行わずトリガーを使用するのかと思ってしまいましたね・・・ただトリガーだと①の後にcommitを入れる理由があまり立たないのですが。

ただトリガーが回答に一切出てこないのであればRDBMSの仕様でトリガーとCURRENT_TIMESTAMPの話が書かれているのがあまりにも不自然ではありますね。
2025.10.17 17:43

返信投稿用フォーム

※SQL文は全角文字で記載してください。
※宣伝や迷惑行為を防止するため、当サイト、姉妹サイト、IPAサイト以外のURLを含む記事の投稿はできません。

投稿記事削除用フォーム

投稿番号:
パスワード:

その他のスレッド


Pagetop