|
このセクションでは、一般的なデータベースの基本的なコンセプト、および Pervasive PSQL とその他のデータベース製品とを区別する主要なコンセプトについて説明します。
今日使用されているデータベース管理システムの多くは、共通する基本構造のセットを共有しています。このセクションでは、それらの構造について簡単に説明します。次の図を引用して説明を進めます。
「電話帳」テーブル
|
||||
|
列 1
|
列 2
|
列 3
|
列 4
|
列名
|
名前
|
住所
|
郵便番号
|
電話番号
|
行 1
|
Fred Black
|
643 Oak
|
12346
|
555-2345
|
行 2
|
Jane Doe
|
112 Elm
|
12345
|
555-1212
|
行 3
|
John Doe
|
112 Elm
|
12345
|
555-1212
|
データベースの最も基本的な要素は、「値」です。値はデータの 1 つの要素であり、1 つの特性であり、特定のエンティティに使用します。たとえば、上図で氏名の "John Doe" や電話番号の "555-1212" は値です。
もう 1 つの要素は、「列」です。または、「フィールド」とも言います。列は特性を表し、特定の値を持ちません。通常、列はその特性を説明する名前を持ちます。たとえば、電話帳では「氏名」および「電話番号」が列です。これらの列は、特定の人物を検索しない限りは固有の値を持ちません。フィールドは、特定の行の一般的な特性を参照するのに使うことがあります。たとえば、前に示した表内で特定のボックスを指し、「このフィールドの値は何ですか?」と尋ねることができます。
もう 1 つの要素は、「行」です。または、「レコード」とも言います。行は、ある特定のインスタンスに対するすべての値の集合体です。たとえば、電話帳で、氏名、住所、電話番号がすべて揃った 1 つのエントリが 1 つのレコードまたは行です。
「セル」は、特定のレコード内の 1 つの列です。行と列が交差している部分がセルです。各セルには固有の値があります。たとえば、2 行目の第 3 列にあるセルの値は "12345" です。
行と列の集合体は「テーブル」を構成します。テーブルは、まったく同じ構造を共有するデータのセットです。通常、テーブルはその内容を説明する名前を持ちます。たとえば、上図のテーブルは "電話帳" という名前が付けられています。Pervasive PSQL では、各テーブルはハード ディスク上で別々のデータ ファイルとして保存されます。
「インデックス」は、特定の列に含まれるすべての値を順序付けしたリストです。テーブルには、インデックスを付けないようにすることもできますし、1 つ以上のインデックスを付けることもできます。データベース エンジンでは、インデックスを使ってデータベース内で特定のレコードを検索します。すべてのレコードを 1 つずつ順に検索していく必要はありません。データベース検索で頻繁に使用する列にインデックスを作成すると、高い確率でデータベースのパフォーマンスが向上します。
「データベース」は 1 つ以上のテーブルの集合体です。テーブル内のデータは、さまざまなテーブル間で必ずしも関連付ける必要はありませんが、通常は多くの関連付けが行われます。たとえば、後で述べる「食べ物の好み」テーブルと前に示した「電話帳」テーブルで 1 つのデータベースを構成することができます。Pervasive PSQL では、ハード ディスク上の 1 つ以上のデータ ファイルとデータ辞書ファイル(DDF)で 1 つのデータベースが構成されます。DDF は、テーブル、列のすべての定義およびデータベースの構造を定義するその他の属性が含まれる特別なデータ ファイルです。
「スキーマ」は、データベースの全体の構造を説明する定義の完全なセットを指します。標準のスキーマには、テーブル、列、インデックスおよびその他多くの属性の定義が含まれます。データベースの DDF にはそのデータベースのスキーマが含まれます。
「食べ物の好み」テーブル
|
||||
|
列 1
|
列 2
|
列 3
|
列 4
|
列名
|
名前
|
魚肉類
|
穀物類
|
飲料類
|
行 1
|
Fred Black
|
すし
|
小麦パン
|
日本酒
|
行 2
|
Jane Doe
|
ステーキ
|
シリアル
|
ビール
|
行 3
|
Ann Dean
|
タラ
|
米
|
ミネラル ウォーター
|
「リモート」は、現在使用しているコンピューターにはないファイル サーバーまたはデータベースなどのオブジェクトを指します。ネットワーク上のデータベースに接続した場合は、リモート データベースに接続しています。リモートは、「ローカル」の反意語です。リモートは、サーバー コンピューターまたはクライアント コンピューターのどちらで現在作業しているかによって、クライアントまたはサーバーのいずれかを指します。リモートは常に、使用しているシステム上にないオブジェクトを指します。
「ローカル」は、現在使用しているコンピューター、またはこのコンピューターに保存されているものを指します。ローカル データベースとは、そのデータ ファイルが現在使用しているコンピューターのハード ディスク上に保存されているデータベースです。ローカルは「リモート」の反意語です。ローカルは、サーバー コンピューターまたはクライアント コンピューターのどちらで現在作業しているかによって、クライアントまたはサーバーのいずれかを指します。
「リレーショナル」という語は、関連付けられたテーブルの形式で格納されているデータを指します。関連付けられたテーブルにより、データのサブセット間で関係を設定することができます。
たとえば、前に示した 2 つのテーブルには「氏名」という列があり、それぞれの値には同じ名前がいくつかあります。電話帳テーブルの氏名と食べ物の好みテーブルの氏名は相互に参照することができるので、「ステーキを好む人物の電話番号は?」などの質問に対して答える機能を持つことができます。また、「製品 A を購入した後で製品 B を最も多く購入する消費者の特徴は?」という質問にも答えることができます。
リレーショナル データベースがどれほど強力かがわかります。Pervasive PSQL の SRDE コンポーネントを使用すれば、データへの完全なリレーショナル アクセスが可能です。
「結合」は、関連付けられたテーブルの列間の関係を指します。通常、結合操作は SELECT クエリの一部で、関連付けられたテーブルから情報を取得するのに使用します。
Pervasive PSQL 独自の機能は、前に述べた業界標準のリレーショナル アクセス、あるいは Btrieve インターフェイスとして知られる超高速トランザクショナル階層アクセスのどちらの方法でもアプリケーションがデータにアクセスできることです。実際、Pervasive PSQL を使用すれば、アプリケーションは両方のアクセス方法を同時に使用して同じデータにアクセスすることができます。
トランザクショナル インターフェイスは、高いパフォーマンス、低いオーバーヘッドのアクセス方法であり、更新、挿入および削除を他のデータベース製品よりも速く行うことができます。
トランザクショナル インターフェイスを用いたアプリケーションでは、リレーショナル インターフェイスを使用しないで MKDE と直接通信して最高のパフォーマンスを実現します。
パフォーマンスを重視し、トランザクショナル インターフェイスではファイルのパスワードと暗号化を含む基本的なセキュリティのみを提供します。トランザクショナル セキュリティを使用しないで SRDE データ アクセスを行うことはできません。
リレーショナル インターフェイスは業界標準の ODBC を使用して、データ定義、セキュリティ、レポート作成、ストアド プロシージャ、およびアプリケーション プログラムを必要としない汎用的なアプリケーション アクセスの豊富な環境を提供します。ODBC が使用可能なデータベースは、ODBC 標準ソフトウェア プログラムでアクセスすることができます。
Pervasive PSQL に基づくアプリケーションのエンド ユーザーとしては、アプリケーションで使用するアクセス方法を選択することができないかもしれませんが、アプリケーション ベンダーは間違いなくこの方法を取り入れています。現在、この柔軟なリレーショナル アクセスと高速トランザクション スループットの組み合わせを提供している有効な DBMS はほかにありません。
トランザクショナルおよびリレーショナル インターフェイスに加え、Pervasive PSQL は、Delphi と C++ Builder で OLE DB、Java(JDBC)、ActiveX、ADO、および Pervasive Direct Access Components(PDAC)を介してデータにアクセスする方法を提供します。
Btrieve インターフェイスを使用する場合、「テーブル」および「データベース」という用語は一般的に使用せず、データ ファイルがこれらの用語に相当します。さらに、Btrieve ユーザーは通常、「行」および「列」よりも「レコード」および「フィールド」という用語を使用します。
|