基本情報技術者試験で頻出のデータベースの基礎を図解でわかりやすく解説します。
データベースの種類、3層スキーマ、データモデル、DBMSの機能、排他制御、データ機密保護まで初心者向けに丁寧に説明します。
データベースとは
データベース(Database)とは、大量のデータを整理・保存し、必要なときに効率よく検索・利用できるようにした仕組みです。
例えば、学校では生徒の氏名や成績、会社では社員情報や顧客情報、ネットショップでは商品や注文情報など、多くのデータを管理しています。

データベースの3層スキーマ
スキーマは、データベースの性質、形式、データ同士の関連など、定義の集合です。
データベースには、利用者ごとの見え方と実際の保存方法を分けて管理するために、3層スキーマアーキテクチャという考え方があります。
3層スキーマは、外部スキーマ、概念スキーマ、内部スキーマの3つがあります。
詳細について説明します。
外部スキーマ
外部スキーマとは、利用者ごとに必要なデータだけを見せるための仕組みです。

概念スキーマ
概念スキーマとは、どのようなデータを管理するのか、データ同士がどのような関係を持つのかを定義します。

内部スキーマ
内部スキーマとは、データを実際にどのように保存するかを定義します。
- データをどのディスクへ保存するか
- データをどのような形式で保存するか
- 高速に検索できるようにどのように配置するか

3層スキーマの目的は、利用者から見えるデータの構造と、実際の保存方法を分離し、互いの変更による影響を少なくすること(データ独立性)です。
データベースのデータモデル 種類とは
データモデル(種類)は、データ同士の関係や構造をどのように表現・管理するかを定めた考え方、以下の3つがあります。
- 階層型データモデル
- ネットワーク型データモデル
- リレーショナルデータモデル(関係データベース)
現在、多くのシステムではリレーショナルデータモデルが採用されていますが、用途に応じてほかのデータモデルが利用されることもあります。
それぞれ説明します。
階層型データモデルとは
階層型データモデルは、親子関係(ツリー構造)でデータを管理する方式です。
1つの親に対して複数の子を持つことができ、組織図やフォルダ構成のようなデータを表現するのに適しています。

一方で、子が複数の親を持つような複雑な関係は表現しにくいという特徴があります
ネットワーク型データモデルとは
ネットワーク型データモデルは、データ同士を網の目のようにつないで管理する方式です。
階層型とは異なり、1つのデータが複数のデータと関連付けられるため、より複雑な関係を表現できます。

ただし、構造が複雑になりやすく、設計や管理が難しいという特徴があります。
リレーショナルデータモデル(関係データベース)とは
リレーショナルデータモデルは、データを表(テーブル)形式で管理する方式です。
社員情報や商品情報などを表として管理し、共通の項目を利用して複数の表を関連付けます。

現在、多くのデータベース管理システム(DBMS)で採用されており、基本情報技術者試験でも最も重要なデータモデルです。
リレーショナルデータベースの用語
| 用語 | 説明 |
|---|---|
| タプル(行、組) | タプルとは、表の1行分のデータのことです。 |
| 属性(列、フィールド、カラム) | 属性とは、表の列(項目)のことです。 |
| 実現値 | 実際に格納されているデータ(値)のことです。 |
| 定義域(ドメイン) | ある属性に入力できる値の範囲や種類を定めたものです。 |
DBMS(データベース管理システム)とは
DBMS(Database Management System)は、データベースを効率的かつ安全に管理するためのソフトウェアです。
単にデータを保存するだけではなく、データの検索や更新、アクセス管理、バックアップなど、さまざまな機能を提供しています。
DBMSには多くの機能がありますが、5つを紹介します。
データベース定義機能
データベースの構造(スキーマ)を定義する機能です。
定義機能では以下の内容を定義します。
- テーブル(表)
- カラム(列)
- カラムのデータ型
- 索引
- ビュー

データベース操作機能
データベース操作機能とは、データの検索・追加・更新・削除を行う機能です。
<操作の例>
- 新しい社員を登録する
- 社員情報を検索する
- 部署を変更する
- 退職した社員を削除する
データベース排他制御機能
データベース制御機能とは、複数の利用者が同時にデータベースを利用しても、データの整合性を保つための機能です。
例えば、銀行口座の残高更新を2つ同時に実行すると、誤った金額になる可能性があります。
DBMSは、このような問題が発生しないようにアクセスを制御しています。

排他制御には、DBMSが自動的にロックを管理する方法と、アプリケーション側が LOCK TABLE などの命令で明示的にロックをかける方法があります。
保全機能
保全機能とは、障害や誤操作によってデータが失われても復旧できるようにする機能です。
- バックアップ
- リストア(復元)
- 障害回復
データ機密保護機能
データ機密保護機能とは、許可された利用者だけがデータを閲覧・更新できるようにする機能です。
例えば、人事データには給与情報が含まれているため、すべての社員が閲覧できると問題になります
- 利用者認証
- アクセス権限の設定
- データの暗号化

腕試し
腕試し(理解テスト)に挑戦する場合はこちらをクリック。


コメント