개발정보

데이터베이스 카디널리티(Database Cardinality)

쿠카곰돌이 2019. 6. 22. 13:00
반응형

I. 데이터베이스 카디널리티(Database Cardinality)의 정의

 - 두 개의 엔티티 타입 사이의 논리적인 관계, 즉 엔티티와 엔티티가 존재하는 형태로써 혹은 행위로써 서로에게 영향을 주는 상태

 - 두개의 엔티티 타입간 관계에서 참여자의 수를 표현하는 가장 일반적인 카디넬러티 표현방법은 1:M, 1:1, M:N

 

II.데이터베이스 카디널리티 주요유형 및 표기법

 가. 주요 유형

유형 

관계 구성도

설명

1:1 관계

카디넬리티(Cardinality) - 1:1(One To One)

 

한개의 구매신청서에 대해 한 개의 구매주문을 신청하고

한개의 구매주문에는 한 개의 구매신청내용을 작성한다.

 

각 엔티티의 어느 입장에서 반드시 단 하나씨 관계를 가질 떄 성립

 

 

각 엔티티는 상호간에 하나만의 관계를 형성

1:M 관계

카디넬리티(Cardinality) - 1:M(One To Many)

 

한 명의 사원은 부서에 소속되고

한 부서에는 여러 사원을 포함한다.

 

업무 설계 시가장 흔하게 발생하는 관계의 형태로 부모와 자식의 관계처럼 계층적인 구조

 

 

각 엔티티는 관계를 맺는 다른 엔티티에 대해 하나 또는 다수 관계 형 성 (반대방향은 단지 하나만의 관계)

M:N 관계

 카디넬리티(Cardinality) - M:M(Many To Many)

 

하나의 주문서에는 여러 개의 제품을 포함할 수 있고

한 제춤은 여러 개의 주문서에 의해 신청될 수 있다.

 

양쪽 엔티티 모두 1:M 관계가 성립

 

각 엔티티는 관계를 맺는 다른 엔티티에 대해 하나 또는 다수 관계를 가짐 (반대방향도 동일)

  - 각 엔티티간의 관계를 다양한 카디널리티 표기법을 통해 표현가능

 

 

 나. 카디널리티의 표기법 

카디널리티 

최소

최대

표현

One

1

1

 

 

Many

> 1

> 1

 

 

Zero or one

0

1

 

 

One or many

1

> 1

 

 

Zeor or many

0

> 1

 

 

카디널리티의 레벨에 따라 다양한 활용이 가능

 

 다. 관계의 참여 방법

참여방법

내용

필수 관계

참여하는 모든 참여자가 반드시 관계를 가지는 타 엔티티 타입의 참여자와 연결이 되어야 하는 관계

선택 관계

선택 참여관계는 ERD에서 관계를 나타내는 선에서 선택 참여하는 엔티티타입 쪽을 원으로 표시

 

III. 카디널리티의 활용사례

구분

사례

설명

High Cardinality

주민번호사원번호

대한민국 전체가 서로 다른 주민번호 보유 

Normal Cardinality

이름의 성 컬럼

비교적 유니크한 데이터 값 

Low Cardinality 

성별부서지역

성별의 속성에는 남자여자 2개의 데이터값만 들어감

카디널리티 예측을 통한 쿼리성능 저하문제 해결에 활용 가능 

카디널리티가 높은 컬럼을 인덱스로 잡아 빠른 검색 구현

반응형