SQLデータベース
SQL標準 / Unicodeのサポート
InterBaseは、SQL準拠のデータベースです。SQL92に準拠したほか、追加された機能も業界標準に準拠しています。Unicodeサポートにより、InterBaseはさまざまな文字セットに対応しており、世界各国で活用されています。
InterBaseは、複数のJOINを含む広範なSQL言語機能を提供します。
トランザクションとマルチジェネレーショナルアーキテクチャ
InterBaseで変更を行う場合、まず、トランザクションをスタートします。トランザクションは、データのライブビューあるいはスナップショットビューを利用できる、いくつかのオプションを使って接続できます。これは、InterBaseに搭載されたマルチジェネレーショナルアーキテクチャが実現するものです。
マルチジェネレーショナルアーキテクチャは、特にレポーティングに威力を発揮します。一貫したデータベースのスナップショットに接続できるため、同一条件下での比較が可能です。同じく重要な点は、マルチジェネレーショナルアーキテクチャでは、リーダー側が、ライターによる変更を妨げないことです。これにより、データベースのスケーラビリティを高め、オンラインバックアップや変更ビューといった他の主要機能の実行も可能になります。
イベントアラータ
共有のデータベースにおける変更をクライアントサイドでどのように検知するかは、開発者が常に対応しなければならない課題です。IntereBaseのイベント機能を用いれば、データが変更されたことを、接続しているクライアントにリアルタイムで通知できます。通知イベントは、変更トランザクションがコミットされると直ちに送信されます。これにより、CPUに集中するデータベースのポーリングが節約され、データベースのスケーラビリティが向上します。さらに、変更ビュー機能を用いれば、イベントによりサーバーから変更差分のみを取得し、最短でデータ変更をフェッチでき、ネットワークトラフィックと関連するデータ転送のコストを削減できます。
変更ビュー
変更ビューは、開発者がデータベース内の変更の有無を確認できる特許出願中の機能です。変更ビューの操作は簡単です。後続のトランザクションで同じSQLステートメントを実行すると、変更差分のみが返されます。これによって、フェッチとデータ変更の確認が非常に簡単になります。
変更ビューは、InterBaseのマルチジェネレーショナルアーキテクチャと連携して、常時、適切なブリーフケースデータを反映させるため、同じデータを繰り返しフェッチする必要がなくなり、アプリケーションのパフォーマンス強化、ネットワークトラフィックとコスト低減を実現します。
管理されたフィールド定義/ドメイン
InterBaseドメインでは、特定のフィールド型(例:VarChar(20) / Integer等)を定義、そのフィールド属性を定義することができます(例:null値を指定できるか、あるいは指定可能な値の範囲を定義する等)。InterBaseドメインを用いれば、データベース内で横断的に同一のフィールド型を管理できます。これにより、同一のフィールド型をどこでも簡単に追加でき、一度定義したフィールド型を、データベース全体にわたって容易にアップデートすることができます。
ストアドプロシージャ
InterBaseのストアドプロシージャを用いれば、サーバーサイド関数をデータベースエンジンに組み込む形でコンパイルでき、更新も容易な、クライアントから呼び出し可能なビジネスロジックを構築できます。例えば、出荷、注文、新規顧客の登録など、無限の可能性があります。またストアドプロシージャに対してSELECT文を実行し、データのカスタムレイアウトを返すこともできます、さらに、ストアドプロシージャ内にSQL文を記述し、データの投入、フェッチなどに対して、処理を実行することもできます。
トリガー
トリガーは、次のようなさまざまな用途に用いることができる強力な機能です。
- 相関更新を実行(例:変更のログファイルをデータベースやテーブルに保管)
- データ制限を実行し、有効なデータのみテーブルに入力されるよう強制
- データの自動変換(例:入力したテキストを自動的に大文字に変換する)
- イベントアラータを用いてデータベース内の変更の適用を通知
- 参照整合性の更新のカスケーディングを実行
ジェネレータ
ジェネレータを用いれば、一般的にInterBase内の主キーに用いられるシリアルナンバーをフェッチすることができます。ジェネレータは、複数のデータベーストランザクション間で機能するため、同一キーを重複してアサインすることはありません。これにより、InterBaseではデータベースにおける主キーの生成を、データベース側に任せることができます。
カスタム例外
InterBaseでは、投入されるデータを管理するためのデータベースロジックを構築できます。データが更新される前に呼び出されるストアド プロシージャとトリガーを併用することで、無効なデータが投入されたときにサーバーからカスタム例外を発行することができます。