{ CREATE | CT } [ table_kind ] TABLE table_name [, create_table_options ] ( [ generated_columns, ] column_definitions ) PRIMARY TIME INDEX [ index_name ] ( timecode_data_type [, timezero_date ] [, timebucket_duration ] [, COLUMNS ( column_list ) ] [, { NONSEQUENCED | SEQUENCED [ ( seq_max ) ] } ] ) [ secondary_index_definitions ] [ commit_options ] [;]
構文要素
- table_kind
- PTIテーブルは、SETテーブルまたはMULTISETテーブルとして定義できます。デフォルトでは永久テーブルですが、必要に応じてGLOBAL TEMPORARYテーブルまたはVOLATILEテーブルとして定義できます。
- table_name
- テーブルの名前 (オプションでデータベース名またはユーザー名が前に付く)。
- create_table_options
- 非PTIテーブルのすべての標準CREATE TABLEオプションは、PTIテーブルに適用されます。これらのオプションの構文については、<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>で説明されています。
- generated_columns
- これらの列は、データベースによって自動的に生成および維持されます。それらについては、PTIテーブルの自動的に生成される列で説明されています。
- column_definitions
- PTIテーブルに保存される時系列データの標準列定義。CREATE TABLE文での標準列定義の詳細については、<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>を参照してください。時系列システムは、テーブルの最初の使用可能な列を自動的に生成して、時系列データのタイムスタンプ部分を格納します。タイムスタンプ用に列を明示的に作成する必要はありません。
- index_name
- PTIのオプションの名前。データベース オブジェクトの命名ルールについては、<Teradata Vantage™ - SQLの基本、B035-1141>を参照してください。
- timecode_data_type
- timecode_data_type は時系列のタイムスタンプ データのフォームを反映する必要があります。次のデータ型のいずれかになります。
- TIMESTAMP(n)。ここでnはタイムスタンプの小数秒の小数精度です。
- TIMESTAMP(n) WITH TIME ZONE
- DATE
- timezero_date
- 時系列データの最も早い日付より前の日付。
- timebucket_duration
- 時系列データの時系列を分散したグループまたはバケットに分割するための期間。各行のタイムバケット値がタイム ゼロの日付とともに使用されるため、AMP間のデータ分散を決定するのに役立ちます。
- column_list
- カンマで区切られた1つ以上のPTIテーブル列のリスト。これらの列は、AMP間での行の分散方法を決定するために、PTIとともに使用されます。
- NONSEQUENCED
- SEQUENCED
- 時系列データの読み取りが時間の点で固有かどうかを指定します。timecode_data_type の粒度とセンサー データ収集の頻度によっては、同じタイムスタンプを共有する、センサーからの複数の読み取りが存在する可能性があります。
- NONSEQUENCEDは、タイムスタンプごとにセンサーの読み取りが1つしかないことを前提としています。これはデフォルトです。
Vantageは、タイムスタンプに基づいて非シーケンス化PTIテーブルの行を配列します。
- SEQUENCEDは、同じセンサーからの複数の読み取りが、同じタイムスタンプを持つ可能性があることを意味します。
Vantageは、PTIテーブルにTD_SEQNOという名前の追加の列を自動的に挿入します。同じタイムスタンプを持つ読み取りを区別するための固有のシーケンス番号はこの列で保持されます。アプリケーションは、データを収集し、Vantageに送信して、TD_SEQNO列にシーケンス番号を挿入します。
Vantageは、タイムスタンプに基づいてシーケンス化テーブルの行を配列し、1つのタイムスタンプ値内で、シーケンス番号に従って行を配列します。
- NONSEQUENCEDは、タイムスタンプごとにセンサーの読み取りが1つしかないことを前提としています。これはデフォルトです。
- seq_max
- 1~2147483647(TD_SEQNOの最大値を表わす)の正の整数。これは、同じタイムスタンプを持つことができるセンサー データ行の最大数を指定します。デフォルトは20000です。TD_SEQNOフィールドの値がseq_maxを超えると、データベースはエラーを生成します。
- secondary_index_definitions
- PTIテーブルは、USIとNUSIを持つことができます。これらのインデックスを定義するための構文については、<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>で説明されています。
- commit_options
- トランザクションが完了したときに、グローバル一時テーブルまたは揮発テーブルの行を削除するか、または保存するかを決定します。これらのcommit_optionsの詳細については、<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>を参照してください。