プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド
12c (12.2.1.4.0)
E96106-04
目次へ移動
目次

前
次

E Oracle BI Enterprise Editionでサポートされているデータ型

このトピックでは、Oracle BI EEでサポートされているデータ型を示して説明し、データ型の制限事項、その他のOracle BIサーバーの制限事項および浮動小数点の制限事項に関する情報を示します。

Oracle BIサーバーnqcmdユーティリティを使用してNQSGetSQLDataTypesプロシージャを実行し、データ型に関する情報を取得する方法を学習します。

データ・ソースからリポジトリの物理レイヤーにメタデータをインポートする場合、各列にデータ型が割り当てられます。データ型は、特定の格納形式、制約および有効な値の範囲と関連付けられています。

この付録の内容は次のとおりです。

Oracle BI EEでサポートされているデータ型カテゴリ

Oracle BI EEでサポートされているデータ型についてカテゴリ(数値データや日付データなど)別に学習します。

「NQSGetSQLDataTypesプロシージャを使用したデータ型情報へのアクセス」および「Oracle BI EEデータ型の制限事項」を参照してください。

テキスト・データ

Oracle BI EEでは、3つの文字データ型がサポートされています。

テキスト・データ型は次のとおりです。

  • CHAR

  • LONGVARCHAR

  • VARCHAR

数値データ

Oracle BI EEでサポートされている数値データ型について学習します。

Oracle BI EEでは、次の数値データ型がサポートされています。

  • BIGINT

  • DECIMAL

  • DOUBLE

  • FLOAT

  • INTEGER

  • NUMERIC

  • REAL

  • SMALLINT

  • TINYINT

日時データ

Oracle BI EEでは、次の日時データ型がサポートされています。
  • DATE

  • TIME

  • TIMESTAMP

バイナリ・データ

Oracle BI EEでは、数多くのバイナリ・データ型がサポートされています。

サポートされているバイナリ・データ型は次のとおりです。

  • BIT

  • BINARY

  • LONGVARBINARY

  • VARBINARY

NQSGetSQLDataTypesプロシージャを使用したデータ型情報へのアクセス

Oracle BI EEでサポートされているデータ型のリストにアクセスするには、Oracle BIサーバーのnqcmdユーティリティを使用してNQSGetSQLDataTypesプロシージャを実行します。

例: call NQSGetSQLDataTypes(0);

このプロシージャを実行すると、結果には、サポートされているデータ型のリストと、各データ型に固有の情報(大/小文字の区別や検索の可否など)が含まれます。

「リポジトリのテストおよび絞込みのためのnqcmdの使用方法」を参照してください。

Oracle BI EEデータ型の制限事項

この表は、サポートされているデータ型およびその制限事項を示しています。

管理者またはリポジトリ作成者は、この情報を使用して特定のデータ型が特定の列または値セットに適しているかどうかを評価したり、データ型が必要な値をすべて表すことができるかどうかを判断できます。

たとえば、OracleデータベースのINTEGER列では、非常に広範囲の値(10進数で最大38桁まで)がサポートされていますが、Oracle BI EEINTEGERデータ型は32ビットのバイナリ整数型であるため、データ・オーバーフロー(切捨て)問題を発生させずに最大9桁まで保持できます。列で[-2,147,483,648, 2,147,483,647]の範囲の値を保持する場合、Oracle BI EEINTEGERデータ型を使用する必要があります。しかし、この列にこの範囲を超える値が格納される場合は、NUMERICVARCHARなどの別のデータ型を使用する必要があります。

列の予期される値の範囲を表すことができる最小(バイト数)のデータ型を選択します。このようにデータ型を選択すると、キャッシュ・ファイルや一時ファイルなどについてOracle BIサーバーで消費されるメモリー容量およびディスク領域量が減ります。

データ型 制約

BIG INT

JDBCおよびOracle BI管理ツールではこの型がサポートされていません。したがって、Oracle BI EEではBIG INT型が完全サポートされていません。BIG INT型は、C言語のint64データ型と同じになるよう意図されています。

BINARY

Oracle BI EEでは、BINARY型が完全サポートされていません。Oracle BI EEでは、データ型が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

DECIMAL型は、NUMERIC型と同じです。

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

LONGVARBINARY型では、最大32,678バイトまでサポートされます。

LONGVARCHAR

LONGVARCHAR型では、最大32,678バイトまでサポートされます。LONGVARCHAR型とVARCHAR型の両方で、Unicode値がサポートされます。

NUMERIC

NUMERIC型は、真の10進データ型で22バイトを占有します。内部表現と制限事項は、Oracle NUMBERデータ型と同じです。

NUMERIC型では、1 x 10^-130から9.999...9 x 10^125までの範囲で、最大38有効桁の正数がサポートされます。精度とスケールは、リポジトリに格納されません。スケールは、10と想定されます。

REAL

REAL型の説明と制限事項はFLOAT型と同じです。

SMALLINT

SMALLINT型は、 BIサーバーではINTEGER型として内部的に表され、INTEGERデータ型と同じ制限事項があります。

TIME

TIME型は、時間、分および秒の構成要素のみを表します。

TIMESTAMP

TIMESTAMP型は、年、月、日、時間、分および秒の構成要素を表します。プラットフォームのデータ・ソースによっては、小数秒もサポートできます。

TINYINT

TINYINT型は、BIサーバーではINTEGERとして内部的に表されます。TINYINT型とINTEGER型の制限事項は同じです。

VARBINARY

VARBINARY型は、LONGVARBINARY型のかわりに使用できます。VARBINARY型とLONGVARBINARY型の制限事項は同じです。

VARCHAR

VARCHAR型は、LONGVARCHAR型のかわりに使用できます。VARCHAR型とLONGCARCHAR型の制限事項は同じです。

Oracle BI管理ツールを使用すると、最大文字長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サーバーには次の制限事項があります。

  • デフォルトでは、Oracle BIサーバーのすべてのフィールドの最大長は32,678バイトです。このデフォルトの制限を変更するには、OBIS_MAX_FIELD_SIZE環境変数を設定します。

  • デフォルトでは、すべてのSQL識別子(表名や列名など)の最大長は128文字です。

「Oracle BI EEデータ型の制限事項」を参照してください。

Oracle DatabaseからOracle BI EEデータ型へのマッピング

Oracleデータベースからメタデータをインポートする場合、管理ツールでは、表のマッピングを使用してインポートされる各列の対応するOracle BIサーバーのデータ型を判別します。

Oracle BI EEデータ型にマップされるOracle 12cデータ型は、ご使用のデータベースの種類によって異なります。

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

サポートされていません