アプリケーション開発の手引き

データ・ソース表および視点へのアクセス

この節では、データ・ソース・テーブルおよび視点にアクセスし、使用するのに役立つ情報を提供します。ここでは、以下のトピックについて説明します。

通称による作業

通称 とは、アプリケーションがデータ・ソース表または視点を参照するための識別子です。この節では、以下の事柄を扱います。

データ・ソース表および視点についての情報のカタログ

データ・ソース表または視点に通称が付けられると、 DB2 は、この表または視点からデータを検索する方法を計画する際に最適化プログラムが使用できる情報でグローバル・カタログを更新します。この情報には、一例として、表または視点の名前、および表の列または視点の列の名前と属性が含まれます。

表の場合には、以下の情報も含まれます。

グローバル・カタログにデータ・ソース表についてのどのような情報が保管されているかを調べるには、 SYSCAT.TABLES および SYSCAT.COLUMNS カタログ視点を照会します。カタログに表の索引についてのどのような情報が保管されているか、または特定の索引視点に何が含まれているかを調べるには、 SYSCAT.INDEXES カタログ視点を照会します。これらの視点の詳細については、 SQL 解説書 を参照してください。表および索引の情報でグローバル・カタログを更新することの詳細については、 管理の手引き: インプリメンテーション を参照してください。

考慮事項および制約事項

以下の作業を実行する際には、いくつかの考慮事項および制約事項に注意する必要があります。

通称の定義、変更、および除去

CREATE NICKNAME、CREATE ALIAS、および DROP NICKNAME ステートメントについての資料は、 SQL 解説書 を参照してください。

通称による表および視点の参照

通称の付いた表または視点での操作の実行

列オプションの定義

表または視点に通称を定義する際には、グローバル・カタログに、表または視点の特定の列についての情報を提供することができます。この情報は、 列オプション と呼ばれるパラメーターに割り当てた値の形式で指定します。値は、大文字でも小文字でも指定できます。 表 27 では、列オプションとそれらの値を説明します。


表 27. 列オプションとその設定
オプション 有効な設定 省略時設定
numeric_string

'y'
はい。この列には数字データのストリングだけが含まれています。重要: この列に、数値データに後書きブランクが続いたストリングしか含まれていない場合には、 'y' を指定しないようにお勧めします。

'n'
いいえ。この列は数字データのストリングに限定されません。

列の numeric_string を 'y' と設定することにより、この列にはブランクが含まれていないことを最適化プログラムに通知することになります (ブランクがあると、列のデータの分類ができなくなる可能性があります)。

'n'
varchar_no_trailing_blanks 特定の VARCHAR 列に後書きブランクがないかどうかを指示します。

'y'
はい。後書きブランクは、この VARCHAR 列にはありません。

'n'
いいえ。後書きブランクは、この VARCHAR 列にあります。

データ・ソース VARCHAR 列に埋め込みブランクが含まれていない場合、最適化プログラムがこの列にアクセスする戦略は、後書きブランクが含まれているかどうかということに依存してきます。省略時では、最適化プログラムは、後書きブランクが実際に入っているものと"みなします"。この前提のもとで、最適化プログラムは照会の修正に関係するアクセス戦略を開発するので、結果として、これらの列から戻される値はユーザーが予期したものとなります。しかし、VARCHAR 列に後書きブランクがなく、そのことを最適化プログラムに認識させると、アクセス戦略の開発はさらに効果的になります。特定の列に後書きブランクがないことを最適化プログラムに通知するには、この列を ALTER NICKNAME ステートメントに指定します (指針については、 SQL 解説書 を参照してください)。

'n'

ALTER NICKNAME ステートメントで列オプションを設定します。このステートメントの詳細については、 SQL 解説書 を参照してください。

視点での通称の使用

視点で通称を使用するには、主に次の 2 つの方法があります。

視点には、それ自体の統計または索引はありません。視点はデータベース上にある実際の表ではないためです。このことは、視点の構造および内容が単一基礎表と全く同じである場合であっても、当てはまります。統計および索引の詳細については、 管理の手引き: インプリメンテーション を参照してください。

データ保全性を保守するための分離レベルの使用

データ・ソース表のデータ保全性を保守するには、その表の行が特定の分離レベルでロックされるように要求します。たとえば、ある行へのアクセスを 1 つに限るには、この行に反復可能読み取り (RR) 分離レベルを指定します。

連合サーバーは、要求する分離レベルを、データ・ソースの対応するレベルにマップします。これを説明するために、 表 28 では以下のものをリストします。


表 28. 連合サーバーと Oracle データ・ソースの分離レベルの比較
連合サーバー (DB2) CS RR RS UR
Oracle 省略時値 トランザクション読み取り専用 トランザクション読み取り専用 カーソル固定と同じ


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]