Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

명목 데이터의 개념 계층을 생성하는 4가지 방법

명목 데이터 개념 계층 생성 방법

명목 데이터(nominal data)에 대한 개념 계층(concept hierarchy)을 생성하는 방법은 크게 네 가지로 나눌 수 있습니다. 각 방법은 사용자의 참여 정도와 시스템의 자동화 수준에 따라 차이가 있으며, 상황에 맞게 선택하여 활용할 수 있습니다.

1. 스키마 수준에서 속성 간 부분 순서를 명시적으로 정의

명목 속성이나 차원에 대한 개념 계층은 일반적으로 여러 속성의 집합으로 구성됩니다. 사용자나 전문가는 스키마 수준에서 속성들 간의 부분 순서 또는 전체 순서를 직접 정의함으로써 개념 계층을 손쉽게 표현할 수 있습니다.

예를 들어, 관계형 데이터베이스에 거리(street), 도시(city), 주(province 또는 state), 국가(country)라는 속성들이 있다고 가정해 보겠습니다. 데이터 웨어하우스의 위치(location) 차원 역시 동일한 속성들을 포함할 수 있으며, street < city < province/state < country와 같이 속성 간의 전체 순서를 스키마 수준에서 기술함으로써 계층 구조를 표현할 수 있습니다.

2. 명시적 데이터 그룹화를 통한 계층의 일부 정의

이 방법은 개념 계층의 일부를 수동으로 기술하는 방식입니다. 대규모 데이터베이스에서는 모든 값을 일일이 나열하여 전체 개념 계층을 정의하는 것이 비현실적이기 때문에, 필요한 부분만 명시적으로 그룹화하여 계층을 구성합니다.

3. 속성 집합만 지정하고 부분 순서는 생략

사용자가 개념 계층을 구성하는 속성 집합은 정의하되, 속성들 간의 부분 순서는 명시하지 않을 수도 있습니다. 이 경우 시스템은 의미 있는 개념 계층을 만들 수 있도록 속성 순서를 자동으로 생성하려고 시도합니다.

여기에는 한 가지 핵심 관찰이 바탕이 됩니다. 상위 수준의 개념은 일반적으로 여러 하위 수준의 개념을 포괄하기 때문에, 높은 개념 수준을 나타내는 속성(예: country)은 낮은 개념 수준을 나타내는 속성(예: street)보다 서로 다른 값의 수가 더 적습니다.

이 관찰에 기반하여, 주어진 속성 집합에서 각 속성이 가지는 고유 값(distinct value)의 개수를 기준으로 개념 계층을 자동 생성할 수 있습니다. 고유 값이 가장 많은 속성은 계층의 최하위 수준에 배치되며, 속성이 가지는 고유 값의 수가 적을수록 생성된 계층에서 더 상위에 위치하게 됩니다.

이러한 휴리스틱 규칙은 대부분의 경우 잘 작동하지만, 완벽하지 않을 수 있습니다. 따라서 사용자나 전문가가 생성된 계층을 분석한 후, 필요에 따라 일부 수준의 순서를 교환하거나 국소적인 조정을 수행할 수 있습니다.

4. 속성의 일부만 지정

때때로 사용자는 계층을 기술하는 과정에서 부정확하거나, 계층에 어떤 속성이 포함되어야 하는지에 대해 막연한 개념만 가지고 있을 수 있습니다. 그 결과 사용자는 관련 속성 중 극히 일부만 계층 정의에 포함시키게 됩니다.

이처럼 부분적으로만 지정된 계층을 처리하려면, 데이터베이스 설계 단계에서 정보의 의미론(semantics)을 내장하여 의미적으로 밀접하게 연관된 속성들을 미리 묶어두는 것이 필수적입니다. 이 방식에서는 하나의 속성이 지정되면, 그와 의미적으로 긴밀하게 연결된 속성 그룹 전체가 자동으로 “끌려 들어와(dragged in)” 완전한 계층을 구성하게 됩니다. 다만 사용자는 필요에 따라 이 자동 연결 기능을 되돌릴 수 있는 옵션을 반드시 가져야 합니다.