범주형 데이터란 무엇인가?
범주형 데이터(categorical data)는 이산형(discrete) 데이터입니다. 범주형 속성은 지리적 지역, 직업 범주, 품목 유형처럼 값들 사이에 순서가 존재하지 않는, 고정된 개수의 서로 다른 값을 가집니다.
이러한 범주형 데이터에 대한 개념 계층(concept hierarchy)을 생성하는 방법은 여러 가지가 있으며, 대표적인 방법은 다음과 같습니다.
1. 스키마 수준에서 속성의 부분 순서를 명시적으로 지정
범주형 속성이나 차원에 대한 개념 계층은 일반적으로 여러 속성들의 그룹으로 구성됩니다. 사용자나 전문가는 스키마 수준에서 속성들 간의 부분 순서(partial ordering) 또는 전체 순서(total ordering)를 정의함으로써 개념 계층을 간단하게 표현할 수 있습니다.
예를 들어, 관계형 데이터베이스나 데이터 웨어하우스의 차원 영역에는 거리(street), 도시(city), 도·주(province/state), 국가(country)와 같은 속성 집합이 포함될 수 있습니다. 스키마 수준에서 '거리 < 도시 < 도·주 < 국가'와 같은 전체 순서를 정의하면 하나의 계층 구조를 표현할 수 있습니다.
2. 명시적 데이터 그룹화를 통한 계층의 일부 지정
이 방법은 개념 계층의 일부를 수동으로 정의하는 것입니다. 규모가 큰 데이터베이스에서는 모든 값을 명시적으로 열거하여 전체 개념 계층을 표현하는 것이 비현실적입니다. 따라서 중간 수준 데이터의 일부에 대해서만 명시적인 그룹화를 정의하는 방식을 활용합니다.
3. 속성 집합만 지정하고 부분 순서는 생략
사용자는 개념 계층을 구성하는 속성들의 집합을 지정하되, 속성들 간의 부분 순서는 명시적으로 밝히지 않을 수 있습니다. 이 경우 시스템이 의미 있는 개념 계층을 구축하기 위해 속성의 순서를 자동으로 생성하려고 시도합니다.
이러한 접근은 다음과 같은 관찰에 기반합니다. 주어진 속성 집합에서 각 속성이 가진 고유한 값(distinct value)의 개수를 기준으로 개념 계층을 자동 생성할 수 있다는 것입니다. 고유 값을 가장 많이 가진 속성은 계층의 최하위 수준에 배치되며, 고유 값의 개수가 적을수록 생성된 계층에서 더 높은 위치에 놓입니다.
이 휴리스틱 규칙은 많은 경우 잘 작동하지만 완벽하지는 않습니다. 따라서 필요하다면 사용자나 전문가가 생성된 계층을 분석한 후, 일부 속성의 위치를 교환하거나 조정하는 국소적인 수정을 가할 수 있습니다.
4. 부분적인 속성 집합만 지정
사용자는 계층에 어떤 속성이 포함되어야 하는지에 대해 명확하지 않은 아이디어만 가지고 있을 수도 있습니다. 예를 들어, 사용자 이름 계층에서 성과 이름만 지정하고 중간 이름(middle name)은 포함하지 않는 경우입니다.
이렇게 부분적으로만 지정된 계층은 데이터베이스 설계 단계에서 데이터 의미론(data semantics)을 반영함으로써 관리할 수 있습니다. 즉, 의미적으로 밀접하게 연관된 속성들을 함께 묶어 누락된 부분을 보완하는 것입니다.