データベースの要点とまちがえやすい点(ITパスポート試験 論点テキスト)
ITパスポート試験のテクノロジ系(技術要素)のうち、「データベース」にあたる11論点を、要点57本・まちがえやすい点47本・式1本にまとめました。
最終更新:2026年10月6日
このページの論点
データベース方式
DBMSとNoSQL・分散・インメモリ
データベース管理システムの役割、表形式にとらわれない NoSQL、分散配置、主記憶上で処理するデータベースを扱う。
要点
- DBMS(データベース管理システム)は、データの格納・検索・更新や複数の利用者からの同時アクセス制御、障害発生時の回復処理などを一括して行うソフトウェアである。
- NoSQL は、リレーショナルデータベースのような表形式にとらわれず、大量のデータを柔軟な構造で高速に処理することを目的としたデータベースの総称である。
- キーバリュー型データベースは、キーと呼ばれる識別子とそれに対応する値の組だけでデータを管理する、NoSQL に分類されるシンプルな構造のデータベースである。
- 分散データベースは、1つの大規模なデータベースを複数の拠点やサーバに分散して配置し、利用者からは1つのデータベースのように利用できる仕組みである。
- インメモリデータベースは、データを主記憶上に置いて処理することでディスクアクセスを減らし、読み書きを高速化する方式である。
- NoSQLは、表形式に限らず、キーと値の組、文書、グラフなど多様なデータ構造を扱えるデータベースの総称。
まちがえやすい点
- カラム指向データベースは列単位でデータをまとめて格納する方式であり、キーと値の組だけで管理するキーバリュー型とは構造が異なる。
- 集中データベースは1か所に集約して管理する従来型の方式であり、複数の拠点やサーバに分散配置する分散データベースではない。
- RDBMS は表形式のリレーショナルデータベースを管理する DBMS であり、表形式にとらわれない NoSQL とは別である。
- 階層型・ネットワーク型はデータ構造の古典的なモデルであり、主記憶上で高速処理を行うインメモリデータベースとは異なる。
データベース設計
ビッグデータとデータ分析基盤
ビッグデータの特徴、データウェアハウス・データレイク、OLAP、データマイニング、クレンジングを扱う。
要点
- ビッグデータは、量(Volume)が多く、種類(Variety)が多様で、生成・更新速度(Velocity)が速いという特徴を持つデータ群の総称で、3Vと呼ばれる。
- ビッグデータの特徴には、3Vに Veracity(正確性)や Value(価値)を加えた4Vや5Vという考え方もある。
- データウェアハウスは、企業内の様々な業務システムから集めた大量の履歴データを、分析や意思決定に活用する目的で時系列に整理して蓄積する大規模なデータの倉庫である。
- OLAP(オンライン分析処理)は、蓄積された大量のデータを時間・地域・商品など様々な切り口から多次元的に集計・分析する処理である。
- データマイニングは、大量のデータに統計学的な手法や機械学習などを適用し、人が気づいていなかった規則性や相関関係などの有用な知見を発見する手法である。
- データクレンジングは、データの表記ゆれ・重複・欠損・誤りを整えて、分析に使える品質に高める作業である。
- オープンデータは、国や地方公共団体、企業などが保有するデータのうち、二次利用が可能な条件で機械判読に適した形式により公開されているデータである。
- データレイクは、構造化・非構造化を問わず、加工しない生データのまま大量に蓄える保管場所である。
- データの結合は、複数の表やデータ集合を、共通する項目をキーにしてつなぎ合わせ、1つにまとめる処理。
まちがえやすい点
- データマートはデータウェアハウスから特定の部門や目的向けにデータを切り出した小規模な集合であり、全体を蓄積するデータウェアハウスとは別である。
- データウェアハウスは分析目的で整理・統合したデータの倉庫であり、未加工のデータをそのまま溜めるデータレイクとは異なる。
- OLTP は日々の取引データを即座に処理するオンライントランザクション処理であり、多次元的な集計・分析を行う OLAP ではない。
- データクレンジングはデータの品質を整える作業であり、新たな知見を発見するデータマイニングとは目的が異なる。
- メタデータはデータそのものではなくデータに関する付随的な情報を指し、多種多様で膨大なデータであるビッグデータとは概念が異なる。
ER図の読み方と目的
実体・属性・関連でデータの構造を表す ER 図の要素と、1対多の関係の読み方を扱う。
要点
- E-R図は、管理対象を実体(エンティティ)、実体がもつ性質を属性、実体間の対応関係を関連(リレーションシップ)として表し、データの構造をモデル化する図である。
- ER図は、データベースに登場する実体同士がどのように関連しているかを図式化する手法で、データベース設計の初期段階で用いられる。
- E-R図で顧客側に1、注文側に多と記されていれば1対多の関係であり、1人の顧客が複数の注文をもちうる一方、1件の注文は1人の顧客に対応する。
- 1対多の関係は、多の側の表に相手を識別する列を外部キーとして持たせることで表現される。
まちがえやすい点
- DFD はデータの流れ、状態遷移図は状態とその変化、アクティビティ図は処理の流れを表す図であり、データ構造をモデル化する E-R図とは異なる。
- 処理手順を表すのは流れ図、機器の配置を表すのはネットワーク構成図、日程を計算するのはアローダイアグラムであり、いずれも E-R図とは対象が異なる。
- 1対多の関係では1件の注文に複数の顧客が対応することはなく、注文側から見た顧客は1人に定まる点で、逆向きの関係とは異なる。
主キー・外部キー・複合キー・候補キー
行を一意に識別する主キー、表を関連付ける外部キー、複合キーと候補キーの役割を扱う。
要点
- リレーショナルデータベースでは、表の1行分のまとまったデータをレコード、列(1項目分)をフィールドと呼ぶ。
- 主キーは行を一意に識別するため、値の重複が許されず、値が存在しない空値(NULL)も許されない。
- 外部キーは、ある表の項目に別の表の主キーの値を持たせることで表同士を関連付ける仕組みで、参照整合性を保つ役割を持つ。
- 複合キー(連結キー)は、単独の列では行を一意に識別できず、複数の列を組み合わせて初めて一意に識別できる主キーである。
- 候補キーは、行を一意に識別でき、主キーとして選ぶことができる候補となるキーである。
- コード設計は、データを識別・分類・整理しやすくするために、符号の付け方や桁の構成、体系を決めること。
まちがえやすい点
- 主キーは自表内で行を一意に識別するための項目であり、他の表を参照して関連付ける外部キーとは向きと役割が異なる。
- 代替キーは主キーに選ばれなかった候補キーであり、複数列の組合せで一意に識別する複合キーではない。
- インデックスは検索を速くするための索引であり、行を識別したり表を関連付けたりする主キー・外部キーとは役割が異なる。
- 副キーは検索用の補助的なキーであり、主キーとして選ぶ候補となる候補キーとは別である。
- 主キーの値は表の中で重複してはならず空にもできないため、同じ値が何度現れてもよいわけではない。
表の制約とNULL
参照整合性制約、一意性制約、NULL の意味など、表に設定する制約を扱う。
要点
- 参照整合性制約は外部キーに設定される制約で、外部キーの値が参照先の表の主キーに実際に存在する値でなければならないとするものである。
- 一意性制約(UNIQUE制約)は、その列に同じ値が重複して登録されるのを防ぎ、値を一意に保つ制約である。
- NULL は、データベースの項目にまだ値が入力されていない、または値が存在しないことを表す特別な状態である。
- 主キー制約は、一意性制約と NOT NULL 制約をあわせ持つ制約である。
まちがえやすい点
- NULL は数値の0や長さ0の空文字列とは異なる概念であり、値が存在しないことを表す。
- 非NULL制約は空値を禁止する制約であり、列の値の重複を禁止する一意性制約とは別である。
- 検査制約は値が指定条件を満たすことを保つ制約であり、外部キーが参照先に存在する値であることを保つ参照整合性制約とは異なる。
正規化の目的と手順
データの重複と更新時の不整合を防ぐための正規化の目的と、表を分割する手順を扱う。
要点
- 正規化は、データの重複や更新時の不整合(更新異常)を防ぐために、共通の主キーに従属する項目ごとに表を分割していくデータベース設計の作業である。
- 正規化の目的は、同じ情報を複数の場所に重複して持たない形に整理し、更新もれによる矛盾を防ぐことにある。
- 正規化ではまず、1つのセルに複数の値が入る繰り返し項目をなくし、1つのセルに1つの値だけが入る形に整理する。
- 商品名や単価のように商品に固有の情報は商品表として切り出し、他の表には商品コードで参照させると、単価の改定は商品表の1行を直すだけで済む。
まちがえやすい点
- 正規化では表を分けるため表の数はむしろ増え、記憶容量の削減や検索条件の固定は正規化の目的とは異なる。
- 仮想化やカプセル化は別分野の概念であり、表構造の整理を目的とする正規化とは異なる。
- インデックスは検索を速くする一方、データを更新するたびにインデックス側も書き換える必要があるため、増やしすぎると更新処理は遅くなる。
- 区切り文字の変更や索引の設定は見た目や検索速度の話であり、列の削除は必要な情報を失うため、いずれも正規化の対応とは異なる。
データ操作
選択・射影・結合と表の読み取り
関係データベースの選択・射影・結合の違いと、複数の表をたどって情報を読み取る手順を扱う。
要点
- 選択は、関係データベースの表から条件に合致する行(レコード)だけを取り出す操作である。
- 射影は、表から必要な列(項目)だけを取り出す操作である。
- 結合は、共通する項目の値が一致する行どうしをつなぎ、複数の表を1つの表のように扱えるようにする操作である。
- 挿入は、関係データベースの表に新しい行を書き加える操作である。
まちがえやすい点
- 列を絞っても行数は変わらず、この点で行を条件で絞り込む選択ではない。
- 選択は条件に合う行だけ、射影は必要な列だけを取り出す操作であり、複数の表を関連付ける結合とは別である。
- 和は同じ構造をもつ2つの表の行を合わせて1つにする操作であり、共通項目で表どうしを関連付ける結合とは異なる。
- 整列は指定した項目の順に並べ替える操作であり、複数の表をまたいで情報を組み合わせる結合ではない。
- 部門名と社員の対応は、表を一つずつ見るだけでは分からず、共通の列でたどる結合とは異なる見方では得られない。
式
- 受注金額の合計各行の(単価×数量)の合計各行で計算してから合計する
CRUD・ビュー・インデックス・ストアドプロシージャ
データ操作の基本4機能と、ビュー、インデックス、ストアドプロシージャの働きを扱う。
要点
- CRUD は、Create(生成)・Read(読み取り)・Update(更新)・Delete(削除)の頭文字をとった、データ操作の基本4機能の総称である。
- ビュー(仮想表)は実際のデータを保持せず SELECT 文の定義だけを保存し、参照するたびに定義に従ってデータを取得して1つの表のように扱える仕組みである。
- インデックス(索引)は、表の特定の列に設定することで全行を順に走査する必要をなくし、検索処理を高速化する仕組みである。
- ストアドプロシージャは、一連のSQL処理をサーバ側に登録し、名前で呼び出して実行できるようにしたものである。
まちがえやすい点
- ビューはSELECT文の定義を保存し仮想的な表として扱う仕組みであり、検索を高速化するインデックスとは目的が異なる。
- トリガーは特定の操作をきっかけに自動的に実行される処理であり、検索の高速化を目的とするインデックスとは別である。
- ACID はトランザクションが満たすべき性質、SQL はデータベース操作用の言語であり、データ操作の基本4機能を指す CRUD とは異なる。
- スキーマはデータベースの構造定義であり、保存された処理手続きであるストアドプロシージャではない。
トランザクション処理
トランザクションとACID特性・コミット
ひとまとまりの処理単位であるトランザクション、ACID の4性質、コミットとロールバックを扱う。
要点
- トランザクションは、複数の更新処理をすべて実行するか、まったく実行しないかのいずれかになるよう保証する、ひとまとまりの処理単位である。
- ACID は、原子性・一貫性・独立性・永続性の頭文字をとった、トランザクション処理が満たすべき性質の略称である。
- 原子性は、トランザクションに含まれる複数の更新が全て実行されるか全く実行されないかのいずれかになることを保証する性質である。
- 一貫性はデータの整合性が保たれること、耐久性は完了した更新結果が障害後も失われないことを指す性質である。
- 独立性は、同時実行しても各トランザクションが互いに干渉せず、順番に実行したのと同じ結果になる性質である。
- コミットは、トランザクション内の一連の更新処理が正常に完了したことを確定し、データベースに反映させる操作である。
- ロールバックは、トランザクションの処理途中で異常が起きたときに更新を取り消し、開始前の状態へ戻す操作である。
まちがえやすい点
- CIA は情報セキュリティの3要素(機密性・完全性・可用性)の略称であり、トランザクションの4性質を表す ACID とは異なる。
- 排他制御は同時更新をできるようにする仕組みではなく、同じデータへの同時更新を制限して矛盾が生じないようにする仕組みである。
- インデックスは検索を速くするための索引、スキーマはデータベースの構造を定義した情報であり、ひとまとまりの処理単位であるトランザクションではない。
- ロールバックは更新を取り消して処理開始前の状態に戻す操作であり、更新を確定させるコミットとは方向が逆である。
- ロールフォワードは障害後にバックアップとログから復旧させる操作であり、更新の確定や取消しを行うコミット・ロールバックとは別である。
排他制御・ロック・デッドロック・2相コミット
同時更新による矛盾を防ぐ排他制御、ロックの種類、デッドロック、分散環境の2相コミットを扱う。
要点
- 排他制御は、複数の利用者が同じデータを同時に更新しようとしたとき、一方の処理が完了するまで他方の更新を待たせてデータの矛盾を防ぐ制御方式である。
- 共有ロックは、複数のトランザクションが同時に取得でき、データの参照(読み取り)は許すが更新は許さないロックである。
- 専有ロック(排他ロック)は、データを更新する際に取得し、他のトランザクションによる参照・更新の両方を許さないロックである。
- デッドロックは、複数のトランザクションが互いに相手がロックしている資源の解放を待ち続け、どちらも先に進めなくなる状態である。
- 2相コミットは、準備フェーズで全データベースの確定可否を確認し、コミットフェーズで一斉に確定または取消しする、分散環境の一貫性を保つ方式である。
- 2相コミットメントは、複数のデータベースにまたがる更新で、全体が確定できるかを確認してから一斉に確定し、整合性を保つ方式。
まちがえやすい点
- デッドロックはロックの種類ではなく、ロックによって生じる互いの待ち合いで処理が進まなくなる問題を指す語である。
- 楽観的ロックは更新時に矛盾がないかを事後的に確認する制御方式であり、更新中に他の処理を待たせる専有ロックではない。
- レプリケーションはデータの複製を作成・同期する技術であり、同時更新による矛盾を防ぐ排他制御とは目的が異なる。
- チェックポイントは復旧の基点であり、分散更新の確定方式である2相コミットとは別である。
- 共有ロックは参照どうしなら同時に成立するのに対し、更新時にかける専有ロックは他からの読み書きをどちらも待たせる。
障害回復のロールバックとロールフォワード
障害後にログを使ってデータベースを復旧する後方回復と前方回復の違いを扱う。
要点
- 後方回復(ロールバック)は、更新前ログを用いてトランザクション開始前の状態にデータを戻す回復方法である。
- 前方回復(ロールフォワード)は、バックアップを復元したうえで更新後ログを用いて障害直前の状態まで再現する回復方法である。
- ロールフォワードで再適用するログ(ジャーナル)は、バックアップ取得後の更新内容を記録したものである。
まちがえやすい点
- ロールバックは更新内容を取り消して処理開始前に戻す操作であり、ロールフォワードとは逆方向の考え方である。
- チェックポイントリスタートは再開点からの再実行、フェールオーバーは待機系への切替えであり、いずれも更新前の状態へ巻き戻す回復とは別である。
- 差分バックアップは前回フル以降の変更複写、スナップショットはある時点の状態保存であり、ログを再適用して障害直前まで再現するロールフォワードとは異なる。
- コミットは更新内容を確定させる操作であり、障害後にバックアップとログを用いる復旧手順を表すロールフォワードではない。
ほかのページ
この論点の問題は、アプリで解けます
ITウカールは、ITパスポート試験の対策アプリです。論点テキストはアプリの中でも無料で読めて、各論点の問題を解いて理解を確かめられます。分野別の演習・本番形式の模擬試験・間違えた問題の復習まで、1つのアプリで進められます。
出典と作り方
この読み物は、IPA「ITパスポート試験 シラバス Ver.6.5」の中分類の順に、アプリ「ITウカール」の収録問題の解説をもとにアプリ製薬が作成したものです。公式の文章の転載ではありません。問題文・選択肢は載せていません。