つまり、データベースの各レコードは、必ず「一意な」データと関連付けられているということです。
データは複数のテーブルに分けて格納され、各テーブル間はリンクされています。重複したデータを持つことを極力避けるため、また、各データをデータ名でなく一意な番号で識別するためにこのような構成を取っています。
【例】 ブール型変数 "Var1" のデータはあるテーブル内では以下のように定義されています: Name : Var1 Type : 1 また別のテーブルでは、レコードを "1 = BOOL" とするかわりに以下のような形式でデータを管理しています: Name: Var1 Type : BOOL |
全てのオブジェクトへの参照は、テーブル内で一意な番号で表現されます。この番号はデータベースでのキーとして使用されます。このキーによってデータ要素を容易に参照することができます。
このような種類のデータは、1つか2つのテーブルにまとめて保存されているよりも、複数のテーブルに分割された形態で保存されている方が、結果として必要な情報をすばやく探し出すことができます。
データベース内部の「リクエスト」処理自体は高速です。もしパフォーマンスに問題がある場合は、データベース自体よりも、プログラム側の問題であるケースが多いです。
また、データベース内では複数の単純リクエストを別々に発行するよりも、組み合わせた命令を1回だけ発行する方が高速です。これはデータベースアクセスを行うにはそれなりの時間がかかるので、アクセス回数を制限した方がトータルの時間が短くて済むためです。このため、データベースに検索リクエストの高速化を計るためのインデックスフィールドが追加されている場合があります。
プロジェクトデータの詳細については、「ISaGRAF Ver.4/5 開発ツールキット」のユーザーズマニュアルの「ワークベンチ」-「MS Accessデータベース」の章をご覧下さい。