본문 바로가기
IT/데이터 이론, 분석, 시각화

카디널리티 (feat. ERM)

by marketinkerbell 2022. 2. 5.
반응형

 

카디널리티


카디널리티는 두 entity type 사이 관계에서 한 종류의 entity가 다른 종류의 entity 몇 개에 대해서 관계를 맺을 수 있는지를 나타내는 개념이다. 

 

1:1  일대일

1:N  일대다

M:N  다대다

 

이렇게 3가지 관계가 있다. 

 

 


 



1:1 관계


일대일 관계는 A entity 하나가 B entity 하나에만 연결될 수 있고,

마찬가지로 B entity 하나도 A entity 하나에만 연결될 수 있는 관계를 의미 한다.

1:1 관계의 예는 법적 부부 관계, 시민과 주민등록증 관계가 있다.

 

 

 

 

 

 

 

 

 

1:N 관계


일대다 관계는 A entity 하나가 B entity 여러 개에 연결될 수 있고,

반대로 B entity는 A entity 하나에만 연결될 수 있는 관계를 의미한다.

1:N 관계로는 쇼핑몰 사이트에서 유저와 평가의 관계, 선생님과 수업의 관계가 있다.

 

 

 

 

 

 

 

 

 

M:N 관계


다대다 관계는 A entity 하나가 B entity 여러 개에 연결될 수 있고,

마찬가지로 B entity 하나도 A entity 여러 개에 연결될 수 있는 관계를 의미한다.

M:N 관계로 대표적으로는 유저와 상품 사이 찜하기 관계, 학생과 수업의 수강 관계가 있다.

 

 

 

 

 

 

 

 


 

 

 

 

최소 카디널리티


1:1, 1:N, M:N 관계는 각각 한 entity가 다른 entity에 대해서 최대 몇 개가 연결될 수 있는지를 표현한 것이다.

하지만, 특정 관계에서 각 entity가 하나도 없어도 되는지, 아니면 최소한 하나가 있어야 하는지를 나타내는 최소 카디널리티도 체크해야한다.

예를 들어 유저와 리뷰 entity가 있을 때,

유저가 아무 리뷰를 남기지 않았으면, 한 유저에 대해서 하나의 리뷰도 없어도 된다.

반면, 리뷰의 존재에는 꼭 하나라도 유저가 있어야만 한다.

이러한 내용이 최소 카디널리티다.

 

 

 

 

 

 


 

 

 

카디널리티 ERM에서 표현하기


ERM의 장점 중 하나는 entity들 사이의 카디널리티를 표현할 수 있다는 점이다.

1:N (일대다) 관계에서 "일"에 해당하는 entity 쪽에는 1의 의미로 수직선을 사용해서 표현하고,

"다"에 해당하는 entity 쪽에는  여러 개라는 의미로 선 세 개를 사용해서 표현한다.

 

 

 

 

 

 

 

 

 

 

각각 1:1, 1:N, M:N 관계를 이렇게 표현할 수 있다.

 

 

 

 

 

 

 

 

 

최소 카디널리티는 최대 카디널리티보다 선 안 쪽에 표시한다. 

한 관계에서 한 개도 없어도 되는 Entity면, 0을 의미하는 동그라미를, 

적어도 한 개가 꼭 있어야만 하는 Entity면 1을 의미하는 수직선을 사용한다.

 

 

 

 

 

 

 

 

 

 

 

 

댓글