コンテンツにスキップ

データベース管理システム

コンピュータで大量のデータを扱うとき、プログラムからファイルを直接読み書きする方法では、さまざまな問題が起こります。たとえば、複数の人が同じファイルを同時に書き換えるとデータが壊れたり、アプリケーションごとにデータの管理方法がバラバラになったりします。

こうした問題を解決するために生まれたのがDBMS(DataBase Management System:データベース管理システム)です。DBMSは、データベースの作成・管理・操作を一手に引き受ける専用のソフトウェアで、アプリケーションとデータベースの間に立って、データの安全で効率的な利用を実現します。

graph LR
  subgraph NO["DBMSなし"]
    direction LR
    A1["アプリA"]:::base
    A2["アプリB"]:::base
    A3["アプリC"]:::base
    F1["ファイル1"]:::alert
    F2["ファイル2"]:::alert
    F3["ファイル3"]:::alert
    A1 --> F1
    A1 --> F2
    A1 --> F3
    A2 --> F1
    A2 --> F2
    A2 --> F3
    A3 --> F1
    A3 --> F2
    A3 --> F3
  end

  subgraph YES["DBMSあり"]
    direction LR
    B1["アプリA"]:::base
    B2["アプリB"]:::base
    B3["アプリC"]:::base
    D["DBMS"]:::primary
    DB[("データベース")]:::primary
    B1 --> D
    B2 --> D
    B3 --> D
    D --> DB
  end

  classDef base fill:#f8fafc,stroke:#94a3b8,stroke-width:1px,color:#333;
  classDef primary fill:#eff6ff,stroke:#2563eb,stroke-width:2px,color:#1e40af;
  classDef alert fill:#fef2f2,stroke:#dc2626,stroke-width:2px,color:#991b1b;

DBMSを導入すると、アプリケーション側はデータの保存場所や管理方法を意識する必要がなくなり、データの一元管理が可能になります。

DBMSには、データを安全かつ効率的に扱うためのさまざまな機能が備わっています。ITパスポート試験で問われる主な機能を見ていきましょう。

複数のアプリケーションが同じデータベースを利用しても、データの内容に矛盾が生じないように管理します。たとえば、ある商品の在庫数が「100」であるとき、どのアプリケーションから見ても同じ「100」が返ってくるようにするのが一貫性管理です。

データベースに対して「誰が」「どのデータに」「どのような操作を」行えるかを制御します。たとえば、一般社員は売上データを閲覧できるが、書き換えは管理者だけに許可するといった設定が可能です。これにより不正なデータの変更や情報漏えいを防ぎます。

複数のユーザーが同時にデータベースへアクセスしたとき、データの整合性が崩れないように処理の順番を調整する機能です。たとえば、ECサイトで残り1個の商品に2人が同時に注文した場合、片方だけが購入できるよう正しく制御します。同時実行制御は「排他制御」とも呼ばれます。

ハードウェアの故障や停電などの障害が発生しても、データベースの内容を障害前の正常な状態に復旧する機能です。DBMSは、データの変更履歴(ログ)を記録しておくことで、障害発生時にデータを元に戻したり、途中まで完了した処理をやり直したりすることができます。

インデックスとは、データの検索を高速に行うために設定する情報です。本の巻末にある「索引」と同じ考え方で、目的のデータがどこにあるかを素早く見つけるための仕組みです。インデックスを適切に設定すると、大量のデータの中から必要な情報を効率よく取り出せるようになります。

試験で出るポイント

「データベースの検索を高速化するために設定するもの」と問われたら、答えはインデックスです(2025年に出題)。

レプリケーションとは、データベースの内容を他のコンピュータに複製し、常に同期を保つ仕組みです。もし1台のサーバーが故障しても、複製先のサーバーで処理を継続できるため、システムの可用性(止まらずに使い続けられること)が高まります。また、複数のサーバーに読み取り処理を分散させることで、性能向上にもつながります。

試験で出るポイント

「データベースの内容を別のコンピュータに複製して同期する仕組み」と問われたら、答えはレプリケーションです(2025年に出題)。

試験では「DBMSの機能として正しいもの」を選ぶ問題も出題されます。ファイアウォール(外部からの不正アクセスを防ぐネットワーク機器・ソフトウェア)は、ネットワークセキュリティの機能であり、DBMSの機能ではありません。混同しないようにしましょう。

試験で出るポイント

DBMSの機能として正しいのは「アクセス権管理」「障害回復」「同時実行制御」などです。「ファイアウォール」「処理順序の制御」「ページ管理」はDBMSの機能ではないため、選択肢に含まれていても選ばないようにしましょう。

データベースを管理するDBMSには、データの管理方式によっていくつかの種類があります。代表的なものとしてRDBMSNoSQLの2つがあります。

RDBMS(リレーショナルデータベース管理システム)

Section titled “RDBMS(リレーショナルデータベース管理システム)”

RDBMS(Relational DataBase Management System)は、データを「表(テーブル)」の形で管理するDBMSです。行と列で構成された表にデータを格納し、表と表の間に関連(リレーション)を定義することで、複雑なデータも整理して扱えます。

