テーブル
「表」 タブの表では、「行カウント」列に表示される値は近似値です。 正確な行カウントは、 GENERATE STATISTICS ON <table_name> コマンドの実行後に使用可能になります。
表の作成
-
**「データベース」**に進みます。
-
テーブルを作成するデータベースを選択します。
-
テーブルを作成するスキーマを選択する。
-
「DB オブジェクト」>「表」 タブが表示されていることを確認します。
-
**「表の作成」**をクリックします。
-
テーブルの名前を入力します。 名前に特殊文字が含まれている場合は、二重引用符で囲んでください。 ドット文字(".")はサポートされていません。 最大 128 文字の名前を選択することができます。 名前の先頭は文字または下線でなければならず、スペースを埋め込むことはできません。 固有の名前にする必要があります。
-
オプション:テーブルの保持時間間隔(日単位)を指定します。 1 日から 99 日までを選択できます。テンポラル表を非テンポラル表に変更する場合はゼロを選択できます。
-
以下のように列を表に追加します。
-
「列」 セクションの 「名前」 に、列の名前を入力します。 名前はアルファベットで始めなければならない。
-
カラムのタイプを選択します。 データ・タイプによって、列に保管できるデータのタイプが制限されます。 例えば、数値フィールドに英数字を入力しないようにします。 また、データ・タイプは、データを正しくソートするのに役立ち、ストレージの最適化においても役割を果たします。 これらの理由により、適切なデータ・タイプを選択することが重要です。
-
Not nullが真か偽かを指定する。 NULL 値が許可される列では、その列に値のない行を挿入することもできます。 NULL 値が許可されない列では、値のない行は受け入れられません。 -
行の挿入時に値が指定されていない場合に使用されるデフォルト値を指定します。
-
Distribute on セクションと Organize on セクションで、最大4つの列を選択して、テーブルのディストリビューション・キーを指定する。
別の列を追加するには、正符号をクリックします。
-
-
「作成」 をクリックします。
新しいテーブルを作成するには、クエリエディタで CREATE TABLE クエリを入力するだけです。
列および表の制約
表を作成するときに、列、表、またはその両方に対して制約を指定できます。
例えば、table_constraint は以下のようになります。
{ PRIMARY KEY ( column_name [, ... ] ) | FOREIGN KEY ( column_name [,
... ] ) REFERENCES reftable (refcolumn ) [ MATCH matchtype ] [ ON
DELETE action ] [ ON UPDATE action ] [ [ NOT ] DEFERRABLE ] [ INITIALLY
checktime ] } [, ...]
システムは、主キー、デフォルト、外部キー、固有、および参照を許可し、保守します。 Netezza Performance Server は制約検査および参照整合性をサポートしていないため、制約検査および参照整合性はお客様が確保する必要があります。
表を作成する権限がある場合は、制約を指定できます。
表を変更する権限がある場合は、表制約を追加またはドロップできます。
制約名を変更したり、制約の所有者を直接変更したりすることはできません。 制約の所有者は常に表の所有者です。 したがって、表の所有者を変更すると、関連するすべての制約の所有者がシステムによって変更されます。
表のグルーミング
GROOM TABLES 各データスライスのテーブルレコードを一連の手順で処理し、再編成する。 データグルーミング中も、 SELECT、 UPDATE、 DELETE、 INSERT などのオペレーションを実行できる。
SELECT のオペレーションは、新郎のオペレーションと並行して実行される。
INSERT UPDATE、。 DELETE クラスター・ベース・テーブル(CBT)の場合、 GRROM TABLE に時間がかかる。 INSERT、 UPDATE、 DELETE の各オペレーションは、現在のステップが完了するまで保留される可能性がある。
表のグルーミング機能を使用して、削除された行または古い行のディスク・スペースを再利用できます。 また、このオプションを使用して、クラスター化された基本表の編成キーに基づいて表を再編成したり、複数のバージョンが保管されている表からデータをマイグレーションしたりすることもできます。
- **「データベース」**に進みます。
- データベースとスキーマを選択します。
- 「DB オブジェクト」>「表」 タブが表示されていることを確認します。
- グルーミングする表を選択します。
- 新郎タブに移動します。
- 「表のグルーミング」 をクリックします。
-
操作を実行するには、ユーザーにオブジェクト特権が必要です。 ユーザーは管理者である必要はありません。
-
トランザクション・ブロック(開始またはコミット・ペア)内やストアド・プロシージャでテーブルをグルーミングすることはできません。
-
既存のテーブルをCBTにするために整理キーを指定すると、新しい整理がテーブルの圧縮サイズに影響を与える可能性があります。 新しい編成では、全体的な圧縮の利点を向上させるレコードのシーケンスを作成することも、あまり圧縮しないシーケンスを作成することもできます。 グルーミング操作の後、表サイズが変更される可能性があります。
モード
テーブルをグルーミングするときに、別のモードを選択できます。
| 値 | 説明 |
|---|---|
| レコード準備完了 | グルーミングされなかった表、および既にグルーミングされているが再グルーミングのマークが付けられた表のレコードを再利用および再編成します。 これは、クラスター基本表 (CBT) のデフォルト設定です。 |
| すべてのレコード | 表内のすべてのレコードを再利用および再編成します。 これは、非 CBT のデフォルトです。 |
| すべてのページ | 表内の可視レコードのないデータ・ページを識別し、ディスク・エクステントを解放するために空のマークを付けます。 |
| ページ開始 | 可視レコードがない表内の先行データ・ページを識別し、空のマークを付けます。 空でないデータ・ページが検出されると停止します。 |
| バージョン | 以前の表バージョンからレコードをマイグレーションします。 ドロップされた列は表示されず、追加された列にデフォルト値が表示されます。 |
表への所有者の割り当て
- **「データベース」**に進みます。
- 更新する表が含まれているデータベースとスキーマを選択します。
- 所有者を割り当てたい表を選択します。
- オーバーフロー・メニューから、 「所有者の割り当て」 をクリックします。
- 表の所有者を選択します。
- 割り当て をクリックします。
表の名前変更
- **「データベース」**に進みます。
- 名前変更する表が含まれているデータベースとスキーマを選択します。
- オーバーフローメニューから「 名前の変更 」をクリックする。
- テーブルの新しい名前を入力する。 名前に特殊文字が含まれている場合は、二重引用符で囲んでください。 ドット文字(".")はサポートされていません。
- **「名前変更」**をクリックします。
表の保存期間 (タイム・トラベル) の更新
- **「データベース」**に進みます。
- 更新する表が含まれているデータベースとスキーマを選択します。
- テーブルを選択します。
- オーバーフロー・メニューから、 「間隔の更新」 をクリックします。
- 保持時間間隔を入力する。 1 日から 99 日までを選択することも、ゼロを選択してテンポラル・データベースを非テンポラルに変更することもできます。 保持時間間隔とタイムトラベルの詳細については、 NPSaaS タイムトラベルを 参照のこと。
- 保存 をクリックします。
表のドロップ
- **「データベース」**に進みます。
- 更新する表が含まれているデータベースとスキーマを選択します。
- テーブルを選択します。
- オーバーフローメニューから、 ドロップをクリックする。
- 「ドロップ」 をクリックして、選択を確認します。
スペース使用量 (タイム・トラベル) の表示
- **「データベース」**に進みます。
- 分析するテンポラル表が存在するデータベースとスキーマを選択します。
- テーブルを選択します。
- 「タイム・トラベル」 タブに移動します。
- データを分析する。 リスト内の情報を表示することも、グラフとして表示することもできます。