簡単にいうと…
データベースマネジメントシステム(DBMS)とは
データベースを構築・管理する
プログラムです。
データベース(DB)そのものを含みます。
製品としてはOracle DatabaseやSQL Server、無償で使えるMySQLやPostgreSQLなどがあります。
詳しくいうと…
DBとは?
まずは、データベース(DB)とは何か、について簡単に紹介します。
たとえば、パソコンやスマホでお買い物するケースを挙げましょう。
それらEC(電子商取引)サイト運営会社のサーバルームには、DBサーバがあります。
このDBサーバ内には、受注テーブル(表)や在庫テーブル(表)など、ショッピングサイト上の売買・在庫・発送に関わる最新情報が表形式でつねに整理されています。
DBとは、これらテーブル情報の集まりのことです。
では、このECサイトでパンを買ってみましょう。
サイト上の購入決済ボタンを押すと、注文情報が、Webサイトを裏で動かしているWebアプリケーションサーバへ送信されます。
そしてそこからDBサーバへと処理が飛んできます。
DBサーバ内のテーブル情報は、SQLと呼ばれるDB向け言語によって更新・追加・削除されます。たとえば受注テーブルに先ほど買ったパンの購入情報を追加するSQL文は、
Insert into 受注テーブル values (“0004”, “PAN_02”,8)
などと記述され、WebアプリサーバからDBサーバへと更新依頼が行きます。
この依頼(問い合わせ)に基づき、DBサーバ内の受注テーブルには上記1行が追加されます。また同時に、在庫テーブルから在庫数量を減らす処理も別途行なわれる必要がありますね。
こうしてDBは、そのときどきの状況にもとづき、最新の情報をその各種テーブル内に格納しているわけです。ECサイト運営会社は、リアルタイムで次々やってくる受注処理を、このDBサーバの最新情報を更新する形で進めてゆきます。
DBMSとは?
さて、データベースマネジメントシステム(DBMS)は、テーブル情報の集まりであるこのDBを管理するソフトウェアです。
DBMSの機能にはたとえば以下があります:
・SQL言語のサポート
・テーブルへの情報格納ルール(制約)
・障害復旧
・DB情報を容易に参照・編集できるDBクライアント用サービス&アプリの提供
たとえば「障害復旧」について取り上げましょう。
もしDBサーバ内の空冷ファンが止まり、オーバーヒートして内部のディスク(HDD/SSD)が壊れてしまったら、現在進行中の受注情報や在庫情報が参照・更新できなくなり、そのECサイトは数日間以上ストップしてしまいます。運営会社はおしまいですね。
そうならないよう、DB情報のバックアップを定期的に取得し、いざとなればそのバックアップデータでテーブル内容を復元することも、DBMSの重要な働きのひとつです。
以上のようにDBMSは、DBのテーブル情報などに間違いがないよう管理することで、日々わたしたちの使うECサイトやオンラインゲーム、あるいは企業内の経理システムや給与システムなど、クライアント-サーバ型のありとあらゆるシステムの最新情報を支えているのでした。
さらに知りたいなら…
つまり…
データベースマネジメントシステム(DBMS)とは
データベースを構築・管理する
プログラムなわけです。
データベース、という言葉はよく耳にするが、ふつうはピンとこないじゃろうのぅ。
表計算ソフトで作った表じゃと考えればよい。ただし、それぞれ何万行もあり、1秒間内に何度も更新される、フライパンの上で熱された料理のようにホカホカの表じゃがのぅ。
歴史のツボっぽくいうと…
- 1959年DBの概念提唱W.C.MaGeeが論文「Generalization: Key to successful electronic data processing」を発表、データ重複の回避とシステム拡張の効率化のために源泉ファイル(source file)という概念を提唱する
- 1964年DBMSの登場アメリカ・General Electric社のC.W.Bachmanらが、最初のDBMS「IDS(Integrated Data Store)」を開発する
- 1970年リレーショナルDBの概念提唱イングランド生まれの計算機科学者E・F・Coddが、論文「大規模共有データバンクのデータ関係モデル」を発表、リレーショナルデータベースの一般理論を提唱する
以降、DBといえばこのリレーショナル型を指すようになる - 1979年リレーショナルDBの登場アメリカ・Relational Software社(現 Oracle社)が、最初のリレーショナルDBMS「Oracle V2」を販売する
<参考文献>(2019/09/21 visited)