
今回のテーマはDBMSとスキーマについてです。
DBMS?スキーマ?

基本情報技術者試験や応用情報技術者試験で出題される「データベースのスキーマ」についての問題。過去問を見ると難しく感じますが、3層スキーマについて理解していれば、難しい問題ではありません。
本記事では、「データベースのスキーマ」について解説します。
スポンサーリンク
目次
データベース
データベースとは
データベースとは、データを1つの場所に集約して管理し、データの抽出・追加・変更・削除を容易にできるようにした「箱」のようなシステムのことです。
アプリケーションやシステムで使うデータをデータベースで管理し、そこから必要な情報を取り出したり、更新(登録・更新・削除)したりと、データを柔軟に扱えるため、アプリケーション開発ではデータベースの存在は欠かせません。

例えば、あるWebサイトで会員情報を登録した場合、登録した内容はデータベースに保管されます。データベースに保管することで、データ抽出や更新などの操作が柔軟にできます。
関係データベース(リレーショナルデータベース)とは
関係データベース(リレーショナルデータベース)とは、データを表の形で管理するデータベースのことです。
次の表は関係データベースのイメージ例です。テーブル(表)は、レコード(行)とフィールド(列)によって形成されています。

テーブルにレコードを追加する
テーブルにデータを登録すると、次のようにテーブルに新しいレコードが追加されます。
次の例では、「ID=000005、名前=桜井五郎、住所=沖縄県那覇市」のデータを登録しています。

テーブルのレコードを更新する
テーブルに登録したデータは、簡単に更新できます。
次の例では、「ID=000001」の住所を「東京都品川区」に更新しています。

テーブルのレコードを削除する
テーブルに登録したデータは、簡単に削除できます。
次の例では、「ID=000003」のレコードを削除しています。

DBMS(データベース管理システム)
DBMS(データベース管理システム)とは、データベース機能を提供するミドルウェアのことです。

ミドルウェアとは、アプリケーションとオペレーティングシステム(OS)の中間に入るソフトウェアのことで、オペレーティングシステム(OS)の機能拡張やアプリケーションの共通的な機能を集めたものです。
代表的なDBMS(データベース管理システム)には次のようなものがあります。
名称 | 説明 |
Oracle | 米国オラクル (Oracle) が開発・販売しているDBMS(データベース管理システム) |
DB2 | IBMが開発・販売しているDBMS(データベース管理システム) |
SQL Server | マイクロソフトが開発・販売しているDBMS(データベース管理システム) |
MySQL | オープンソースのDBMS(データベース管理システム) |
PostgreSQL | オープンソースのDBMS(データベース管理システム) |
データベースのスキーマ
データベースのスキーマとは、データベースの構造や仕様を定義するものです。
ANSI/X3/SPARC規格は、3層スキーマ構造で「外部スキーマ」「概念スキーマ」「内部スキーマ」という3層に定義を分けています。
- 外部スキーマ:利用者(またはアプリケーション)から見たデータの形を定義するもの。関係データベースでは、ビュー表が該当する。
- 概念スキーマ:データの論理的関係を定義するもの。関係データベースの実体が該当する。
- 内部スキーマ:データの物理的関係を定義するもの。記憶装置にどうデータを格納しアクセスするかなどを定義したもの。
3層に定義を分けることで、データの独立性を高めています。

ビュー(外部スキーマ)を変更しても、データベースのデータ構造(概念スキーマ)に影響はなく、物理的に記憶させるハードウェア(内部スキーマ)が変わっても、プログラムの修正は必要ありません。
基本情報技術者試験 過去問の解説
スポンサーリンク
基本情報技術者平成27年春期 午前問26
DBMSが,3層スキーマアーキテクチャを採用する目的として、適切なものはどれか、ア~エを順番に確認していきます。
ア:関係演算によって元の表から新たな表を導出し,それが実在しているように見せる。
不正解:ビューの目的です。ビューとは、1つ以上のテーブルから必要な要素だけを取り出して作った仮想的なテーブルのことです。
イ:対話的に使われるSQL文を,アプリケーションプログラムからも使えるようにする。
不正解:カーソル操作の目的です。
ウ:データの物理的な格納構造を変更しても,アプリケーションプログラムに影響が及ばないようにする。
正解:3層スキーマの目的です。3層に定義を分けることで、データの独立性を高めています。
エ:プログラム言語を限定して,アプリケーションプログラムとDBMSを緊密に結合する。
不正解:3層スキーマは、データの独立性を高める目的があるので、アプリケーションプログラムとDBMSは分離する必要があります。

「ウ」が正解です。
応用情報技術者平成28年秋期 午前問26
データベースの3層スキーマ構造に関する記述のうち,適切なものはどれか、ア~エを順番に確認していきます。
ア:概念スキーマは,データの物理的関係を表現する。
不正解:概念スキーマは、データの物理的関係ではなく、論理的関係を表現するものです。
イ:外部スキーマは,データの利用者からの見方を表現する。
正解:外部スキーマは、利用者(またはアプリケーション)から見たデータの形を定義するものです。
ウ:内部スキーマは,データの論理的関係を表現する。
不正解:内部スキーマは、データの論理的関係ではなく物理的関係を表現するものです。
エ:物理スキーマは,データの物理的関係を表現する。
不正解:ANSI/X3/SPARC規格の3層スキーマ構造には、物理スキーマは存在しません。

「イ」が正解です。
基本情報技術者試験おすすめの参考書・問題集
いちばんやさしい 基本情報技術者 | 『基本情報技術者試験』試験に、短期間で一発合格するための試験対策本。ITの知識がまったくない、未経験者やでもスラスラと学習を進められるよう、丁寧に解説。 |
かやのき先生の基本情報技術者教室 | 基本情報技術者をめざす方のためのやさしいオールインワンタイプの参考書&問題集。イラストや豊富な図解・例え話を駆使して理解しやすく・記憶に残りやすいように説明。 |
基本情報技術者 パーフェクトラーニング過去問題集 | 科目A・Bともに万全の対策ができる、定番の過去問題集!科目A・科目Bの両方について万全の対策ができる。 |
キタミ式イラストIT塾 基本情報技術者 | すべての解説をイラストベースで行っているため,とてもわかりやすい解説本。いちばん最初に読む基本情報技術者試験関連の書籍を探している人におすすめ! |
出るとこだけ!基本情報技術者[科目B] | 基本情報技術者【科目B】対策の定番書!前提知識+解き方+試験問題を掲載。効率よく学習できる。 |
基本情報技術者 合格教本 | 出題範囲を体系的にきちんと理解しながら学習したい人におすすめ!基本情報技術者試験の定番テキストの改訂版。 |
基本情報技術者 超効率の教科書+よく出る問題集 | 動画でスムーズに学習スタート、テキストでしっかり理解度を深める!よく出る問題を反復学習することで、合格に直結するチカラが身に付く! |