データベースは、アプリケーションのデータを保存・蓄積するためのひとつの手段です。大量のデータを蓄積しておいて、そこから必要な情報を抜き出したり、更新したりということが柔軟かつ高速に行えるため、多くのデータを扱うアプリケーションでは必要不可欠なものです。特に、複数の利用者が大量のデータを共同利用する用途で強みを発揮します。

そうしたデータベースの持つ機能を、アプリケーションから簡単に扱えるようにしたのが「データベース管理システム(DBMS)」と呼ばれるミドルウェアになります。

例えば、通常のファイル操作を考えた場合、一般的にアプリケーションは、ファイルの読み書きについてはOSに任せて細かい部分までは関与しません。データベースを使う場合もそれと同じで、データベースの操作についての細かい制御は専用の担当者に任せてしまおうという発想のもと生まれたものがDBMSです。

データベースにはいくつか種類があります。代表的なものとして、関係型、階層型、ネットワーク型などがあります。そのうち、階層型、ネットワーク型については現在ではもう使用されることはほぼなくなりました。カード型やオブジェクト指向型といったデータベースも開発されましたが、現在において、関係型のリレーショナルデータベースが圧倒的に広く普及し、利用されています。

リレーショナルデータベースとは

リレーショナルデータベースは、表の形でデータを管理するデータベースです。データベースには、データ1件が1つの行として記録されるイメージで、追加、削除は基本的に行単位で行うことになります。そして、この行が複数集まることで表の形が出来上がります。

リレーショナルデータベースは、データそのものを格納する表以外にも、各種のデータベースオブジェクトを管理しています。データベースオブジェクトの論理的なグループを「スキーマ」または「データベース」と呼びます。スキーマにはデータの重複を防ぐことやデータ検索の効率化を目的とした「インデックス」、データベースに対する複数の操作をまとめたプログラムである「ストアドプロシージャ」、ユーザーが作成した「SQL関数」などが格納されています。


そのようなリレーショナルデータベースを管理するためのミドルウェアをリレーショナルデータベース管理システム(RDBMS)と言います。MySQLは代表的なRDBMSのひとつです。