ユーザー定義型(UDT)の作成
ユーザー定義型(UDT)を使用して、複数のデータ・フィールドを1つのカラムに関連付けることができます。
ユーザー定義型(UDT)は、それぞれ名前と型が指定された複数のデータ・フィールドを1つのカラムに関連付けることができます。UDTの作成に使用するフィールドには、コレクションや他の既存のUDTを含む、すべての有効なデータ型を指定できます。UDTの作成後、そのUDTを使用してテーブル・カラムを定義できます。
手順
-
cyclingキースペースを使用します。
USE cycling;
-
ユーザー定義型basic_infoを作成します。
CREATE TYPE cycling.basic_info ( birthday timestamp, nationality text, weight text, height text );
-
サイクリストのデータをbasic_info型のカラムに格納するテーブルを作成します。ユーザー定義型カラムの定義でデータ型キーワードを使用します。
非コレクション・フィールドのみを含むUDTにはfrozenキーワードは必要ありません。
frozenキーワードを使用した場合は、ユーザー定義型値の一部を更新できません。値全体を上書きしなければなりません。データベースでは、ユーザー定義型であるfrozenの値はBLOBとして扱われます。
CREATE TABLE cycling.cyclist_stats ( id uuid PRIMARY KEY, lastname text, basics FROZEN<basic_info> );
-
ユーザー定義型は、別のカラム型内にネストすることができます。以下の例では、
races
という名前のfrozenリスト内にUDTをネストしています。CREATE TYPE cycling.race ( race_title text, race_date timestamp, race_time text ); CREATE TABLE cycling.cyclist_races ( id UUID PRIMARY KEY, lastname text, firstname text, races list<FROZEN <race>> );