データベースマネジメントシステム(DBMS)

プログラム
関連用語
 情報・通信
 └プログラム
  └ミドルウェア
   └データベースマネジメントシステム(DBMS)
スポンサーリンク
スポンサーリンク

簡単にいうと…

データベースマネジメントシステム(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サーバの最新情報を更新する形で進めてゆきます。

ちなみに、「受注」や「在庫」など、頻繁に更新されるテーブルとは別に、「商品」や「倉庫」のID・名称・所在地など、そんなに更新されないテーブルもあります。後者のテーブルはとりわけマスタと呼ばれ、商品マスタ、倉庫マスタなどと言われます。

新商品が発売されたら、その舞台裏で、DBエンジニアたちが商品マスタを更新するためのSQL文を作ります。そのSQL文の入ったテキストファイルを、DBクライアント端末のコマンドプロンプトなどを経由して適用してやれば、DBサーバの該当情報も更新される、という流れです。

 

DBMSとは?

さて、データベースマネジメントシステム(DBMS)は、テーブル情報の集まりであるこのDBを管理するソフトウェアです。

DBMSの機能にはたとえば以下があります:

 ・SQL言語のサポート

 ・テーブルへの情報格納ルール(制約)

 ・障害復旧

 ・DB情報を容易に参照・編集できるDBクライアント用サービス&アプリの提供

 

たとえば「障害復旧」について取り上げましょう。

もしDBサーバ内の空冷ファンが止まり、オーバーヒートして内部のディスク(HDD/SSD)が壊れてしまったら、現在進行中の受注情報や在庫情報が参照・更新できなくなり、そのECサイトは数日間以上ストップしてしまいます。運営会社はおしまいですね。

そうならないよう、DB情報のバックアップを定期的に取得し、いざとなればそのバックアップデータでテーブル内容を復元することも、DBMSの重要な働きのひとつです。

もうすこし特殊なDBMSの機能について触れると、たとえばテーブルAの内容が更新されたら自動的にテーブルBも情報更新するトリガー機能や、DB内の処理にif文やfor文などのプログラム言語を作って埋め込める拡張SQL機能などもあります。使いこなせると便利ですが、少々むつかしいです。

 

 

以上のようにDBMSは、DBのテーブル情報などに間違いがないよう管理することで、日々わたしたちの使うECサイトやオンラインゲーム、あるいは企業内の経理システムや給与システムなど、クライアント-サーバ型のありとあらゆるシステムの最新情報を支えているのでした。

 

・データベースマネジメントシステム(DBMS)とは、データベースを構築・管理するよ
・データベース(DB)とは、テーブル情報の集まりのことだよ
・DBMSはこのDBに間違いがないよう、あらゆる面でサポートしているよ
 

さらに知りたいなら…

絵で見てわかる Oracleの仕組み(2019年)
(←画像クリックでAmazonサイトへ)

Oracleと呼ばれるDB製品の、概要・プロセス処理・メモリ処理・SQL文解析など、ややマニアックな内容をイラストつきでわかりやすく解説する1冊です。

MySQLやPostgresなど他DB使いの方々も、Oracleとの違いがわかって面白いかもしれませんね。

 

つまり…

データベースマネジメントシステム(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)

データベース管理システム - Wikipedia
エドガー・F・コッド - Wikipedia
第2回 組み込みデータベースの概要
 組み込み分野で扱われるデータ量やデータの種類は飛躍的に増えています。それはとりもなおさず,組み込み分野でもデータベースを利用する必要性が増してきたことを意味します。
データベースの歴史(概要)<データベースの歴史<歴史<木暮仁
データベース、XMLデータベース、XMLDB