Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド 11g リリース1 (11.1.1) B63028-07 |
|
前 |
次 |
この付録では、Oracle BI EEでサポートされているデータ型のリストを示し、説明します。この付録には、データ型の制限事項、その他のOracle BIサーバーの制限事項および浮動小数点の制限事項に関する情報が記載されています。また、Oracle BIサーバーのnqcmd
ユーティリティを使用してNQSGetSQLDataTypes
プロシージャを実行し、データ型に関する情報を取得するための手順も記載されています。
データ・ソースからリポジトリの物理レイヤーにメタデータをインポートする場合、各列にデータ型が割り当てられます。データ型は、特定の格納形式、制約および有効な値の範囲と関連付けられています。
この付録の内容は以下のとおりです。
ここでは、Oracle BI EEでサポートされているデータ型をカテゴリ(数値データ、日付データなど)別に示します。特定のデータ型の詳細は、「NQSGetSQLDataTypesプロシージャを使用したデータ型情報へのアクセス」および「Oracle BI EEデータ型の制限事項」を参照してください。
Oracle BI EEでサポートされているデータ型のリストにアクセスするには、Oracle BIサーバーのnqcmd
ユーティリティを使用してNQSGetSQLDataTypes
プロシージャを実行します。例: call NQSGetSQLDataTypes(0);
このプロシージャを実行すると、結果には、サポートされているデータ型のリストと、各データ型に固有の情報(大/小文字の区別や検索の可否など)が含まれます。
Oracle BIサーバーのnqcmdユーティリティの開き方と使用方法の詳細は、「リポジトリのテストおよび絞込みのためのnqcmdの使用方法」
を参照してください。
次の表に、サポートされている各データ型とその制限事項を示します。管理者またはリポジトリ作成者は、この情報を使用して特定のデータ型が特定の列または値セットに適しているかどうかを評価したり、データ型が必要な値をすべて表すことができるかどうかを判断できます。
たとえば、OracleデータベースのINTEGER列では、非常に広範囲の値(10進数で最大38桁まで)がサポートされていますが、Oracle BI EEのINTEGERデータ型は32ビットのバイナリ整数型であるため、データ・オーバーフロー(切捨て)問題を発生させずに最大9桁まで保持できます。列で[-2,147,483,648, 2,147,483,647]の範囲の値を保持する場合、Oracle BI EEのINTEGERデータ型を使用する必要があります。しかし、この列にこの範囲を超える値が格納される場合は、NUMERICやVARCHARなどの別のデータ型を使用する必要があります。
列の予期される値の範囲を表すことができる最小(バイト数)のデータ型を選択します。このようにデータ型を選択すると、キャッシュ・ファイル、一時ファイルなどについてBIサーバーで消費されるメモリー容量およびディスク領域量が減ります。
表F-1 データ型の制限事項
データ型 | 制約 |
---|---|
BIG INT |
JDBCおよび管理ツールではこの型がサポートされていません。したがって、Oracle BI EEではBIG INT型が完全サポートされていません。BIサーバーではBIG INT型が一部サポートされてはいますが、この型はOracle BIサーバーで徹底的にテストされているわけではありません。BIG INT型は、C言語のint64データ型と同じになるよう意図されています。 |
BINARY |
Oracle BI EEでは、BINARY型が完全サポートされていません。BIサーバーでは、データ型がBINARYの列のフェッチのみサポートされています。BIサーバーでは、bindパラメータまたはinsert文でBINARY型がサポートされていません。 |
BIT |
Oracle BI EEでは、BIT型が完全サポートされていません。ブール・データを表すには、かわりにINT型またはCHAR型を使用する必要があります。 |
CHAR |
CHAR型の値は常に、データ型で指定された長さと等しくなるように後ろに空白文字が埋め込まれます。CHAR型では、Unicode値がサポートされます。Windowsプラットフォームでは、ストレージは文字ごとに2バイトです。すべてのUNIX 64ビット・プラットフォームでは、ストレージは文字ごとに4バイトです。 |
DATE |
DATE型は、年、月および日の構成要素のみを表します。Oracle DATEデータ型のように、時間、分または秒を表しません。 |
DECIMAL |
|
DOUBLE |
DOUBLE型は、IEEE 754 64ビット倍精度バイナリ浮動小数点データ型と同じです。内部ストレージは8バイトです。仮数は53ビットを占有します(符号ビットを含む)。そのため、精度は10進数で約16桁に制限されます。指数は11ビットを占有します。指数の範囲は、10進数値として約±307です。 この型の制限事項の詳細は、「浮動小数点の制限事項」を参照してください。 |
INTEGER |
INTEGER型は、符号付きバイナリ整数データ型で、4バイトを占有します。表現可能な最大値は2,147,483,647、最小値は-2,147,483,648です。 |
FLOAT |
FLOAT型は、IEEE 754 32ビット単精度バイナリ浮動小数点データ型と同じです。内部ストレージは4バイトです。仮数は24ビットを占有します(符号ビットを含む)。そのため、精度は10進数で約7桁に制限されます。指数は8ビットを占有します。指数の範囲は、10進数値として約±38です。 この型の制限事項の詳細は、「浮動小数点の制限事項」を参照してください。 |
LONGVARBINARY |
|
LONGVARCHAR |
LONGVARCHAR型では、最大32,678バイトまでサポートされます。LONGVARCHAR型とVARCHAR型の両方で、Unicode値がサポートされます。 |
NUMERIC |
NUMERIC型は、真の10進データ型で22バイトを占有します。内部表現と制限事項は、Oracle NUMBERデータ型と同じです。 NUMERIC型では、1 x 10-130から9.999...9 x 10125までの範囲で、最大38有効桁の正数がサポートされます。精度とスケールは、リポジトリに格納されません。スケールは、10と想定されます。 |
REAL |
|
SMALLINT |
SMALLINT型は、BIサーバーではINTEGER型として内部的に表され、INTEGERデータ型と同じ制限事項があります。 |
TIME |
|
TIMESTAMP |
TIMESTAMP型は、年、月、日、時間、分および秒の構成要素を表します。プラットフォームのデータ・ソースによっては、小数秒もサポートできます。 |
TINYINT |
TINYINT型は、BIサーバーではINTEGERとして内部的に表されます。TINYINT型とINTEGER型の制限事項は同じです。 |
VARBINARY |
VARBINARY型は、LONGVARBINARY型のかわりに使用できます。VARBINARY型とLONGVARBINARY型の制限事項は同じです。 |
VARCHAR |
VARCHAR型は、LONGVARCHAR型のかわりに使用できます。VARCHAR型とLONGCARCHAR型の制限事項は同じです。 管理ツールを使用すると、最大文字長2,147,483,647を入力できます。ただし、実際にサポートされている最大長は32,678です。 |
数値には、FLOATやDOUBLEなどのバイナリ浮動小数点データ型では正確に表せないものがあります。10進数からバイナリ浮動小数点表現への変換またはその逆の変換の場合、バイナリ浮動小数点形式の表現上の制限事項のために端数処理エラーが発生することがよくあります。たとえば、1.365などの10進数をDOUBLE型に変換する場合、1.364999999999999と表されます。この数値は、小数点以下3桁に端数処理され、結果は1.365です。しかし、この数値を小数点以下2桁に端数処理すると、結果は1.36であり、1.37ではありません。
Oracle BIサーバーでは、RDBMSおよびTimesTenのデータ・ソースに対してNUMERIC型がサポートされています。FLOAT型およびDOUBLE型の制限事項を回避するには、FLOATおよびDOUBLEのデータ型をNUMERIC型に更新することをお薦めします。NUMERICデータ型への切替え以外に、バイナリ浮動小数点データ型でこの潜在的制限事項を修正する回避策はありません。
データ型の制限事項に加えて、Oracle BIサーバーには次の制限事項があります。
サポートされているデータ型とその制限事項の詳細は、「Oracle BI EEデータ型の制限事項」を参照してください。
Oracleデータベースからメタデータをインポートする場合、管理ツールでは、表F-2のマッピングを使用してインポートされる各列の対応するOracle BIサーバーのデータ型を判別します。データ型がどのようにOracle BI EEデータ型にマップされるかは、ご使用のデータベースの種類によって異なります。
Oracle Databaseデータ型の詳細は、『Oracle Database概要』の第26章「Oracleデータ型」を参照してください。
表F-2 データ型のマッピング
Oracle Databaseデータ型 | Oracle BI EEデータ型 |
---|---|
CHAR |
CHAR |
NCHAR |
CHAR |
VARCHAR2 |
VARCHAR |
NVARCHAR2 |
VARCHAR |
NUMBER |
ENABLE_NUMERIC_DATA_TYPE = YESの場合はNUMERIC、それ以外の場合はDOUBLE |
NUMBER (precision, scale) |
scale = 0かつ1 <= precision <= 9の場合はINT、それ以外の場合はNUMBERと同じ |
BINARY_FLOAT |
FLOAT |
BINARY_DOUBLE |
DOUBLE |
DATE |
DATETIME |
TIMESTAMP |
TIMESTAMP |
TIMESTAMPWITHTIMEZONE |
TIMESTAMP |
TIMESTAMPWITHLOCALTIMEZONE |
TIMESTAMP |
BLOB |
LONGVARBINARY |
CLOB |
LONGVARCHAR |
NCLOB |
LONGVARCHAR |
BFILE |
サポート対象外 |
LONG |
LONGVARCHAR |
LONG RAW |
サポート対象外 |
ROWID |
CHAR |
XML型 |
LONGVARBINARY |
UriType |
サポート対象外 |