データベースとは?初心者向けに分かりやすく簡単に解説

データベースデータベースとは、コンピュータに格納したデータの集まりのことです。

データベースは、Excel から、データベース管理システム (DBMS) まで様々な種類が存在します。

通常、データベースはデータベース管理システム (DBMS) を指すことが多いです。

関連記事:データベースの基礎知識
スポンサーリンク

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

DBMS/DataBase Management System (データベース管理システム)DBMS とは、データベースを運用、管理するシステムです。

データベースに DBMS が利用される理由は、DBMS が次のような機能を持つためです。

DBMS の機能の一例

DBMS が持つ機能の詳細

DBMS の種類

現在利用されている DBMS は、主に次の 2 種類が存在します。

  • RDBMS (Relational DBMS/関係データベース管理システム)
  • NoSQL (Not only SQL)
スポンサーリンク

RDBMS とは

RDBMS(Relational DBMS)RDBMS とは、2次元の表形式でデータを持つ DBMS です。※厳密にはこちら
Relational データベースと SQL 用語の対応の参考文献

RDBMS の種類

RDBMS の例説明
OSS、初心者向け、広く普及
MySQL のフォーク、Oracle に MySQL が買収されたため
OSS、機能が豊富
Microsoft 社製、Windows と親和性が高い
Oracle 社製、2024時点のエンジンランキング1位※
https://db-engines.com/en/ranking

データベースの構造

RDBMS は次のような階層構造を持ちます。

インスタンス

インスタンスとは、OS 上で稼働するデータベースのプロセスです。

データベース

データベースとは、ユーザーの接続する単位です。

ユーザーは、接続中のデータベース内にあるデータしかアクセスできません。

スキーマ

スキーマとは、テーブル・データ型・関数などを格納するフォルダのようなものです。

スキーマは、用途ごとに分けたり、中にあるテーブルの権限を一括設定したりできます。

テーブル

テーブルとは、2次元テーブルのことです。

なお、RDBMS の構造は、以下のように製品によって異なります。

MySQL/MariaDBPostgreSQLSQL ServerOracle Database
インスタンス○ (サーバーと呼ぶ)
データベース○ ※1, 2△ ※3
スキーマ△ ※1, 2
テーブル
MySQL・MriaDB・Oracle Database は実質3層

※1 CREATE SCHEMA is a synonym for CREATE DATABASE

https://dev.mysql.com/doc/refman/8.0/en/create-database.html

※2 In MariaDB Server, schema is a synonym for database.

https://mariadb.com/docs/server/ref/mdb/sql-statements/CREATE_DATABASE/

1つのデータベース・インスタンスは一度に1つのデータベースにのみ関連付けられます。

https://docs.oracle.com/cd/E57425_01/121/CNCPT/startup.htm
スポンサーリンク

NoSQL とは

NoSQL (Not Only SQL)NoSQLとは、RDBMS 以外の DBMS です。

昔は、階層型やネットワーク型モデルが存在しましたが、今やリレーショナル型の RDBMS しか存在しません。

そこで、RDBMS 以外のデータベースを発展させようという目的で NoSQL が誕生しました。
(RDBMS で出来ないような、高パフォーマンス・テーブル以外の形式でデータを保持したい)

NoSQL と RDBMS の違い

NoSQL と RDBMS の主な違いは以下のとおりです。

NoSQL は RDBMS の一部機能を犠牲に、目的に特化した機能を持つものが多いです。

ただし、最近の NoSQL はトランザクションに対応してたり、JOIN できたりと、RDB との違いが無くなりつつある製品もあります。

NoSQL の種類

NoSQL の種類説明DBMS の例
ドキュメントストアドキュメント (JSON など) でデータを格納

キーバリューキャッシュキーとバリュー (値) でデータを格納
ワイドカラムストア2次元のキーとバリューでデータを格納
RDBMSと違い、列名が行ごとに異なる場合もある
グラフデータベースノード (頂点)・エッジ (辺)・プロパティ (属性) でデータを格納

参考資料

関連記事:データベースの基礎知識