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パスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

