公開日2025.10.30
最終更新日2025.10.29
前回のデータベースの種類の話の続きです。
今回は、「データベースのモデルとDBMS(データベース管理システム)」についていっしょに学んでいきましょう。今回、学ぶ内容はこちら。
- データベースのモデルとは
- 3層スキーマアーキテクチャ
- 関係モデルとは
- DBMS(データベース管理システム)とは
データベースのモデルとは
データベースを構築するとき、現実にあるデータをどのように構造化して、単純化して、コンピュータ内部で表現するかが必要になります。
この、データをどのように構造化して、単純化して、コンピュータ内部で表現したものが「データベースのモデル」です。


それでは、これから「データベースのモデル」についてみていきましょう。
3層スキーマアーキテクチャ
データベースのモデルをまとめる時に、理想的なデータベースの枠組みがあります。それが、3層スキーマアーキテクチャ です。


スキーマって何?
データベースの論理的、物理的なデータ構造のこと。
3層ってどんなのがあるの?
①外部スキーマ
アプリケーション制御時に利用します。
データ利用者(ユーザー)からの見方を表したもの(論理的な独立性)
(例)SQLのビュー
➁概念スキーマ
データベース管理者が定義・メンテナンスを行います。
データベース化対象業務とデータの内容を論理的な構造として表現したもの。
(例)テーブルの正規化、CREATE TABLEによる表定義
③内部スキーマ
データを記憶装置上にどのような形式で格納するか表現したもの(物理的な独立性)。
(例)ファイル編成、インデックスの設定
実装するメリット
3層あることで、スキーマが変更された時の影響を与えないようにして、プログラムからの独立性を保証しています。
3層スキーマアーキテクチャを具体的に設計・実装するための方法や手順が「モデル化」です。
参考:AWS エージェンティックAI | データモデリングとは?
では、データベースをどのような形で表現すればいいか。データベースの最も一般的なものに関係モデルというものがあります。前作で紹介した「3.リレーショナル(関係)型データベース」を構築する元となっているモデル(理論)です。
関係モデルとは
関係モデルって何?
データベースの構築でもっとも一般的な手法。
Excelの表に似たデータの形をしてます。


①表(relation:関係)
ファイルに相当するもので、通常、一つのデータベース内に構成が異なる複数の表が存在します。
②列(attribute:属性)
フィールド(項目)に相当し、実際のデータが格納されます。1つの表の列構成は全行で同じです。
③行(tuple:組)
1行がファイルにおける1レコードに対応します。
④定義域(domain:ドメイン)
各列(属性)が取り得る値の集合です。1つ1つの値を実現値と呼びます。
関係モデルの特徴について
関係モデルには以下のような特徴があります。
- 関係は表に対応付けられる
- 属性は数学的モデルである、順序という概念は存在しない
- 列には二次元の表で管理し、列順が存在する
- タプル(組)は重複を許容しない
- 行は演算の結果次第で重複が生じることがある
- 定義域は値の取りうる範囲、形式を制限するデータ型に対応
関係モデルについて知ることができましたね!
関係モデルは、DBMS(データベース管理システム)を使用することで実現することができます。
DBMS(データベース管理システム)とは
データベース管理システムって何?


利用者との間に介在して、データベースの管理を効率よく行うソフトウェア(ミドルウェア)のこと。
それでは、データベース管理システムの機能を確認してみましょう。
DBMS(データベース管理システム)の機能一覧
| 機能 | 内容 |
|---|---|
| データベース定義機能 | データベースの作成(スキーマの定義が可能) |
| データベース操作機能 | データベースの操作(SQLを使います) |
| データベース制御機能 | 保全機能(排他制御、障害回復)、参照制御、表制約 |
| データ機密保持機能 | ユーザ認証、アクセス制御、利用ログの記録 |
| 索引(インデックス) | データの検索を高速化するための機能 |
| オプティマイザ | 最も効率がいい実行計画を行う →アクセスパスに着けられた優先順位をもとに選択するルールベース →統計情報をもとに見積もられたコストで選択するコストベース |
混同しがちな用語について
データベースを学習していると、用語が混同してしまうことがあります。特に、「SQL」と「MySQL」「SQLite」でしょうか。SQLはデータベースを操作するための言語。MySQLとSQLiteはDBMSの一種です。


最後に
以上、「データベースのモデルとDBMS(データベース管理システム)」に関する項目についてでした!
少しでも、伝わっていれば幸いです!
次は、「データベース設計」についての記事になります!お楽しみに!


