Instiq

データベーススペシャリスト試験参考書

データベース分野の最高峰の国家資格、データベーススペシャリスト(DB)。本コースは午前(科目A)の四肢択一を対象に、DB固有の午前II専門(データモデル・正規化・SQL/関係代数・トランザクション/同時実行制御・障害回復・性能設計・分散DB/NoSQL)を中心に対策します(午前I共通は応用情報 AP コースが土台/午後の記述式は対象外)。

データベーススペシャリスト試験(DB)について

データベーススペシャリスト試験(DB)は、IPA(情報処理技術者試験) が提供するプロフェッショナル・エキスパートレベルの認定資格です。このページでは、試験範囲を全 6 章・25 節の参考書として体系的に解説し、本番形式の練習問題で理解度を確認できます。下の章一覧から順に読み進め、「問題集で演習する」で実力を試すのが効率的な学習の流れです。

試験で問われる分野(出題範囲の目安)

  • データベース方式とデータモデル約 14%
  • データベース設計と正規化約 20%
  • データ操作とSQL約 18%
  • トランザクションと同時実行制御・障害回復約 20%
  • 性能設計とチューニング約 12%
  • データベース応用約 16%

配点は本番試験の目安です。各分野は下の章・節で詳しく解説しています。

公式の試験情報:https://www.ipa.go.jp/shiken/kubun/db.html

1データベース方式とデータモデル

  • 1.1DBMSの役割とアーキテクチャ

    データベース管理システム(DBMS)が担うデータ定義・データ操作・同時実行制御・障害回復・データ独立性という5つの役割を統合的に理解し、障害発生時に「DBMSは何を保証し、何を保証しないのか」を判断する力を学びます。

  • 1.23層スキーマとデータ独立性

    外部スキーマ・概念スキーマ・内部スキーマからなる3層スキーマの構造と、それぞれの層の変更が他層に波及しない論理的データ独立性・物理的データ独立性を理解し、「このスキーマ変更はどの層に影響が及ぶか」を判断する力を学びます。

  • 1.3関係モデルの基礎

    関係(リレーション)・タプル・属性・定義域(ドメイン)・次数・濃度という関係モデルの基本概念と表との対応関係、候補キー・主キー・外部キーの違いを理解し、テーブル設計でキーをどう選ぶべきかを判断する力を学びます。

  • 1.4データモデルの多様性とNoSQL

    階層型・網型・関係モデル・オブジェクト指向モデルという伝統的なデータモデルと、KVS・ドキュメント指向・カラム指向・グラフDBというNoSQLの各方式の特徴を理解し、要件に応じて最適なデータモデルを選択判断する力を学びます。

2データベース設計と正規化

  • 2.1概念設計とE-R図

    業務の対象を実体(エンティティ)・関連(リレーションシップ)・属性として捉えるE-R図の基礎、関連の多重度を表すカーディナリティ、そして関係データベースでは直接表現できない多対多の関連の解消を、E-R図から関係スキーマを導く実務判断として学びます。

  • 2.2関数従属と正規化の理論

    属性間の依存関係を表す関数従属、複合キーの一部だけに依存する部分関数従属、非キー属性を経由して間接的に依存する推移的関数従属、そしてこれらを段階的に排除することで更新時異常を防ぐ第1正規形・第2正規形・第3正規形を、実務の更新時異常の除去という設計判断として学びます。

  • 2.3ボイスコッド正規形と高次正規化

    第3正規形でも残る異常を排除するボイスコッド正規形(BCNF)(全ての関数従属の決定子が候補キー)、多値従属を排除する第4正規形、結合従属を排除する第5正規形、そして高次正規化と分解の可逆性(無損失分解)のトレードオフを、実務の分解判断として学びます。

  • 2.4データ制約と整合性

    実体を一意に識別する主キーと候補キー、他表の主キーを参照する外部キーと参照制約、任意の条件式で値を制限する検査制約(CHECK)を、整合性維持の設計判断として学びます。

  • 2.5論理設計から物理設計へ

    正規化された論理設計を実際の格納方式に落とし込む物理設計、性能目的で意図的に冗長性を持たせる非正規化、そして正規化と非正規化のトレードオフ、結合コストと冗長のバランスをどう取るかという設計判断を学びます。

