データベース(DB)とは

database


この記事の親記事は以下です。

ITエンジニアが語るIT業界で必要な知識 (その2)
以前、次のようなコラムを書きました。 今回は、IT業界で必要な知識について、より具体的な内容をまとめてみました。 ...

データベースとは、 大量のデータを集めて、コンピューターでデータの追加、削除、検索をしやすい形に整理したものです。

また、蓄積されたデータを管理するソフトウェアをデータベースマネジメントソフトウェア(DBMS)と呼ぶことがあります。

歴史上データベースは、階層型のデータベース、ネットワーク型のデータベースと進化していき1980年代からはリレーショナル型のデータベースが主流となりました。

現在、ソフトウェアでデータベースというときは、ほとんどの場合、リレーショナルデータベース(RDB、関係データベース)のことを指します。

スポンサーリンク
スポンサーリンク

SQLとは

SQL(エスキューエル)は、関係データベース管理システムにおいて、データの操作や定義を行うための言語です。

SQLは、1974年にIBMのSystem Rというデータベースで初めて使われました。

SQLの文法の種別は、データ制御言語 (DCL: Data Control Language)、データ操作言語 (DML: Data Manipulation Language)、データ制御言語 (DCL: Data Control Language)の3つに大別されます。

それぞれ見てみましょう。

データ定義言語 (DDL: Data Definition Language)

CREATE (データベースオブジェクト(表、インデックス、制約など)の定義)

DROP (データベースオブジェクトの削除)

ALTER (データベースオブジェクトの定義変更)

データ操作言語 (DML: Data Manipulation Language)

INSERT INTO (行データもしくは表データの挿入)

UPDATE 〜 SET (表を更新)

DELETE FROM (表から特定行の削除)

SELECT 〜 FROM 〜 WHERE (表データの検索、結果集合の取り出し)

データ制御言語 (DCL: Data Control Language)

GRANT (特定のデータベース利用者に特定の作業を行う権限を与える)

REVOKE (特定のデータベース利用者からすでに与えた権限を剥奪する)

SET TRANSACTION (トランザクションモードの設定(並行トランザクションの分離レベル (ISOLATION MODE))など))

BEGIN (トランザクションの開始)

COMMIT (トランザクションの確定)

ROLLBACK (トランザクションの取り消し)

SAVEPOINT (任意にロールバック地点を設定する)

LOCK (表などの資源を占有する)

マスターデータとトランザクションデータ (マスタとトラン)

リレーショナルデータベースの用語として必ず出てくる用語にマスターデータとトランザクションデータがあります。

「マスタ」というのは、業務の基幹となるデータのことで基本的には不変的なものです。

ただ、業務体系や価格体系、商品体系などの根本的な見直しの際に変更はあります。

例として、商品価格表、商品分類表、社員情報表などがあります。

一方、「トラン」というのは、日々の業務上発生するトランザクション(一連の処理)から掃きだされるデータ
のことをいいます。

これらは、都度、追加・更新されていくものです。

例として、注文データ、受注データ、履歴データなどがあります。

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

よく使われている主なDBMS(Database Management System)をまとめました。

Oracle (オラクル)

オラクルのDBMSです。

世界で最も使われていると言われいるDBMSです。

SQL Server

マイクロソフトのDBMSです。

主にWindows Serverで使われています。

DB2 UDB

IBMのDBMSです。

汎用機からパソコンまでサポートしています。

MySQL (MariaDB)

MySQLはもともと、スウェーデンのMySQL ABのDBMSでしたが、サン・マイクロシステムズに買収され、その後、オラクルに買収されました。

オープン系では最も使われているDBMSです。

MariaDBはMySQLからフォークしたプロジェクトです。

そのため、MySQLと互換性があり、現在は、CentOSなどオープン系ではMariaDBが最も標準的なDBMSです。

Postgres (ポスグレ)

オープン系ではMySQLと共によく使われているDBMSです。

MongoDB (モンゴDB)

MongoDBは、オープンソースのドキュメント指向データベースです。

C++言語で記述されており、開発とサポートはMongoDB Inc.によって行なわれています。

MongoDBはRDBMSではなく、NoSQLと呼ばれるデータベースに分類されるものです。

ドキュメントデータベースと言われることもあります。

SQLite (エスキューライト)

SQLiteは、サーバとしてではなくアプリケーションに組み込んで利用される軽量のデータベースです。

サーバーで動作させるようなRDBMSに比べて大規模な仕事には不向きですが、アプリケーションと共に配布されるような軽量なデータベースとしては最適です。

データベースの市場シェア

Top Database indexによる世界のデータベースのシェアです。

databaseshare

(出典: TOPDB Top Database index )

やはり、Oracleが最強で、MySQL、SQLServerが続きます。

データベースとデータウェアハウス

データベースと関連してよく出てくる用語としてデータウェアハウスというのがあります。

両者の違いについては以下にまとめました。

BI (ビジネスインテリジェンス) とは?データウェアハウスとは?ETLツールとは?
今日は、データベースとデータウェアハウスの違いとデータベースからデータウェアハウスへの加工するETLツールについてまとめてみ...

まとめ

  • ソフトウエアでデータベースという場合、ほとんどはリレーショナルデータベースのことです。
  • リレーショナルデータベースにアクセスする言語をSQLと言います。
  • 世界で最も使われているデータベースはOracleです。

データベースのきほんを理解するには以下の本がおすすめです。

最後まで読んでいただきありがとうござました。

この記事が気に入っていただけたらシェアしてくれると嬉しいです。