DBMSの解説(基本情報技術者シラバス用語)

目次

DBMS(データベース管理システム)とは

DBMSとは「Database Management System」の略で、日本語では「データベース管理システム」と呼びます。大量のデータをコンピュータ上で安全、かつ効率的に共有・管理するための専用ソフトウェアです。ユーザーやアプリケーションからの要求に応じて、データの登録、更新、検索、削除などを行うとともに、複数の人が同時に同じデータを書き換えて壊してしまわないように交通整理をしたり、障害時にデータを復旧したり、不正アクセスからデータを守ったりする重要な役割を持っています。

具体例

関係データベースを管理するためのDBMS(RDBMS)の具体例として、オープンソースで広く開発に使われている「MySQL」や「PostgreSQL」、企業の基幹システムでよく採用される「Oracle Database」やマイクロソフトの「SQL Server」などがあります。これらが裏側で働くことで、私たちは銀行のATMで同時に複数人が口座からお金を引き出しても、残高計算が狂わないような安全なシステムを利用できています。

もう少し詳しく

DBMSは、単にデータをファイルとして保存するだけでなく、データの一貫性・安全性を保証し、複数のユーザーが効率的にアクセスするための多機能なシステムです。DBMSが提供する主要な機能は以下の4つに大別されます。

1. 同時実行制御(排他制御):複数のユーザーが同時に同じデータを更新しようとした際、データの整合性を維持するための仕組みです。「ロック(排他処理)」機能があり、読み込み時のみ他人の閲覧を許可する「共有ロック」と、書き込み時に他人のアクセスを完全に遮断する「占有ロック」を使い分けます。これにより、予約システムなどで「二重予約」が発生するのを防ぎます。
2. 障害回復(リカバリ):停電やハードウェアの故障が発生した際、データを元の正しい状態に復旧する機能です。DBMSは、変更前のデータや変更後のデータを記録した「ジャーナルファイル(ログファイル)」を常に書き出しています。これを利用して、処理途中で失敗したトランザクションを取り消す「ロールバック」や、コミット済みのデータをバックアップから最新の状態へ進める「ロールフォワード」を実行し、データを守ります。
3. セキュリティ制御:不正アクセスや情報の漏洩を防ぐため、ユーザーごとにデータベースへのアクセス権限(テーブルの閲覧権限や編集権限など)を細かく制限します。
4. データの定義および操作:SQLなどの専用言語を用いて、データベースの構造を定義したり(データ定義言語:DDL)、データの検索や更新を行ったり(データ操作言語:DML)するためのインターフェースを提供します。

このように、DBMSが存在することで、開発者はファイルの読み書きや競合の心配、セキュリティ設計をすべてイチから実装する必要がなくなり、効率的で安全なシステム開発が可能になります。

試験でのポイント

IT試験においては、DBMSの定義とその代表的な機能(特に排他制御や障害回復)に関する問題が頻出します。

試験対策としての重要ポイント: ・排他制御(同時実行制御):複数人が同時にデータにアクセスする際、データの矛盾を防ぐための機能であることを理解しましょう。具体的には「共有ロック(読込のみ可)」と「占有ロック(他者拒否)」の違いや、お互いに相手のロック解除を待って処理が停止してしまう「デッドロック」という現象がよく問われます。 ・障害回復:障害が起きた際の「ロールバック(途中で失敗した処理を元に戻す)」と「ロールフォワード(正常に終わった処理を再現して最新にする)」の挙動と、どちらにどのログ(ジャーナル)が使われるのかを整理しておきましょう。

「複数のアプリケーションが同一のデータベースを同時参照・更新する際、データの整合性を保ち、障害回復などの機能を備えたソフトウェアはどれか」という問いに対しては、「DBMS」が正解です。

関連する用語

DBMSを介して管理されるデータの集まりである「関係データベース(RDB)」や、DBMSへ命令を送るための共通言語「SQL」が最重要の関連用語です。また、同時アクセスの衝突を防ぐ「排他制御(ロック)」、障害時に処理を巻き戻す「ロールバック」や進める「ロールフォワード」も密接に関連するキーワードです。

読んだ内容を10問練習と実技で確認

記事で理解した用語を、StudyQuestの演習とクラウド実技ラボで定着させます。

10問練習 実技ラボ