この節では、データ・ソース・テーブルおよび視点にアクセスし、使用するのに役立つ情報を提供します。ここでは、以下のトピックについて説明します。
通称 とは、アプリケーションがデータ・ソース表または視点を参照するための識別子です。この節では、以下の事柄を扱います。
データ・ソース表または視点に通称が付けられると、 DB2 は、この表または視点からデータを検索する方法を計画する際に最適化プログラムが使用できる情報でグローバル・カタログを更新します。この情報には、一例として、表または視点の名前、および表の列または視点の列の名前と属性が含まれます。
表の場合には、以下の情報も含まれます。
グローバル・カタログにデータ・ソース表についてのどのような情報が保管されているかを調べるには、 SYSCAT.TABLES および SYSCAT.COLUMNS カタログ視点を照会します。カタログに表の索引についてのどのような情報が保管されているか、または特定の索引視点に何が含まれているかを調べるには、 SYSCAT.INDEXES カタログ視点を照会します。これらの視点の詳細については、 SQL 解説書 を参照してください。表および索引の情報でグローバル・カタログを更新することの詳細については、 管理の手引き: インプリメンテーション を参照してください。
以下の作業を実行する際には、いくつかの考慮事項および制約事項に注意する必要があります。
CREATE NICKNAME、CREATE ALIAS、および DROP NICKNAME ステートメントについての資料は、 SQL 解説書 を参照してください。
表または視点に通称を定義する際には、グローバル・カタログに、表または視点の特定の列についての情報を提供することができます。この情報は、 列オプション と呼ばれるパラメーターに割り当てた値の形式で指定します。値は、大文字でも小文字でも指定できます。 表 27 では、列オプションとそれらの値を説明します。
オプション | 有効な設定 | 省略時設定 |
---|---|---|
numeric_string |
列の numeric_string を 'y' と設定することにより、この列にはブランクが含まれていないことを最適化プログラムに通知することになります
(ブランクがあると、列のデータの分類ができなくなる可能性があります)。
| 'n' |
varchar_no_trailing_blanks | 特定の VARCHAR 列に後書きブランクがないかどうかを指示します。
データ・ソース VARCHAR 列に埋め込みブランクが含まれていない場合、最適化プログラムがこの列にアクセスする戦略は、後書きブランクが含まれているかどうかということに依存してきます。省略時では、最適化プログラムは、後書きブランクが実際に入っているものと"みなします"。この前提のもとで、最適化プログラムは照会の修正に関係するアクセス戦略を開発するので、結果として、これらの列から戻される値はユーザーが予期したものとなります。しかし、VARCHAR 列に後書きブランクがなく、そのことを最適化プログラムに認識させると、アクセス戦略の開発はさらに効果的になります。特定の列に後書きブランクがないことを最適化プログラムに通知するには、この列を ALTER NICKNAME ステートメントに指定します (指針については、 SQL 解説書 を参照してください)。 | 'n' |
ALTER NICKNAME ステートメントで列オプションを設定します。このステートメントの詳細については、 SQL 解説書 を参照してください。
視点で通称を使用するには、主に次の 2 つの方法があります。
データ・ソース・データが連合データベース視点を作成する処置は、 "通称での視点の作成"と呼ばれることがあります。この句は、作成される視点について、CREATE VIEW ステートメントの全選択が、その視点に含まれることになるそれぞれの表および視点の通称を参照しなければならないことを示唆しています。
視点には、それ自体の統計または索引はありません。視点はデータベース上にある実際の表ではないためです。このことは、視点の構造および内容が単一基礎表と全く同じである場合であっても、当てはまります。統計および索引の詳細については、 管理の手引き: インプリメンテーション を参照してください。
データ・ソース表のデータ保全性を保守するには、その表の行が特定の分離レベルでロックされるように要求します。たとえば、ある行へのアクセスを 1 つに限るには、この行に反復可能読み取り (RR) 分離レベルを指定します。
連合サーバーは、要求する分離レベルを、データ・ソースの対応するレベルにマップします。これを説明するために、 表 28 では以下のものをリストします。
表 28. 連合サーバーと Oracle データ・ソースの分離レベルの比較
連合サーバー (DB2) | CS | RR | RS | UR |
Oracle | 省略時値 | トランザクション読み取り専用 | トランザクション読み取り専用 | カーソル固定と同じ |