집합
집합은 미리 정의된 값으로 구성된 데이터 형식입니다. ENUM 데이터 형식과 비슷하지만, 집합으로 정의된 상수나 변수는 하나의 값만 저장하는 대신 집합 선언에 나열된 여러 값을 저장할 수 있습니다.
집합은 프로그램의 소스 코드나 데이터베이스 테이블 구조에서 정의할 수 있습니다. 예를 들어, 여러 스포츠 종류를 저장하는 집합은 Python에서 다음과 같이 선언할 수 있습니다:
set Sports { "soccer", "baseball", "tennis", "golf" };
마찬가지로 MySQL 데이터베이스의 테이블에 있는 열은 다음과 같이 정의할 수 있습니다:
Sports SET ('soccer', 'baseball', 'tennis', 'golf')
Sports로 정의된 변수나 데이터베이스 값에는 위에 나열된 네 가지 스포츠 중 하나 이상을 할당할 수 있습니다. 따라서 여러 값을 포함할 가능성이 있다면 Sports 변수를 집합으로 만드는 것이 적절합니다. 한 가지 예로, 사용자에게 자신이 좋아하고 할 수 있는 스포츠를 선택하라는 웹 양식이 있습니다. 사용자는 미리 정의된 값 중 하나 이상을 선택할 수 있으므로 결과 데이터는 집합으로 저장해야 합니다. 양식에서 사용자에게 가장 좋아하는 스포츠 하나를 선택하라고 한다면, 변수는 대신 열거형으로 선언해야 합니다.
열거형과 마찬가지로 집합은 변수나 데이터베이스 레코드에 저장할 수 있는 값을 제한하여 데이터 무결성을 보장하는 데 사용할 수 있습니다. 하지만 이 때문에 집합은 문자열이나 부동 소수점 데이터 형식보다 유연성이 떨어집니다. 따라서 집합은 제한된 수의 값만 포함하는 데이터 형식에 적합합니다.
지식 테스트하기