카디널리티(SQL 문)
Cardinality (SQL statements)이 글은 검증을 위해 인용구가 추가로 필요하다. 문 – · · 책· · (2021년 1월)(이를 |
SQL(Structured Query Language)에서 카디널리티라는 용어는 데이터베이스 테이블의 특정 열(속성)에 포함된 데이터 값의 고유성을 가리킨다.카디널리티가 낮을수록 열에 더 많은 요소가 중복된다.따라서 가능한 가장 낮은 카디널리티의 열은 모든 행에 대해 동일한 값을 가질 것이다.SQL 데이터베이스는 카디널리티를 사용하여 주어진 쿼리에 대한 최적의 쿼리 계획을 결정하는 데 도움을 준다.[1]
카디널리티 값
칼럼니스트 값 세트를 처리할 때 카디널리티에는 높은 카디널리티, 보통 카디널리티, 낮은 카디널리티의 세 가지 유형이 있다.
높은 카디널리티는 매우 드물거나 고유한 값을 가진 열을 가리킨다.높은 카디널리티 열 값은 일반적으로 식별 번호, 전자 메일 주소 또는 사용자 이름이다.높은 카디널리티를 갖는 데이터 테이블 열의 예로는 USER_ID라는 이름의 열이 있는 USER 테이블을 들 수 있다.이 열은 1-n의 고유한 값을 포함할 것이다.USERS 테이블에 새 사용자가 생성될 때마다 USER_에 새 번호가 생성된다.고유하게 식별하기 위한 ID 열.USER_에 저장된 값 이후부터ID 열은 고유하며, 이 열의 카디널리티 유형을 높은 카디널리티라고 한다.
정상 카디널리티는 다소 흔하지 않은 값을 가진 열을 가리킨다.정상 카디널리티 열 값은 일반적으로 이름, 거리 주소 또는 차량 유형이다.정상 카디널리티가 있는 데이터 테이블 열의 예로는 고객의 성을 포함하는 LAST_NAME이라는 이름의 열이 있는 Customer 테이블이 있다.어떤 사람들은 스미스와 같은 흔한 성을 가지고 있지만, 다른 사람들은 흔치 않은 성을 가지고 있다.따라서, LAST_NAME 열에 있는 모든 값을 검사하면, 어떤 장소(예: 많은 스미스)의 이름이 긴 일련의 고유 값에 의해 양쪽으로 둘러싸인 "집합"이 나타날 것이다.이 열에는 다양한 가능한 값이 있으므로 카디널리티 유형을 정상 카디널리티라고 한다.
낮은 카디널리티는 고유 값이 거의 없는 열을 가리킨다.낮은 카디널리티 열 값은 일반적으로 상태 플래그, 부울 값 또는 성별과 같은 주요 분류들이다.낮은 카디널리티의 데이터 테이블 열의 예로는 NEW_CUSTER라는 이름의 열이 있는 Customer 테이블을 들 수 있다.이 열에는 Y 또는 N이라는 두 가지 고유한 값만 포함되며, 이는 고객이 신규 고객인지 여부를 나타낸다.이 열에 두 개의 가능한 값만 있으므로 카디널리티 유형을 저 카디널리티라고 한다.[2]