広告 基本情報技術者

【基本情報技術者試験】データベース(DBMS)の3層スキーマ

2024年4月30日

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

DBMS?スキーマ?

問題

DBMSが,3層スキーマアーキテクチャを採用する目的として,適切なものはどれか。

  • ア:関係演算によって元の表から新たな表を導出し,それが実在しているように見せる。
  • イ:対話的に使われるSQL文を,アプリケーションプログラムからも使えるようにする。
  • ウ:データの物理的な格納構造を変更しても,アプリケーションプログラムに影響が及ばないようにする。
  • エ:プログラム言語を限定して,アプリケーションプログラムとDBMSを緊密に結合する。

基本情報技術者平成27年春期 午前問26

問題

データベースの3層スキーマ構造に関する記述のうち,適切なものはどれか。

  • ア:概念スキーマは,データの物理的関係を表現する。
  • イ:外部スキーマは,データの利用者からの見方を表現する。
  • ウ:内部スキーマは,データの論理的関係を表現する。
  • エ:物理スキーマは,データの物理的関係を表現する。

応用情報技術者平成28年秋期 午前問26

基本情報技術者試験や応用情報技術者試験で出題される「データベースのスキーマ」についての問題。過去問を見ると難しく感じますが、3層スキーマについて理解していれば、難しい問題ではありません。

本記事では、「データベースのスキーマ」について解説します。

本記事で学べること

  • 関係データベースについてを理解する
  • DBMS(データベース管理システム)について理解する
  • データベースのスキーマについて理解する
  • 基本情報技術者試験の過去問の解き方を学ぶ

スポンサーリンク

データベース

データベースとは

データベースとは、データを1つの場所に集約して管理し、データの抽出・追加・変更・削除を容易にできるようにした「箱」のようなシステムのことです。

アプリケーションやシステムで使うデータをデータベースで管理し、そこから必要な情報を取り出したり、更新(登録・更新・削除)したりと、データを柔軟に扱えるため、アプリケーション開発ではデータベースの存在は欠かせません

データベースとは

例えば、あるWebサイトで会員情報を登録した場合、登録した内容はデータベースに保管されます。データベースに保管することで、データ抽出や更新などの操作が柔軟にできます。

関係データベース(リレーショナルデータベース)とは

関係データベース(リレーショナルデータベース)とは、データを表の形で管理するデータベースのことです。

次の表は関係データベースのイメージ例です。テーブル(表)は、レコード(行)とフィールド(列)によって形成されています。

関係データベース

テーブルにレコードを追加する

テーブルにデータを登録すると、次のようにテーブルに新しいレコードが追加されます。

次の例では、「ID=000005、名前=桜井五郎、住所=沖縄県那覇市」のデータを登録しています。

データベースにデータ追加

テーブルのレコードを更新する

テーブルに登録したデータは、簡単に更新できます。

次の例では、「ID=000001」の住所を「東京都品川区」に更新しています。

データベースの表を変更する

テーブルのレコードを削除する

テーブルに登録したデータは、簡単に削除できます。

次の例では、「ID=000003」のレコードを削除しています。

データベースのデータを削除

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

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

ミドルウェアとは

ミドルウェアとは、アプリケーションとオペレーティングシステム(OS)の中間に入るソフトウェアのことで、オペレーティングシステム(OS)の機能拡張やアプリケーションの共通的な機能を集めたものです。

代表的なDBMS(データベース管理システム)には次のようなものがあります。

名称説明
Oracle米国オラクル (Oracle) が開発・販売しているDBMS(データベース管理システム)
DB2IBMが開発・販売しているDBMS(データベース管理システム)
SQL Serverマイクロソフトが開発・販売しているDBMS(データベース管理システム)
MySQLオープンソースのDBMS(データベース管理システム)
PostgreSQLオープンソースのDBMS(データベース管理システム)

データベースのスキーマ

データベースのスキーマとは、データベースの構造や仕様を定義するものです。

ANSI/X3/SPARC規格は、3層スキーマ構造で「外部スキーマ」「概念スキーマ」「内部スキーマ」という3層に定義を分けています。

  • 外部スキーマ:利用者(またはアプリケーション)から見たデータの形を定義するもの。関係データベースでは、ビュー表が該当する。
  • 概念スキーマ:データの論理的関係を定義するもの。関係データベースの実体が該当する。
  • 内部スキーマ:データの物理的関係を定義するもの。記憶装置にどうデータを格納しアクセスするかなどを定義したもの。

3層に定義を分けることで、データの独立性を高めています。

ビュー(外部スキーマ)を変更しても、データベースのデータ構造(概念スキーマ)に影響はなく、物理的に記憶させるハードウェア(内部スキーマ)が変わっても、プログラムの修正は必要ありません。

基本情報技術者試験 過去問の解説

スポンサーリンク

基本情報技術者平成27年春期 午前問26

問題

DBMSが,3層スキーマアーキテクチャを採用する目的として,適切なものはどれか。

  • ア:関係演算によって元の表から新たな表を導出し,それが実在しているように見せる。
  • イ:対話的に使われるSQL文を,アプリケーションプログラムからも使えるようにする。
  • ウ:データの物理的な格納構造を変更しても,アプリケーションプログラムに影響が及ばないようにする。
  • エ:プログラム言語を限定して,アプリケーションプログラムとDBMSを緊密に結合する。

基本情報技術者平成27年春期 午前問26

DBMSが,3層スキーマアーキテクチャを採用する目的として、適切なものはどれか、ア~エを順番に確認していきます。

ア:関係演算によって元の表から新たな表を導出し,それが実在しているように見せる。

不正解:ビューの目的です。ビューとは、1つ以上のテーブルから必要な要素だけを取り出して作った仮想的なテーブルのことです。

イ:対話的に使われるSQL文を,アプリケーションプログラムからも使えるようにする。

不正解:カーソル操作の目的です。

ウ:データの物理的な格納構造を変更しても,アプリケーションプログラムに影響が及ばないようにする。

正解:3層スキーマの目的です。3層に定義を分けることで、データの独立性を高めています。

エ:プログラム言語を限定して,アプリケーションプログラムとDBMSを緊密に結合する。

不正解:3層スキーマは、データの独立性を高める目的があるので、アプリケーションプログラムとDBMSは分離する必要があります。

「ウ」が正解です。

応用情報技術者平成28年秋期 午前問26

問題

データベースの3層スキーマ構造に関する記述のうち,適切なものはどれか。

  • ア:概念スキーマは,データの物理的関係を表現する。
  • イ:外部スキーマは,データの利用者からの見方を表現する。
  • ウ:内部スキーマは,データの論理的関係を表現する。
  • エ:物理スキーマは,データの物理的関係を表現する。

応用情報技術者平成28年秋期 午前問26

データベースの3層スキーマ構造に関する記述のうち,適切なものはどれか、ア~エを順番に確認していきます。

ア:概念スキーマは,データの物理的関係を表現する。

不正解:概念スキーマは、データの物理的関係ではなく、論理的関係を表現するものです。

イ:外部スキーマは,データの利用者からの見方を表現する。

正解:外部スキーマは、利用者(またはアプリケーション)から見たデータの形を定義するものです。

ウ:内部スキーマは,データの論理的関係を表現する。

不正解:内部スキーマは、データの論理的関係ではなく物理的関係を表現するものです。

エ:物理スキーマは,データの物理的関係を表現する。

不正解:ANSI/X3/SPARC規格の3層スキーマ構造には、物理スキーマは存在しません。

「イ」が正解です。

helpful