セット
セットは、あらかじめ定義された値で構成されるデータ型です。ENUMデータ型に似ていますが、セットとして定義された定数や変数には、1つの値だけでなく、セット宣言に記載された複数の値を格納できます。
セットは、プログラムのソースコード内や、データベースのテーブル構造内で定義できます。たとえば、さまざまなスポーツの種類を格納するセットは、Pythonで次のように宣言できます。
set Sports { "soccer", "baseball", "tennis", "golf" };
同様に、MySQLデータベースのテーブル内の列は、次のように定義できます。
Sports SET ('soccer', 'baseball', 'tennis', 'golf')
Sportsとして定義された変数やデータベースの値には、上記の4種類のスポーツのうち1つ以上を割り当てることができます。そのため、複数の値を含む可能性がある場合は、Sports変数をセットとして作成するのが適切です。例として、ユーザーに好きなスポーツを選択してもらうWebフォームが挙げられます。ユーザーはあらかじめ定義された値を1つ以上選べるため、結果のデータはセットとして保存する必要があります。フォームでユーザーに好きなスポーツを1つ選ばせる場合は、代わりに変数をenumとして宣言します。
enumと同様に、セットは、変数やデータベースレコードに格納できる値を制限することで、データの整合性を確保するために使用できます。ただし、そのためセットは文字列型や浮動小数点数型よりも柔軟性が低くなります。そのため、セットは含まれる値の数が限られているデータ型に適しています。
知識をテストする