テーブルにUDT列を使用する場合の一般的な制限は、以下のとおりです。
- ARRAY列、VARRAY列、PERIOD列、または地理空間列を含むテーブルには、PERIOD列でも地理空間列でもない列が少なくとも1つ必要です。ARRAY列、VARRAY列、PERIOD列、および地理空間列はインデックスの構成要素にできないからです。
- UDT列ではない列にPRIMARY KEY属性もUNIQUE属性も指定されていない場合、テーブルの最初の列をGeospatialデータ型、ARRAYデータ型、VARRAYデータ型、またはPERIODデータ型にすることはできません。
ARRAY列、VARRAY列、Geospatial列、またはPERIOD列は、デフォルトでも指定した場合でも、テーブルのプライマリ インデックスにすることはできません。
- UDTは、テーブルの列タイプとして使用する前に、順序付けおよび変換グループが定義されている必要があります。CREATE ORDERINGおよびREPLACE ORDERINGとCREATE TRANSFORMおよびREPLACE TRANSFORMを参照してください。
ARRAYデータ型、VARRAYデータ型、Geospatialデータ型、およびPERIODデータ型は、内部にUDTとして実装されているため、それらのデータ型に順序付けおよびデータ変換を定義する必要はありません。
テーブル定義にUDT列、ARRAY列、VARRAY列、PERIOD列、または地理空間列を指定するための前提条件を参照してください。
- テーブル ヘッダー領域は、テーブル定義に指定されたUDT列、ARRAY列、VARRAY列、Geospatial列、またはPERIOD列ごとに減少していきます。
宣言済みの各UDT列はテーブル ヘッダー領域に約80バイトを使います。テーブルに宣言したその他のオプション(複数値圧縮とアルゴリズム圧縮、パーティション プライマリ インデックス、セカンダリ インデックスなどを含む)によっては、テーブル ヘッダーのサイズ制限が最終的に超過して、リクエスト元にエラー メッセージが返されることがあります。
他の機能の指定がなければ、UDT列、ARRAY列、VARRAY列、地理空間列、およびPERIOD列の数は1つのテーブルにつき約1,600列までに制限されます。これは、システムがfatテーブル ヘッダーを許可することを前提としています。テーブル ヘッダーの詳細については、<Teradata Vantage™ - データベースの設計、B035-1094>を参照してください。