[database] 데이터베이스의 카디널리티는 무엇입니까?

인터넷을 샅샅이 검색했지만 이해할 수있는 답을 찾지 못한 것 같습니다.

친절하게도 누군가 데이터베이스의 카디널리티가 무엇인지 예를 들어 설명해 줄 수 있다면?

감사합니다.



답변

혼란의 원인은 데이터 모델링과 데이터베이스 쿼리 최적화라는 두 가지 다른 맥락에서 단어를 사용하는 것입니다.

데이터 모델링 용어에서 카디널리티는 한 테이블이 다른 테이블과 관련되는 방식입니다.

  • 1-1 (테이블 A의 한 행은 tableB의 한 행과 관련됨)
  • 일대 다 (테이블 A의 한 행은 tableB의 여러 행과 관련됨)
  • 다다 (테이블 A의 많은 행이 tableB의 많은 행과 관련됨)

또한 위의 경우 선택적 참여 조건이 있습니다 (한 테이블의 행 이 다른 테이블과 전혀 관련 되지 않아도 됨).

카디널리티 (데이터 모델링) 에 대한 Wikipedia를 참조하십시오 .


데이터베이스 쿼리 최적화에 대해 이야기 할 때 카디널리티는 테이블 열의 데이터, 특히 테이블에있는 고유 값 수를 나타냅니다. 이 통계는 쿼리를 계획하고 실행 계획을 최적화하는 데 도움이됩니다.

카디널리티 에 대한 Wikipedia (SQL 문)를 참조하십시오 .


답변

상황에 따라 다릅니다. 카디널리티는 무언가의 수를 의미하지만 다양한 컨텍스트에서 사용됩니다.

  • 데이터 모델을 빌드 할 때 카디널리티는 종종 테이블 B와 관련된 테이블 A의 행 수를 나타냅니다. A (1 : N)의 모든 행에 대해 B에, A (N : M)의 모든 N 행에 대해 B에 M 개의 행이 있습니까?
  • ab * -tree 인덱스 또는 비트 맵 인덱스를 사용하는 것이 더 효율적인지 여부 또는 술어가 얼마나 선택적인지 등을 살펴볼 때 카디널리티는 특정 열의 고유 값 수를 나타냅니다. PERSON예를 들어 테이블 이있는 경우 GENDER카디널리티가 매우 낮은 열 (에 두 개의 값만 있을 수 있음 GENDER) PERSON_ID이 될 가능성이 높고 카디널리티가 매우 높은 열 (모든 행이 다른 값을 가짐)이 될 가능성이 높습니다.
  • 쿼리 계획을 볼 때 카디널리티는 특정 작업에서 반환 될 것으로 예상되는 행 수를 나타냅니다.

사람들이 다른 컨텍스트를 사용하여 카디널리티에 대해 이야기하고 다른 의미를 갖는 다른 상황이있을 수 있습니다.


답변

데이터베이스 에서 테이블의 행 수 카디널리티 .

여기에 이미지 설명 입력
img 소스


여기에 이미지 설명 입력
img 소스


  • 관계는 카디널리티 (즉 , 집합의 요소 수) 에 따라 이름이 지정되고 분류됩니다 .
  • 엔티티 가까이에 나타나는 기호는 최대 카디널리티 이고 다른 하나는 최소 카디널리티 입니다.
  • 엔티티 관계는 다음과 같이 관계 라인의 끝을 표시 합니다.
    여기에 이미지 설명 입력

여기에 이미지 설명 입력

이미지 소스


답변

카디널리티는 열에 포함 된 데이터의 고유성을 나타냅니다. 열에 중복 데이터가 많으면 (예 : “true”또는 “false”를 저장하는 열) 카디널리티가 낮지 만 값이 매우 고유 한 경우 (예 : 주민등록번호) 카디널리티가 높습니다.


답변

집합의 카디널리티는 집합에있는 요소의 namber입니다. 집합 a> a, b, c <이므로 집합에는 3 개의 요소가 포함됩니다. 3은 해당 집합의 카디널리티입니다.


답변

정의 : 데이터베이스에 테이블이 있습니다. 관계형 데이터베이스에서는 테이블간에 관계가 있습니다. 이러한 관계는 일대일, 일대 다 또는 다 대다 일 수 있습니다. 이러한 관계를 ‘카디널리티’라고합니다.

카디널리티의 중요성 :

많은 관계형 데이터베이스는 비즈니스 규칙에 따라 설계되었으며 데이터베이스를 설계 할 때 비즈니스 규칙에 따라 카디널리티를 정의합니다. 그러나 모든 개체에는 고유 한 특성도 있습니다.

개체간에 카디널리티를 정의 할 때 올바른 카디널리티를 정의하기 위해 이러한 모든 사항을 고려해야합니다.


답변