たとえば、「顧客テーブル」と「注文テーブル」を顧客IDで関連づければ、「どの顧客がどの商品を注文したか」を簡単に検索できます。RDBMSは最も広く使われているDBMSの種類で、MySQL、PostgreSQL、Oracle Databaseなどが代表的な製品です。

NoSQL(Not only SQL)は、RDBMSとは異なるデータ管理方式を採用したDBMSの総称です。RDBMSが得意とする厳密な整合性よりも、大量データの高速処理や柔軟なデータ構造を重視する場面で活用されます。NoSQLにはいくつかの種類があります。

種類データの管理方法特徴・用途の例
キーバリューストア(KVS)「キー」と「値」のペアで管理シンプルで高速。セッション情報やキャッシュの管理に適する
ドキュメント指向データベースJSON等のドキュメント形式で管理柔軟な構造。Webアプリやコンテンツ管理に適する
グラフ指向データベースノード(点)とエッジ(線)で関係性を管理複雑な関係の表現が得意。SNSの友人関係や経路探索に適する

たとえば、SNSで「AさんはBさんの友人で、BさんはCさんの友人」という関係を扱う場合、グラフ指向データベースなら自然に表現できます。一方、ECサイトの商品カタログのように、商品ごとに異なる属性(本なら著者、家電ならサイズなど)を持つデータはドキュメント指向データベースが適しています。

比較項目RDBMSNoSQL
データ構造表(テーブル)形式、あらかじめ構造を定義柔軟(KVS、ドキュメント、グラフなど)
整合性厳密な一貫性を保証一貫性より速度・柔軟性を重視する場合が多い
得意な場面会計・受注など正確さが求められる業務大量データの高速処理、SNS、IoTなど

試験で出るポイント

NoSQLの各種類(KVS・ドキュメント指向・グラフ指向)はシラバスに明記されている用語です。それぞれの特徴を簡潔に説明できるようにしておきましょう。RDBMSとの違いは「表形式かどうか」「整合性重視か柔軟性重視か」で整理すると覚えやすくなります。


過去問に挑戦

Q. データベース管理システムにおける排他制御の目的として,適切なものはどれか。

  • ア 誤ってデータを修正したり,データを故意に改ざんされたりしないようにする。
  • イ データとプログラムを相互に独立させることによって,システムの維持管理を容易にする。
  • ウ データの機密のレベルに応じて,特定の人しかアクセスできないようにする。
  • エ 複数のプログラムが同一のデータを同時にアクセスしたときに,データの不整合が生じないようにする。
解答(令和元年)

正解: エ

Q. データ処理に関する記述 a~c のうち,DBMSを導入することによって得られる効果だけを全て挙げたものはどれか。

a 同じデータに対して複数のプログラムから同時にアクセスしても,一貫性が保たれる。

b 各トランザクションの優先度に応じて,処理する順番をDBMSが決めるので,リアルタイム処理の応答時間が短くなる。

c 仮想記憶のページ管理の効率が良くなるので,データ量にかかわらずデータへのアクセス時間が一定になる。

  • ア a
  • イ a,c
  • ウ b
  • エ b,c
解答(令和2年)

正解: ア

Q. 情報システムに関する機能 a~d のうち,DBMSに備わるものを全て挙げたものはどれか。

a アクセス権管理

b 障害回復

c 同時実行制御

d ファイアウォール

  • ア a,b,c
  • イ a,d
  • ウ b,c
  • エ c,d
解答(令和3年)

正解: ア

Q. 関係データベースで管理している次の “ログイン記録” 表及び “部署” 表において,ログイン結果が失敗となったことのある,又は,2022年4月10日 09:00:00 以前にログイン結果が成功となったことのある従業員が所属する部署名だけを全て挙げたものはどれか。

ログイン記録

日時従業員番号部署番号ログイン結果
2022-4-10 08:50:4210004003失敗
2022-4-10 08:53:1510004003成功
2022-4-10 08:55:4810002002成功
2022-4-10 09:00:1510001001成功
2022-4-10 09:01:0510012002成功
2022-4-10 09:03:0110008003成功
2022-4-10 09:10:2810007001成功
2022-4-10 09:32:1910002002成功
2022-4-10 09:39:2210005003失敗
2022-4-10 10:00:0210011001失敗
2022-4-10 10:05:5110011001成功
2022-4-10 10:30:4510009002成功

部署

部署番号部署名
001営業部
002システム部
003人事部
  • ア 営業部,システム部
  • イ 営業部,人事部
  • ウ 営業部,システム部,人事部
  • エ システム部,人事部
解答(令和7年)

正解: ウ

Q. あるコンピュータのデータベースの内容を他のコンピュータのデータベースに複製して,両者の内容が一致するように同期させるDBMSの機能はどれか。

  • ア アーカイブ
  • イ バックアップ
  • ウ レプリケーション
  • エ ロールバック
解答(令和7年)

正解: ウ

もっと過去問を解きたい方へ

フライトパスアプリなら、詳しい解説や分野別の過去問演習、SRS(間隔反復)学習ができます。

アプリで効率的に学習しよう