メインコンテンツへスキップ
見出し画像

【2026年最新】データベーススペシャリスト 科目B-1 合格対策|分離レベル4段階の影響

    資格を楽に取る

    データベーススペシャリスト試験の科目B-1(旧午後Ⅰ)で、トランザクションの分離レベルは頻出テーマです。

    そして、多くの受験者が覚えているのはここまでです。

    • READ UNCOMMITTED:ダーティリードが起きる

    • READ COMMITTED:ダーティリードを防ぐ

    • REPEATABLE READ:ノンリピータブルリードも防ぐ

    • SERIALIZABLE:ファントムリードも防ぐ

    この表は、科目A-2(多肢選択式)では十分です。

    しかし科目B-1では足りません。

    記述で問われるのは、「この業務に、どの分離レベルが適切か。その根拠は何か」です。

    そして根拠を書くには、分離レベルを上げたときに何が犠牲になるかを言えなければなりません。

    • ロックの保持時間が長くなる

    • 同時実行性が下がり、待ちが増える

    • デッドロックの発生確率が上がる

    • スループットが低下する

    「SERIALIZABLEにすれば安全」——これで終わる答案は点が伸びません。

    そして令和8年度から、この科目の名称と方式が変わりました。

    • 午後Ⅰ → 科目B-1(90分)。「午後Ⅱ」という語も公式には消えました

    • CBT方式(キーボードとマウスで解答)

    • 科目A群と科目B群は別日実施

    この記事は、科目B-1をトレードオフを書く記述として攻略します。

    この記事の対象者と、得られるもの


    対象は、データベーススペシャリスト試験(DB)を受ける人で、次のいずれかに当てはまる人です。

    • 令和8年度後期(申込 2027年1月27日から2月27日)を受ける

    • 分離レベルの表は覚えたが、記述で書けない

    • 業務要件から設計を導く設問で止まる

    • CBTでE-R図に書き込めないことに不安がある

    読み終えたあとにできること。

    • 分離レベルの選択を、業務要件とトレードオフから書ける

    • 同時実行制御の記述を、5つの観点で組める

    • 記述の設問の型と文末を合わせられる

    • 90分の時間配分を設計できる

    不要な人:すでに科目B-1を安定して超えている人。

    2026年8月23日に確認した公式の前提


    独立行政法人 情報処理推進機構(IPA)の公表内容(令和8年度の申込受付期間及び試験実施期間の案内、公開日2026年7月6日/最終更新2026年7月30日、および試験要綱 Ver.5.6)で確認しました。

    令和8年度の日程


    データベーススペシャリストは後期試験です。

    後期試験(プロジェクトマネージャ(PM)、データベーススペシャリスト(DB)、エンベデッドシステムスペシャリスト(ES)、システム監査技術者(AU))
    - 申込:2027年1月27日(水)から2月27日(土)
    科目A-1・科目A-2:2027年2月20日(土)から3月2日(火)
    科目B-1・科目B-2:2027年3月16日(火)から3月28日(日)

    前期試験(ST・SA・NW・SM):申込 2026年10月6日から10月24日/科目A-1・A-2 2026年10月17日から10月27日/科目B-1・B-2 2026年11月11日から11月23日

    データベーススペシャリストは後期のみです。

    参考:応用情報技術者試験(AP)後期:申込 2027年1月27日から2月16日/科目A 2027年2月6日から2月19日/科目B 3月3日から3月15日

    後期は、応用情報が2月16日まで、高度試験・支援士が2月27日までです。締切が違います。

    科目の名称と時間(試験要綱 Ver.5.6)


    • 科目A-1(旧午前Ⅰ):50分・30問/科目A-2(旧午前Ⅱ):40分・25問

    • 科目B-1(旧午後Ⅰ):90分/科目B-2(旧午後Ⅱ):120分

    • 出題形式(多肢選択式・記述式・論述式)、出題数、試験時間に変更はありません

    実施方式


    • 前期・後期とも CBT方式。画面に表示される問題を読み、キーボードとマウスを用いて解答する

    • 身体の不自由等でCBT方式で受験できない人にはペーパー方式(特別措置試験)。同時申込みはできません

    • 科目A群と科目B群は別日実施

    • 科目B-1終了後、科目B-2開始まで最長10分の休憩

    成績と発表


    • 科目A-1・A-2の得点は、試験終了後に試験端末に表示される

    • 科目B-1・B-2の得点・評価ランクは、試験端末には表示されない

    • マイページでの成績照会開始:後期は2027年5月頃の予定/合格発表:2027年6月頃の予定

    • 受験手数料 7,500円(消費税込み)/インターネット申込み

    基準点と多段階選抜


    • 60点の基準点は科目A-1・A-2・B-1

    • 論述式(ST・SA・PM・ES・SM・AUの科目B-2)には配点割合がない

    • NW・DBの科目B-2は100点満点60点で、論述区分とは異なります

    多段階選抜
    - 科目A-1・A-2が基準点未満なら、科目B-1・B-2を採点せず不合格
    科目B-1が基準点未満なら、科目B-2を採点せず不合格

    免除


    • 免除は科目A-1のみ(応用情報合格/いずれかの高度試験・支援士試験に合格/いずれかの高度試験・支援士試験の科目A-1で基準点以上、のいずれかでその後2年間)

    • 科目A-2(旧午前Ⅱ)の免除制度は存在しません

    CBTでの字数カウント方法・下書き機能の有無は、公表されていません。

    IPAのトップページには「試験の見直しについて 2027年度から新試験制度に移行予定」と掲示されています。

    無料部で1つだけ渡します:同時実行制御を5つの観点で書く


    分離レベルやロックの記述問題に出会ったら、次の5つを順に確認してください。

    観点1:この処理は「読んだ値に基づいて更新するか」


    これが最初の分岐です。

    単に読むだけ(参照系)
    - 帳票出力、集計、画面表示
    低い分離レベルでよい場合がある
    ただし「集計の途中で値が変わると合計が合わない」場合は、一貫性のある読み取りが必要

    読んだ値に基づいて更新する(更新系)
    - 在庫の引き当て:在庫数を読んで、足りれば減らす
    採番:最大値を読んで、+1して登録する
    残高の更新:残高を読んで、加減算する

    この「読んで、判断して、更新する」パターンが最も危険です。

    理由:読んだ後、更新する前に、他のトランザクションが同じ値を更新してしまう(ロストアップデート)。

    例:在庫が1個。AとBが同時に「在庫1個あり」と読み、両方が「引き当て可」と判断して両方が減算する。在庫がマイナスになる。

    対策
    - 読み取り時に専有ロックを取る(`SELECT … FOR UPDATE` 相当)
    分離レベルをSERIALIZABLEにする
    楽観的ロック(更新時にバージョン番号や更新日時を条件に含め、変わっていたら再試行する)

    記述では、この3つのどれを選ぶかと、その理由を書きます。

    観点2:ロックの範囲と保持時間


    「どの範囲を、どれだけの時間ロックするか」が、同時実行性を決めます。

    範囲(粒度)
    - 行ロック:同時実行性が高い。管理コストが高い
    ページロック:中間
    表ロック:同時実行性が低い。管理コストが低い

    保持時間
    - トランザクションを短くすれば、ロックの保持時間が短くなる
    トランザクションの中で、ユーザの入力を待たない(画面を開いたままロックを保持しない)
    不要な処理をトランザクションの外に出す

    記述で最も評価される指摘の1つ:

    「トランザクションの開始から終了までの間にユーザの確認操作を挟んでいるため、ロックが長時間保持され、他の処理が待たされる」

    対策:確認操作の前でいったんトランザクションを終え、確定時に改めてトランザクションを開始する。その際、楽観的ロックで、確認中に他者が更新していないかを検査する。

    観点3:デッドロックの可能性


    複数の資源を、異なる順序でロックすると、デッドロックが起きます。

    例:処理Aは「口座1 → 口座2」の順にロックし、処理Bは「口座2 → 口座1」の順にロックする。互いに相手の解放を待つ。

    対策
    - アクセス順序を統一する(最も基本的で、記述での定番の回答)
    トランザクションを短くする
    タイムアウトを設定する
    デッドロックを検出して、一方をロールバックし再試行する

    「アクセス順序を統一する」——これを書けるかで差がつきます。

    そして、順序を統一できない場合(業務上、順序が決まらない場合)は、検出と再試行で対応します。再試行の回数上限と、それを超えた場合の扱いも書いてください。

    観点4:分離レベルを上げたときの代償


    無料部の冒頭で挙げた4つです。

    • ロックの保持時間が長くなる

    • 同時実行性が下がり、待ちが増える

    • デッドロックの発生確率が上がる

    • スループットが低下する

    記述では「安全になるが、〜という代償がある」と書きます。

    そして、代償を避ける代替案を併記できると、さらに評価されます。

    「全体をSERIALIZABLEにするのではなく、在庫引き当ての処理だけ明示的に行ロックを取得する」——必要な範囲だけ厳しくする。これが実務的な解です。

    観点5:業務要件から、許容できる不整合を決める


    すべての不整合を防ぐ必要はありません。

    業務が許容できるかどうかで決めます。

    例1:在庫の引き当て
    - 在庫がマイナスになるのは許容できない(出荷できない注文を受けてしまう)
    厳密な制御が必要

    例2:ダッシュボードの集計値
    - 表示した瞬間の値が数秒古くても、業務上は問題ない
    低い分離レベルで十分

    例3:月次の締め処理
    - 締め対象期間のデータが処理中に増えると、結果が変わる
    一貫性のある読み取りが必要(または処理中は更新を止める)

    記述では、この判断を書きます。

    型:「〜は業務上〜が許容されないため、〜とする。一方、〜は〜が許容されるため、〜とする。」

    「業務要件から設計を導く」——これがDBの科目B-1で求められる思考です。

    5観点を、記述にどう落とすか


    設問が「現行の処理の問題点を述べよ」であれば、5観点のどれかが答えです。

    問題文を読むときに、次を探してください。

    • 読んだ値に基づいて更新している箇所はどこか(観点1)

    • トランザクションの範囲はどこからどこまでか。ユーザ操作を挟んでいないか(観点2)

    • 複数の表・行を、異なる順序でロックする処理はないか(観点3)

    • 分離レベルは何に設定されているか。その根拠は書かれているか(観点4)

    • 業務上、どこまでの不整合が許容されるか(観点5)

    そして「書かれていない観点」が、たいてい問題点です。

    この5観点を持っていれば、同時実行制御の記述で「何を書けばいいか分からない」状態にはなりません。

    科目B-1の解き方、業務記述からモデルを起こす手順、正規化とSQLの記述、性能の記述、CBTへの備え、後期までの計画は、この先にあります。

    ここから先(有料部)に入っているもの


    無料部はここまでです。この先は、令和8年度後期に向けた設計に絞りました。

    • 科目B-1の解き方(問題選択、読解、90分の配分)

    • 業務記述からモデルを起こす手順(6つの言い回しから読み取る)

    • 関係スキーマの記述で落とさない4点

    • 正規化の記述(判定手順と、非正規化の理由の書き方)

    • SQLの記述で問われる点(結合、集約、副問合せ、ウィンドウ関数)

    • 性能の記述(索引が効かない理由、実行計画、容量見積り)

    • 障害回復の記述(どの障害で何をするか)

    • 設問の型と文末(DB固有の注意)

    • CBTへの備え(E-R図に書き込めない環境への対処)

    • 科目A-2と科目B-2との関係

    • 令和8年度後期の逆算計画

    読み終えたあとにできること:科目B-1を関門として越え、科目B-2を採点させる段階まで進むこと。有料部の終わりには、分離レベル4段階の影響を2つのトランザクションで実行して確かめた演習12問と、記述3問の完成答案・自己採点表を追補しています。

    あわせて読む


    全体像がつかめたら、次は本番で手が動く状態にする番です。同じ区分で、設問を見た瞬間に答案の形を選ぶための道具が以下です。

    • データベーススペシャリスト 科目B-1 正規化と関数従属性 記述の型12選 90分の解き順

    •  


    向く人:分離レベルの表は覚えたが記述で書けない人、業務から設計を導けない人。
    向かない人:すでに科目B-1を安定して超えている人。

    あなたへのおすすめ