ITパスポート 2016年 秋期 問77
問題文
次のa~dのうち、DBMSに備わる機能として、適切なものだけを全て挙げたものはどれか。
a ウイルスチェック
b データ検索・更新
c テーブルの正規化
d 同時実行制御
選択肢
ア:a、b、c
イ:a、c
ウ:b、c、d
エ:b、d(正解)
🔒 解説は解答すると表示されます
DBMSの主要機能【ITパスポート解説】
正解の理由
この問題の正しい選択肢は エ(bとd)です。
DBMS(Database Management System:データベース管理システム)は、データを保存・検索・更新する仕組みと、複数の利用者が同時に安全に使えるようにする仕組みを持ちます。つまり、bの「データ検索・更新(検索=読み取り、更新=書き込み)」と、dの「同時実行制御(concurrency control:複数同時アクセスを調整する機能)」はDBMSの標準的な機能です。一方、aのウイルスチェック(antivirus)は専用ソフトの領域で、cの正規化(normalization:テーブルを設計する手法)は設計作業であり、DBMSが自動的に行う機能ではありません。
DBMS(Database Management System:データベース管理システム)は、データを保存・検索・更新する仕組みと、複数の利用者が同時に安全に使えるようにする仕組みを持ちます。つまり、bの「データ検索・更新(検索=読み取り、更新=書き込み)」と、dの「同時実行制御(concurrency control:複数同時アクセスを調整する機能)」はDBMSの標準的な機能です。一方、aのウイルスチェック(antivirus)は専用ソフトの領域で、cの正規化(normalization:テーブルを設計する手法)は設計作業であり、DBMSが自動的に行う機能ではありません。
解法ステップ
- 「DBMSに備わる機能」という語から「システムが実行時に提供する機能か」を確認する。
- 各選択肢を「実行時(ランタイム)にDBMSが提供するもの」か、「設計や別ソフトの領域」かで分類する。
- 実行時:データの入出力、トランザクション管理、同時実行制御、障害回復、アクセス制御など。
- 設計/別ソフト:正規化(設計作業)、ウイルスチェック(アンチウイルスソフト)。
- 実行時機能だけを含む選択肢を選ぶ(bとdを含む エ が該当)。
選択肢別の誤答解説
- aウイルスチェック
- 誤り。ウイルスチェックはアンチウイルスソフト(antivirus)の仕事です。DBMS自体はデータ管理に特化しており、ウイルス検出は通常OSや専用ソフトに任せられます。
- bデータ検索・更新
- 正しい。DBMS は SQL(Structured Query Language:構造化問い合わせ言語)などでデータの検索(SELECT)や更新(INSERT、UPDATE、DELETE)を行うための機能を提供します。
- cテーブルの正規化
- 誤り(注意点あり)。正規化は設計時の手法で、冗長性を減らし整合性を保つための考え方です。DBMSは正規化を“助ける”ために外部キー制約や一意制約などを提供しますが、実際にどのようにテーブルを正規化するかは設計者が決める作業です。
- d同時実行制御
- 正しい。同時実行制御はDBMSの重要機能です。複数ユーザーが同じデータに同時にアクセスしても矛盾が起きないように、ロック(lock)やMVCC(Multi-Version Concurrency Control:多版並行制御)などで調整します。
よくある誤解
- 「正規化もDBMSが自動でやってくれる」
- 実際は設計者がテーブル構造を決めます。DBMSは整合性制約(外部キーや一意制約)で設計のルールを守らせる道具を提供するだけです。
- 「DBMSはセキュリティ全般(ウイルス対策も)を担う」
- DBMSはアクセス制御や認証(ユーザー権限管理)などは行いますが、ウイルス検出は別の専用ソフトに任せるのが一般的です。
補足コラム
-
DBMSの主要な機能(簡単まとめ)
- ストレージ管理:データをディスクに効率よく保存・読み出しする。
- クエリ処理(検索・更新):SQLを解釈してデータ操作を実行する。
- トランザクション管理(transaction:一連の処理):一つのまとまった処理を「全部成功」か「全部失敗」にする。
- 同時実行制御(concurrency control):複数ユーザーからの同時アクセスでデータが壊れないようにする。
- 障害回復(recovery):障害発生時にデータを一貫した状態に戻す。
- セキュリティ:認証や権限管理で不正アクセスを防ぐ。
-
実例(銀行の振替での同時実行制御)
- Aさんが口座から引き落とし、Bさんが同じ口座を読む場合、同時実行制御がなければ残高が矛盾する危険があります。DBMSはロックやMVCCでこれを防ぎます。
-
短いSQLの例(イメージ)
-- 残高を引き落とす(簡易な例) BEGIN TRANSACTION; UPDATE accounts SET balance = balance - 100 WHERE id = 1; COMMIT;
FAQ
Q1. DBMSは正規化を助ける機能はまったくないですか?
A1. DBMSは外部キー制約や一意制約などで設計上のルールを強制できますが、どの正規形にするか(正規化の判断)は設計者が行います。
A1. DBMSは外部キー制約や一意制約などで設計上のルールを強制できますが、どの正規形にするか(正規化の判断)は設計者が行います。
Q2. 同時実行制御はどのように行うのですか?
A2. 主に「ロック(lock:資源を一時的に占有)」や「MVCC(多版並行制御)」で実現します。実装はDBMSによって異なりますが、目的は同じでデータの一貫性を守ることです。
A2. 主に「ロック(lock:資源を一時的に占有)」や「MVCC(多版並行制御)」で実現します。実装はDBMSによって異なりますが、目的は同じでデータの一貫性を守ることです。
Q3. DBMSはウイルス検査ソフトとどう使い分ければよいですか?
A3. ウイルス検査はOS/エンドポイントやファイルサーバ側で行い、DBMSはデータの管理・保護(認証・権限)に集中します。両方を組み合わせてセキュリティを高めます。
A3. ウイルス検査はOS/エンドポイントやファイルサーバ側で行い、DBMSはデータの管理・保護(認証・権限)に集中します。両方を組み合わせてセキュリティを高めます。
関連キーワード: DBMS、データベース、トランザクション、同時実行制御、正規化、整合性制約、ACID、ロック、MVCC、ウイルス対策

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