3データ操作とSQL

  • 3.1関係代数と関係論理

    選択σ・射影π・結合⋈(自然結合/等結合/外部結合)・和∪・差−・直積×・商÷という関係代数の基本演算と、SQLのクエリがこれらの組み合わせとしてどう解釈されるかを、実務のクエリ設計判断とともに学びます。

  • 3.2SQLの基礎とDDL

    DDL(CREATE/ALTER/DROP)によるスキーマ定義、制約(主キー・外部キー・CHECK・NOT NULL・一意制約)の設計判断、DCL(GRANT/REVOKE)による権限管理、COMMIT/ROLLBACKによるトランザクション確定を、実務のスキーマ変更・権限設計の視点とともに学びます。

  • 3.3結合と副問合せ

    内部結合/外部結合/自己結合の使い分け、相関副問合せと非相関副問合せの性能・意味の違い、集合演算(UNION/INTERSECT/EXCEPT)、そしてNULLと3値論理が条件式や結合結果に与える影響を、実務クエリの正確性判断とともに学びます。

  • 3.4集約・グループ化・ウィンドウ関数

    GROUP BYによるグループ化とHAVINGによるグループ条件の使い分け、集約関数(COUNT/SUM/AVG等)とNULLの扱い、そして行を集約せずに順位や累積を求めるウィンドウ関数(分析関数)を、正しい集計設計の判断とともに学びます。

  • 3.5ビューと埋め込みSQL

    更新可能ビューの条件とWITH CHECK OPTIONによる制約の維持、アプリケーションからSQLを実行するカーソル・動的SQLの仕組み、そしてDBMS側で処理を完結させるストアドプロシージャ・トリガを、実務のアプリ設計判断とともに学びます。

4トランザクションと同時実行制御

  • 4.1トランザクションとACID特性

    トランザクションを構成する原子性(Atomicity)・一貫性(Consistency)・隔離性(Isolation)・耐久性(Durability)のACID特性と、BEGIN/COMMIT/ROLLBACKによるトランザクション境界の設計を学び、業務処理の整合性を守るための判断力を養います。

  • 4.2同時実行制御とロック

    共有ロック(Sロック)と専有ロック(Xロック)によるロック粒度の選択、そして直列化可能性を保証する2相ロックプロトコル(2PL)の伸長相と縮退相を学び、スループットと整合性のトレードオフから最適な同時実行制御方式を選ぶ判断力を養います。

  • 4.3デッドロックと隔離性水準

    デッドロックの待ちグラフによる検出と回避策、そしてREAD UNCOMMITTED・READ COMMITTED・REPEATABLE READ・SERIALIZABLEの4つの隔離性水準とダーティリード・反復不能読取り・ファントムリードの3つの読取り異常の対応関係、加えてMVCCを学び、整合性とスループットのバランスから最適な分離レベルを選ぶ判断力を養います。

  • 4.4障害回復とログ

    更新をデータ本体より先にログへ記録するWAL(ログ先書き)の原則、回復開始点を短縮するチェックポイント、そして障害後のUNDO/REDOによるロールバック/ロールフォワード、トランザクション障害/媒体障害/システム障害という障害種別ごとの回復方式を学び、耐久性を守るための判断力を養います。

  • 4.5分散トランザクションと2相コミット

    複数のデータベースサイトにまたがるトランザクションの原子性を保証する2相コミット(2PC)の準備(コミット要求)フェーズとコミットフェーズ、その弱点を補う3相コミット(3PC)、そして2PCのブロッキング問題を学び、分散環境で一貫性をどう確保すべきかを判断する力を養います。

5性能設計とチューニング

  • 5.1インデックス設計

    検索を高速化するB木インデックス、等価検索に強いハッシュインデックス、低選択性の列に向くビットマップインデックスの使い分け、複数列を対象とする複合インデックスの列順と選択性の関係、そしてインデックスが更新性能に与えるトレードオフを学びます。

  • 5.2実行計画とオプティマイザ

    DBMSが問合せの実行方法を自動で選ぶコストベース最適化の仕組み、その判断材料となる統計情報、複数テーブルの結合方式(ネステッドループ結合・ソートマージ結合・ハッシュ結合)の使い分け、そして全表走査とインデックススキャンのどちらが有利かを見極める判断を学びます。

  • 5.3チューニングとキャパシティ設計

    性能目的で意図的に冗長化する非正規化、大規模テーブルを分割するパーティショニング、SQL文自体を見直すSQLチューニング、そして性能劣化の真因を切り分けるボトルネック診断とスロークエリの原因特定を学びます。

6データベース応用

  • 6.1分散データベースとレプリケーション

    複数のサイトにデータを分割配置する水平分割・垂直分割、同じデータを複製するレプリケーション(同期レプリケーション・非同期レプリケーション)、分散透過性を実現する6つの透過性、スケールアウトのためのシャーディング、そして分散システムの限界を示すCAP定理・BASE・結果整合性を学びます。

  • 6.2データウェアハウスと分析基盤

    分析用途に最適化されたスキーマであるスタースキーマ・スノーフレークスキーマ(ファクトテーブル・ディメンションテーブル)、データを分析基盤へ統合するETL・ELT、多次元分析を行うOLAP(ドリルダウン・ロールアップ・スライス&ダイス)、パターン発見のデータマイニング、そして大量データを扱うビッグデータ・データレイクを学びます。

  • 6.3データベースの信頼性とセキュリティ

    障害からデータを守るバックアップ(フル/差分/増分)とリカバリ、ディスク故障に備えるRAID、可用性を高めるホットスタンバイ、権限を制御するアクセス制御(GRANT/REVOKE)、機密性を守る暗号化(TDE)、追跡可能性を確保する監査ログ、そしてアプリケーション層の代表的脅威であるSQLインジェクションへの対策を学びます。