Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere 12 紹介 » データ管理テクノロジ » リレーショナルデータベースの概念

 

その他のデータベースオブジェクト

リレーショナルデータベースは、関連テーブルのセット以上のものがあります。リレーショナルデータベースには、次のオブジェクトもあります。

  • インデックス   インデックスを使用すると、情報をすばやく検索できます。概念的には、データベース内のインデックスは本の索引と同じです。本の場合、索引は、索引にリストされたそれぞれの用語と、その語が記載されているページを関連付けています。データベースの場合、インデックスは、インデックス付けされたカラムの値と、その値を含むデータのローが格納されている物理的なロケーションを関連付けます。

    インデックスは、パフォーマンスを高めるための重要な設計要素です。通常は明示的に作成する必要がありますが、プライマリキー、外部キー、ユニークカラムのインデックスは自動的に作成されます。作成されたインデックスは、ユーザーに対して透過的に機能します。インデックスを参照してください。

  • テキストインデックス   テキストインデックスには、インデックス化されたすべてのカラム内の全単語の出現箇所の詳細な位置情報が含まれます。全文検索を実行する場合、テキストインデックスを使用して、一致するローが検索されます。このため、テキストインデックスを使用したクエリは、テーブル内のすべての値をスキャンする必要があるクエリよりも高速になる可能性があります。テキストインデックスの概念と参照全文検索を参照してください。

  • ログインポリシー   ログインポリシーは、ユーザーのデータベース接続を作成するときに適用されるルールセットで構成されます。ログインポリシーを参照してください。

  • ビュー   ビューは、一時的なテーブルです。ビューはクライアントアプリケーションからはテーブルのように見えますが、データは入っていません。ビューにアクセスすると、その中の情報は基本となるテーブルから計算されます。

    実際に情報が保持されるテーブルは、ビューと区別するために「ベーステーブル」と呼ぶことがあります。ビューは、ベーステーブルまたはその他のビューに対する SQL クエリによって定義付けられます。

    ビューを参照してください。

  • マテリアライズドビュー   SQL Anywhere はマテリアライズドビューもサポートしています。マテリアライズドビューとは、ベーステーブルとよく似ていて、結果セットが計算されてディスクに格納されるビューです。概念としては、マテリアライズドビューはビューでもあり (クエリ指定がある)、テーブルでもあります (永続的な実体化したローがある)。したがって、テーブルで実行する多くの操作は、マテリアライズドビューでも実行できます。たとえば、マテリアライズドビューに対して、インデックス構築やアンロードを実行できます。

    マテリアライズドビューは、データベースが大きく、頻繁なクエリで大量のデータに対して集約操作とジョイン操作が発生し、かつ最新のデータにアクセスすることが重大な要件ではないような環境に最適です。マテリアライズドビューを参照してください。

  • ストアドプロシージャーとトリガー   これらは、データベースに保持され、データベース内の情報に作用するルーチンです。

    独自のストアドプロシージャーを作成して名前を付けると、特定のデータベースクエリを実行したり、他のデータベースタスクを実行したりすることができます。ストアドプロシージャーは、パラメーターと結果セットを受け入れることができます。たとえば、プロシージャーの呼び出しのパラメーターに指定した値よりも多い金額を使った顧客名をすべて返すといったストアドプロシージャーを作成できます。

    トリガーとは、ユーザーがデータを更新、削除または挿入すると自動的に呼び出される特別なストアドプロシージャーで、更新、削除、挿入のどの場合に起動するかは、トリガーをどのように定義したかによって異なります。トリガーは、テーブル自体またはテーブル内のカラムと対応させます。トリガーは、データベース内で自動的にビジネス規則の管理を行う場合に有用です。

    データベースには、Java クラスもインストールできます。Java クラスは、ロジックをデータベースに組み込む強力な方法を提供します。SQL Anywhere で使用する Java クラスの作成を参照してください。

    ストアドプロシージャー、トリガー、バッチ、ユーザー定義関数を参照してください。

  • ユーザーとグループ   データベースの各ユーザーは、ユーザー ID とパスワードを所有しています。ユーザーごとにパーミッションを設定できるため、機密情報の漏洩や、ユーザーに認可されていない変更の実行を防げます。パーミッションの管理を容易にするために、ユーザーをグループに割り当てることができます。

    ユーザー ID、権限、パーミッションを参照してください。

これらの共通のデータベースオブジェクトに加え、SQL Anywhere は次の高度な機能を提供します。