Kdbplus-q-language-table
Q言語-テーブル
テーブルはkdb +の中核です。 テーブルは、辞書として実装された名前付き列のコレクションです。 * qテーブル*は列指向です。
テーブルを作成する
テーブルは、次の構文を使用して作成されます-
上記の例では、各列のタイプを指定していません。 これは、テーブルへの最初の挿入によって設定されます。
別の方法では、初期化時に列タイプを指定できます-
または、空でないテーブルを定義することもできます-
上記の例のように角括弧内に列がない場合、テーブルは unkeyed です。
- キー付きテーブル*を作成するには、角かっこにキーの列を挿入します。
また、値をさまざまなタイプのヌルリストに設定することにより、列のタイプを定義することができます-
テーブル情報の取得
貿易テーブルを作成しましょう-
主キーとキー付きテーブル
キー付きテーブル
キー付きテーブルは、一意のキーのテーブルの各行を値のテーブルの対応する行にマップする辞書です。 例を見てみましょう-
ここで、キーとしてeidを含む単純なキー付きテーブルを作成し、
ForeignKeys
- 外部キー*は、それが定義されているテーブルの行から、対応する*プライマリキー*を持つテーブルの行へのマッピングを定義します。
外部キーは*参照整合性*を提供します。 つまり、主キーにない外部キー値を挿入しようとすると失敗します。
次の例を検討してください。 最初の例では、初期化時に外部キーを明示的に定義します。 2番目の例では、2つのテーブル間の以前の関係を想定しない外部キー追跡を使用します。
例1-初期化時に外部キーを定義する
例2-テーブル間に定義済みの関係なし
外部キー追跡を使用するには、セクターにキー入力するためのテーブルを作成する必要があります。
事前定義された外部キーの一般的な表記法-
cからa.bを選択します。aは外部キー(記号)、bはa_です。
主キーテーブル(ind)のフィールド、cはthe
外部キーテーブル(取引)
テーブルの操作
1つの取引テーブルを作成し、異なるテーブル式の結果を確認しましょう-
ここで、 q 言語を使用してテーブルを操作するために使用されるステートメントを見てみましょう。
選択する
Selectステートメントの使用方法を示すために例を見てみましょう-
インサート
- 挿入*ステートメントを使用する構文は次のとおりです-
ここで、Insertステートメントの使用方法を示す例を示します-
削除する
- 削除*ステートメントを使用する構文は次のとおりです-
Deleteステートメントの使用方法を示すために例を見てみましょう-
更新
- アップデート*ステートメントを使用するための構文は次のとおりです-
次の構文を使用して、キャスト関数を使用して列の形式/データ型を更新します-
ここで、 Update ステートメントの使用方法を示す例を示します-