Db2-tables
DB2-テーブル
テーブルは、データベースマネージャーによって維持される論理構造です。 表では、各垂直ブロックは列(Tuple)と呼ばれ、各水平ブロックは行(Entity)と呼ばれます。 列と行の形式で保存されたデータのコレクションは、テーブルと呼ばれます。 テーブルでは、各列のデータ型は異なります。 テーブルは、永続的なデータを保存するために使用されます。
テーブルの種類
- 基本テーブル:永続データを保持します。 以下を含むさまざまな種類のベーステーブルがあります。
- 通常のテーブル:汎用テーブル、インデックス付きの共通テーブルは汎用テーブルです。
- 多次元クラスタリングテーブル(MDC):このタイプのテーブルは、複数のキーで物理的にクラスター化され、大規模なデータベース環境を維持するために使用されます。 これらのタイプのテーブルは、DB2 pureScaleではサポートされていません。
- 挿入時間クラスタリングテーブル(ITC):MDCテーブルと同様に、行はテーブルに挿入される時間でクラスタリングされます。 パーティションテーブルにすることができます。 それらも、pureScale環境をサポートしていません。
- * Range-Clustered tables Table(RCT)*:これらのタイプのテーブルは、データの高速で直接的なアクセスを提供します。 これらは順次クラスターとして実装されます。 テーブル内の各レコードにはレコードIDがあります。 これらのタイプのテーブルは、データがテーブル内の1つ以上の列で緊密にクラスター化されている場合に使用されます。 このタイプのテーブルは、DB2 pureScaleでもサポートされていません。
- パーティションテーブル:これらのタイプのテーブルは、データ編成スキーマで使用され、テーブルデータは複数のストレージオブジェクトに分割されます。 データパーティションは、パーティションテーブルに追加、アタッチ、およびデタッチできます。 1つのテーブルスペースのテーブルから複数のデータパーティションを保存できます。
- テンポラルテーブル:データベース内のテーブルの履歴は、以前に行われた変更の詳細などのテンポラルテーブルに格納されます。
- 一時テーブル:さまざまなデータベース操作の一時作業には、一時テーブルを使用する必要があります。 一時テーブル(DGTT)はシステムカタログに表示されません。作成された一時テーブルではXML列を使用できません。
- 実体化されたクエリテーブル:MQTを使用してクエリのパフォーマンスを向上させることができます。 これらのタイプのテーブルは、テーブル内のデータを決定するために使用されるクエリによって定義されます。
テーブルを作成する
次の構文はテーブルを作成します。
構文:[新しいテーブルを作成するには]
例:「employee」の詳細を「professional」のスキーマに格納するテーブルを作成します。 このテーブルには「id、name、jobrole、joindate、salary」フィールドがあり、このテーブルデータはテーブルスペース「ts1」に格納されます。
出力:
リストの詳細
テーブルの詳細をリストするには、次の構文を使用します。
構文:[スキーマで作成されたテーブルのリストを表示するには]
例:[現在のデータベースのテーブルのリストを表示するには]
出力:
テーブル内の列のリスト
次の構文は、表の列をリストします。
構文:[テーブルの列とデータ型を表示するには]
例:[テーブル「従業員」の列とデータ型を表示するには]
- 出力: *
非表示の列
テーブルの列全体を非表示にできます。 「select* from」クエリを呼び出すと、非表示の列は結果のテーブルに返されません。 テーブルにデータを挿入するとき、列リストのない「INSERT」ステートメントは、暗黙的に隠された列の値を期待しません。 これらのタイプの列は、マテリアライズ照会表で高度に参照されます。 これらのタイプの列は、一時テーブルの作成をサポートしていません。
非表示の列を持つテーブルを作成する
次の構文は、非表示の列を持つテーブルを作成します。
構文:[非表示の列を持つテーブルを作成するには]
例:[非表示の列「電話」を持つ「顧客」テーブルを作成するには]
テーブルへのデータ値の挿入
次の構文は、テーブルに値を挿入します。
構文:[値をテーブルに挿入するには]
例:[「customer」テーブルに値を挿入するには]
出力:
テーブルから値を取得する
次の構文は、テーブルから値を取得します。
構文:[値をテーブルから取得するには]
例:[「顧客」テーブルから値を取得するには]
出力:
非表示の列を含むテーブルから値を取得する
次の構文は、選択した列から値を取得します。
構文:[選択した非表示列の値をテーブルから取得するには]
例:[選択した列の値をテーブルから取得するには]
出力:
非表示列のデータを表示するには、「DESCRIBE」コマンドを実行する必要があります。
構文:
例:
出力:
テーブル列のタイプを変更する
次のように、この「変更」コマンドを使用してテーブル構造を変更できます。
構文:
例: [従業員テーブルの列「id」のデータ型を「int」から「bigint」に変更するには]
出力::
列名の変更
以下に示すように、列名を変更できます。
構文:[列名をテーブルの古い名前から新しい名前に変更するには]
例: [「customers」テーブルの列名を「fullname」から「custname」に変更するには。]
テーブルをドロップする
テーブルを削除するには、次のように「DROP」コマンドを使用する必要があります。
構文:
例: [顧客テーブルフォームデータベースを削除するには]
テーブルの階層全体(トリガーとリレーションを含む)を削除するには、「DROP TABLE HIERARCHY」コマンドを使用する必要があります。
構文:
例: [テーブル「顧客」の階層全体を削除するには]