티스토리 뷰

Relation의 Mapping Cardinality

 

 

저번 포스팅에서 Relation에 대해 설명하면서 제가

한 employee는 한 office에만 근무할 수 있지만, 한 office는 여러 employee를 고용할 수 있다.

라고 말했습니다.

 

이 문장이 오늘 말하고자 하는 Mapping cardinality의 전부입니다.

Mapping cardinality는 몇 대 몇 대응인지를 나타냅니다.

중학교 때 함수를 배우면서 몇 차 함수냐에 따라 한 값을 여러 개가 나타낼 수 있는 점을 배웠는데요,

 

Entity들의 relation 사이에서의 mapping cardinality도 같습니다.

위 문장은 many to one이라고 할 수 있습니다.

물론 office가 one이고, many가 employee 이겠죠.

 

이걸 어떻게 구분하느냐?

간단합니다.

 

many (    ) can have one (    )

many (    ) can have many (    )

one (    ) can have one (    )

one (    ) can have many (    )

 

이때 오른쪽 괄호에 들어갔을 때 문장이 알맞은 entity가 그 특성을 가지고 있는 것입니다.

위 문장을 예로 들었을 때, 우선 many to one인 것은 확실하므로

 

many employee can have one office는 좀 해석하기 모호하더라도 one office can have many employee가 문장의 의미가 맞기 때문에

쉽게 파악할 수 있습니다.
 
이런걸 그렇다면 왜 구분해야 하느냐?
ER modeling을 할 때 ER diagram을 그리게 되는데, 이 때 relation을 나타내면서 mapping cardinality도 같이 표현하기 때문입니다.
 
예를 들어 → 로 연결되면 one을 나타내고 ─ 로 연결되면 many를 나타냅니다.
이 부분만 diagram으로 그리면
 

Employee 

 ──────────────────→

 Office

 

이렇게 되고 office 쪽을 가르키는 화살표로 one 대응인 것을 표현합니다.

 

이런식으로 mapping cardinality를 diagram에서 나타내는 방법은 여러 가지가 있습니다.

 

mapping cardinality에 대한 이미지 검색결과

이런 식으로 1과 M을 통해 one, many를 각각 나타낼 수도 있고,

 

mapping cardinality에 대한 이미지 검색결과

이런식으로 대응할 수 있는 최솟값:최댓값을 나타낼 수 있습니다.

 

mapping cardinality 중에 total participation이라는 것이 있는데요, 이는 무조건 꼭 한 번은 대응이 돼야 한다는 것을 의미합니다.

마지막 다이어그램에서 최솟값이 1이면 total participation임을 알 수 있습니다.

 

이렇게 mapping cardinality에 대한 포스팅도 마쳤는데요,

제가 포스팅하지 않고 지나간 부분은 중간고사 요점정리 글과 곧 올릴 기말고사 요점정리 글을 참고하시면 될 것 같습니다.

다음 포스팅은 sql query로 찾아오도록 하겠습니다!

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함