Teradata Databaseは、テーブル定義のPTI仕様に基づいて、PTIテーブルに最大3つの列を自動的に作成します。
- TD_TIMECODEは、時系列の各センサーの読み取りからのタイムスタンプ データを保持します。この列は、機能的にテーブルの最初の列です。PTIテーブルにデータを挿入またはロードする場合、データに関連付けられているタイムスタンプは、各行に最初に挿入された値である必要があります。列のデータ型は、PRIMARY TIME INDEX句で指定されたtimecode_data_typeによって決定されます。
- TD_SEQNOは、PTI定義にSEQUENCEDキーワード(テーブルがシーケンス化テーブルであることを示す)が含まれている場合にのみ生成されます。シーケンス化テーブルには、通常はtimecode_data_typeについて選択された粒度よりも頻繁に実行されたセンサー データの読み取りの結果として、同じセンサーIDからの同じタイムスタンプを持つ複数の行が含まれている可能性があります。TD_SEQNO列のシーケンス番号は、同じタイムスタンプ値を共有する異なる行を区別するのに役立ちます。この列はデータ収集アプリケーションによって設定される必要があり、Teradata Databaseによって設定されることも維持されることもありません。TD_SEQNOは、シーケンス化PTIテーブルの2番目の列です。
- TD_TIMEBUCKETは、PTI定義にtimebucket_duration値が含まれている場合にのみ生成されます。これはデータベースによって管理され、SQLコードで直接操作することはできず、クエリーの出力には表示されません。ここで言及されているのは、これらのタイプのPTIテーブルに対して実行されるSHOW TABLE文の出力に見られるためです。
これらの列はデータベースによって自動的に生成されますが、列のFORMATまたはTITLEを指定する場合は、PTIテーブル定義にTD_TIMECODE列とTD_SEQNO列を明示的に指定できます。これらの列のいずれかを指定する場合、 (該当する場合は、PTIに追加されたパラメータに基づいて)テーブルに対して自動的に生成された列のallを明示的に指定する必要があります。次の構文を使用して、メインの列定義の後にFORMATとTITLEの仕様を追加します。
- TD_TIMEBUCKET BIGINT NOT NULL GENERATED SYSTEM TIMECOLUMNPRIMARY TIME INDEX句にtimebucket_durationパラメータが含まれている場合は、TD_TIMEBUCKET列を指定する必要があります。通常、この列は非表示になり、クエリーにアクセスできません。TD_TIMEBUCKET列のFORMATまたはTITLE列の属性を追加することはできません。
- TD_TIMECODE timecode_data_type NOT NULL GENERATED TIMECOLUMN
ここで、timecode_data_typeは、PTI定義句で使用されるtimecode_data_typeと一致する必要があります。
- TD_SEQNO INT NOT NULL GENERATED TIMECOLUMN