この項では、OLAP DMLに関連するOracle Database 11gの新機能をとりあげ、Oracle Database 9iおよびOracle Database 10gで追加、変更、名前の変更、または削除が行われたOracle OLAP DML文をリストします。
Oracle Database 11gでは、Oracle OLAP DMLに関して次の変更が加えられました。
また、OLAP DMLデータ構造のリレーショナル・ビューを作成するのに使用するOLAP_TABLE
SQLファンクションにいくつかの変更が加えられました。概要については、「SQL OLAP_TABLEファンクションの変更」を参照してください。
Oracle Database 11gでは、アナリティック・ワークスペースを作成および削除する場合に適切な権限が必要です。詳細は、「アナリティック・ワークスペースの作成および削除に必要な権限」を参照してください。
Oracle Database 11gでは、グルーピングIDへの追加サポートとして、次のOLAP DML文が追加または変更されました。
GROUPINGIDコマンドの新しいキーワードROLLUPおよびGROUPSET
新しいシステム・プロパティ$GID_DEPTH、$GID_LISTおよび$GID_TYPE
Oracle Database 11gでは、明示的なループ処理をサポートするために次の変更が加えられました。
ACROSSコマンドの新しいWHERE句。これを使用して、同コマンドでDOループをループ反復時に実行するかどうかを指定できます。
新しいループ処理のプロパティ$LOOP_AGGMAP、$LOOP_DENSEおよび$LOOP_VAR。これらのプロパティは、OLAP_TABLE SQLファンクションで使用します。
さらに、SQLファンクションOLAP_TABLEのlimitmapパラメータでは、より複雑なLOOP句や新たに最適化されたLOOP句がサポートされています。
Oracle Database 11gでは、集計を強化するために次の変更が加えられました。
パーティション別の集計。詳細は、AGGREGATEコマンドを参照してください。
様々なaggmapオブジェクトに基づく変数の値の消去。詳細は、CLEARコマンドを参照してください。
aggmapを使用して行った変数の最後の集計以降に、そのaggmapに対して変更が行われたかどうかのチェック。詳細は、CHANGEDRELATIONSファンクションを参照してください。
変数の最後の集計以降に、変数値が変更されたかどうか(または変更された値の個数)のチェック。詳細は、CHANGEDVALUESファンクションを参照してください。
変数またはそのいずれかのパーティションが値を持つかどうかのチェック。詳細は、ISEMPTYファンクションを参照してください。
階層の深さの特定。詳細は、HIERDEPTHコマンドを参照してください。
階層のシェイプの特定。詳細は、HIERSHAPEファンクションを参照してください。
Oracle Database 11gでは、キャッシュをサポートするようにAWコマンドが変更されました。これにより、繰り返しの問合せでアナリティック・ワークスペースを開く時間が短縮されます。
AWコマンドに、新しいPURGE CACHEキーワードが追加されました。
AW ATTACHコマンドでは、現在のアナリティック・ワークスペースを開くかわりに、使用可能な場合はキャッシュされているアナリティック・ワークスペースが使用されるようになりました。
AW DETACHコマンドに、新しいCACHEキーワードが追加されました。このキーワードにより、デタッチされているアナリティック・ワークスペースがキャッシュの候補になるように指定されます。
AW TRUNCATEコマンドが改良されました。
Oracle Database 11gでは、AWコマンドに次の変更が加えられました。
また、AWファンクションに、FROZENキーワードが追加されました。
Oracle Database 11gでは、SQLの組込みデータ型に対応する次のOLAP DMLデータ型が追加されました。
日時データ型と期間データ型。日時データ型を使用すると、ディメンションとサロゲートを定義できます。日時データ型と期間データ型の両方を使用して、変数、計算式およびプログラムを定義できます。詳細は、「日時データ型と期間データ型」、「日時式と期間式」および次のOLAP DML文を参照してください。
RAWデータ型。詳細は、「RAWデータ型」を参照してください。
行識別子データ型。詳細は、「行識別子データ型」を参照してください。
これらのデータ型の追加で影響を受けるOLAP DML文は、次のとおりです。
Oracle11gでは、同じ名前のSQLファンクションをベースとした次のファンクションがOLAP DMLに追加されました。
MOD
ファンクション・ベース)さらに
OLAP DMLのLOGファンクションは、対応するSQLファンクションに対してより正確に対応するように変更が加えられました。
OLAP DMLの新しいISINFINITEファンクションおよびISNANファンクションにより、SQLの浮動小数点条件と同様の情報が得られます。
このリリースでは、OLAP論理オブジェクト(キューブおよびキューブ・ディメンション)が、Oracleデータ・ディクショナリで定義されているOracleのファースト・クラス・データ・オブジェクトとして追加されています。これらのOLAP論理オブジェクトでは、アナリティック・ワークスペース自体で定義されている基礎となる多数のOLAP物理オブジェクトを重ね合わせます。
このリリースで追加されたOracle Database OLAPの新機能は、その多くがOLAPキューブおよびキューブ・マテリアライズド・ビューの使用をサポートするためのものです。
OLAPのキューブとキューブ・ディメンションを処理対象とする次のOLAP DMLプログラムが用意されています。
また、キューブに対応していないOLAP DML文をOLAPのキューブおよびキューブ・ディメンションで使用できるように、OBJORGファンクションが追加されています。
OLAP DMLでは次のような変更が行われており、これによってリレーショナルNULLファクトに対応するOLAPデータ・セルを最適に処理できるようになりました。
DEFINE VARIABLEコマンドでは新たにWITH NULLTRACKING句が使用できるようになりました。
NA2およびNAFLAGという2つのファンクションが新たに追加されました。Oracle OLAPでは、これら2つのファンクションから返される値に基づいて、OLAPデータ値がどのようにリレーショナル・ファクトに対応するのかが特定されます。
CHGDFNコマンドでは新たに、変数に対してNA2ビットの追加や削除を行うための構文が使用できるようになりました。
通常これらのOLAP DML文は、キューブ・マテリアライズド・ビューを作成する過程で自動的に生成されるため、これらの新機能を使用するDMLコードを明示的に記述することはありません。これらの変更点については、自動生成されるDML文を理解できるように、このマニュアルで説明します。
また、EXPORT(EIF)コマンドとIMPORT(EIF)コマンドのデフォルトの動作は、キューブのメタデータのエクスポートとインポートです。この動作を要求しない場合に指定するキーワード(NOAPI)が新たに追加されました。
OLAP DMLの以前のリリースでは、DEFINE COMPOSITEコマンドを使用してコンポジットを定義した場合、コンポジットを別のコンポジットのベース・オブジェクトとして指定できました。しかし、この機能が使用されることはほとんどありませんでした。Oracle Database 11gでは、コンポジットのベース・オブジェクトになることができるのはディメンションのみです。ネストされたコンポジットが既存のアナリティック・ワークスペースに存在するときに、そのアナリティック・ワークスペースをOracle Database 11gアナリティック・ワークスペースに変換する場合や、ネストされた前のバージョンのコンポジットをOracle Database 11gのアナリティック・ワークスペースにインポートする場合、IMPORT(EIF)によってコンポジットのネストが自動的に解除されます。
ディメンションのステータス・リストが複数ある場合があります。新しいSTATCURRファンクションを使用すると、ディメンションのステータス・リスト・スタック内のリストの位置に基づいてステータス・リストからステータス・リスト値を取得できます。
この項では、Oracle Database 11gにおいて追加、変更、名前の変更または削除が行われたOLAP DML文をリストします。
Oracle Database 11gでは、次の文がOLAP DMLに追加されました。カッコ内の番号は、文が追加されたリリースを示しています。
Oracle Database 11gでは、次の文がOLAP DMLから削除されました。カッコ内の番号は、文が削除されたリリースを示しています。
Oracle Database 11gでは、OLAP DMLの次の文が変更されました。カッコ内の番号は、文が変更された最新のリリースを示しています。
この項では、Oracle Database 10gにおいて追加、変更、名前の変更または削除が行われたOLAP DML文をリストします。
Oracle Database 10gでは、次の文がOLAP DMLに追加されました。カッコ内の番号は、文が追加されたリリースを示しています。
Oracle Database 10gでは、次の文がOLAP DMLから削除されました。カッコ内の番号は、文が削除されたリリースを示しています。
Oracle Database 10gでは、次のOLAP DML文が大幅に変更されました。大幅な変更には、新しいキーワードの追加やデフォルト値の変更などがあります。カッコ内の番号は、文が大幅に変更された最新のリリースを示しています。
この項では、Oracle Database 9iで変更が行われたOLAP DML文をリストします。
Oracle Database 9iでは、次の文がOLAP DMLに追加されました。カッコ内の番号は、文が追加されたリリースを示しています。
Oracle Database 9iでは、次の文がOLAP DMLから削除されました。カッコ内の番号は、文が削除されたリリースを示しています。
次に示すのは、Oracle Database 9iで大幅に変更され、それ以降は変更されていないOLAP DML文です。大幅な変更には、新しいキーワードの追加やデフォルト値の変更などがあります。カッコ内の番号は、文が大幅に変更された最新のリリースを示しています。名前が変更された文のリストは、「Oracle Database 9iで名前が変更された文」を参照してください。
Oracle Database 9iでは、次のOLAP DML文の名前が変更されました。カッコ内の番号は、文の名前が変更されたリリースを示しています。