全3220文字

データベースエンジンの役割

 データをカンマで区切って格納する形式のデータファイルのことを、CSV(Comma Separated Value)ファイルと呼びます。CSVファイルは単純で取り扱いやすいので、異なるOSや異なるプログラムの間でデータを交換する際によく使われます。CSVファイルなら、皆さんがオリジナルのプログラムを作成して、データを読み書きすることも容易でしょう。

 ところが実際のデータファイルには、データファイルの構造が公開されていないものも多くあります。この理由は(1)データファイルの構造が企業秘密であるから、(2)たとえ構造を公開したとしても、複雑すぎるために取り扱いが困難だから、です。

 そこで、市販のデータベース管理システム(米オラクルの「Oracle」や米マイクロソフトの「SQL Server」「Access」など)では、データファイルを読み書きするための専用のプログラムを提供しているのが一般的です。オープンソースのデータベース管理システム(「MySQL」「PostgreSQL」など)も同様です。このようなプログラムのことをデータベースエンジンと呼びます。

 エンジンとは、特定の機能に特化されたプログラムのことです。特定のデータファイルを読み書きする機能だけを持っているので、データベースエンジンと呼ばれます。データファイルの構造は非公開であっても、データベースエンジンを操作する方法は公開されています。したがって、データベースエンジンを仲介させれば、様々なプログラムから目的のデータファイルを読み書きできます(図2)。

図2●データベースエンジンを仲介させて、データファイルを読み書きする
図2●データベースエンジンを仲介させて、データファイルを読み書きする
[画像のクリックで拡大表示]

 個人でも手軽に使える、マイクロソフトのAccessを例に説明しましょう。Accessでは、「accdb」ファイルが使われています。これを読み書きするために、マイクロソフトは「ACE(Access Connective Engine)」というデータベースエンジンを提供しています。

 皆さんが作成したプログラムからaccdbファイルを読み書きするには、ACEを仲介させることになります。そのほかのデータベース管理システムでも、ベンダーがそれぞれ専用のデータベースエンジンを提供しています。

 データベースエンジンは、主にデータベースを作成、読み出し、更新、および削除する機能を提供します。これらの4機能は、データベースの基本的な操作であり、Create(作成)、Read(読み出し)、Update(更新)、Delete(削除)の頭文字を組み合わせてCRUD(クラッド)と呼びます。