ITパスポート対策

データベースとは

データベースは、ITパスポートのテクノロジ系の中では点を取りやすい分野です。用語の数がそれほど多くなく、問われ方も毎回よく似ているためです。まずは「なぜファイルではなくデータベースなのか」から押さえます。

データをファイルで持つと何が起きるか

売上の記録を表計算ソフトのファイルで管理している会社を考えてみます。担当者が2人に増えたとたん、同じファイルを同時に開いてしまい、後から保存したほうの内容だけが残る、という事故が起きます。支店ごとに顧客名簿のコピーを配れば、住所変更が片方にしか反映されず、どちらが正しいのか誰にも分からなくなります。保存の途中でパソコンの電源が落ちれば、ファイルそのものが壊れて全部読めなくなります。

これらを業務アプリごとに自前で解決するのは現実的ではありません。そこで、データの置き場所と出し入れの作法をまとめて引き受ける専用のソフトウェアを間にはさみます。これがデータベース管理システム、略してDBMSです。

利用者やアプリはデータの入ったファイルを直接さわりません。かならずDBMSに「この条件のデータをください」と頼み、DBMSがファイルとのやりとりを代行します。この一段はさむ構造が、次に説明する機能をすべて成り立たせています。

DBMSが肩代わりしてくれること

困りごとDBMSが持つしくみ
2人が同時に更新して片方が消える排他制御(ロック)
支店ごとのコピーで内容が食い違うデータの一元管理
ありえないデータが入ってしまう整合性制約(主キー、外部キー、NOT NULL)
障害でデータが壊れるログとバックアップによる障害復旧
見せたくないデータが見えてしまう利用者ごとのアクセス権設定

試験ではこの対応関係がそのまま出ます。「DBMSの機能として適切なものはどれか」という問い方で、表計算ソフトでもできること、たとえばグラフの描画や印刷レイアウトの調整が、誤りの選択肢としてまぎれこみます。DBMSはデータを正しく保つための道具であって、見た目を作る道具ではない、と切り分けておくと迷いません。

もう1つよくある引っかけが、データベースとDBMSの言い分けです。データそのものの集まりがデータベース、それを管理するソフトウェアがDBMSです。「データベースの機能」と書かれていても、選択肢はDBMSの話をしていることがほとんどなので、言い回しに神経質になりすぎる必要はありません。

データモデルは3つ覚えれば足りる

データをどんな形で表すかの取り決めをデータモデルといいます。試験に出るのは次の3つです。

モデルデータの表し方特徴
階層型木構造。親1つに子が複数上からたどるので速いが、複数の親を持てない
ネットワーク型網目構造。ポインタでつなぐ複数の親を持てるが、構造が複雑になる
関係型(リレーショナル)2次元の表現在の主流。SQLで操作する

今どきのデータベースはほぼすべて関係型なので、以降のレッスンも関係型を前提に進みます。試験では、関係型の説明として「データを表の形で表現する」が正解文、「データどうしのつながりをポインタでたどる」はネットワーク型の説明、という置きかえが定番です。モデル名と説明文の組み合わせを入れ替えて誤りにする、という作り方をされると覚えておいてください。

この章の見取り図

次のレッスンから、関係データベースの表の読み方、SQLの読み方、同時更新を守るトランザクション、そして障害に備えるバックアップと進みます。どれも「何を守るためのしくみか」をひとことで言えるようにしておくと、初見の問題文でも当たりをつけられます。

生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア
編集 LuaGate編集部