リスト型の作成

要素の順序が重要であるか、同じ値を複数回格納する必要がある場合には、リストを使用します。

リストの形式はセットに似ており、リスト内では値がグループ分けされて格納されます。ただしセットとは異なり、リストに格納される値は一意である必要がなく、複製できます。さらに、リストでは特定の順序で要素を格納し、インデックス値に従って挿入または取得ができます。

listデータ型は、別のカラムと多対多の関係を持つ可能性のあるデータを格納するために使用します。たとえば以下の例では、eventsというリストにはカレンダーの今後のレース・イベントすべてが格納されます。月と年の各ペアには複数のイベントが含まれる場合があり、レースはリストに格納されます。リストの順序を変更し、レースをアルファベット順ではなく、時系列に表示することもできます。

手順

upcoming_calendarテーブル内のeventsを定義します。リストに含まれている各イベントのデータ型はtextになります。
cqlsh> CREATE TABLE cycling.upcoming_calendar ( year int, month int, events list<text>, PRIMARY KEY ( year, month) );