본문 바로가기

Database

Database - Relationship - Terminologies and types

Cardinality Ratio Constraint

관계가 있는 두 엔티티에 대해서

한 개체가 다른 개체와 어떤 관계에 있는가 나타내는 제약조건이다

 

 

그런데 주의할점은

이걸 ER 다이어그램으로 만들때 조금 헷갈리는게 있다.

 

이 예시에서 부모는 자녀가 둘 셋일수 있지만

자식은 부모가 하나 뿐이다. 

 

1:M 관계인데, 1에 해당하는 parent 쪽에 1을 명시해주고,

M에 해당하는 선 위에 M을 표시하면 된다

(이거 막상 해보면 은근히 헷갈린다!)

 

Participation Constraint(참여 제약조건)

관계가 있는 두 엔티티에 대해 한 개체가 다른 개체에 

얼마나 의존하는가 하는 개념이다.

 

예를들어, 학생이 대학에서 과목을 수강한다면,

학생은 A과목을 수강해도 되고, 안해도 된다. (물론 이러다간 유급당하지만)
그러나, A과목은 수강생이 반드시 있어야 된다. 아니면 폐강이기 때문이다

 

(실제로 교양중에 이런 과목 있다)

 

이걸 전체(Total) 과 부분(Partial) 참여라고 하고, 다음 그림과 같이 명시한다

Total의 경우 두줄로 표현하고

Partial의 경우 한줄로 표현하면 된다.

 

 

Recursive relationship(순환적 관계)

Employee에서도 나름대로 서열이란게 있다.

일개 주니어, 시니어, 팀장, CTO까지 여러 직급이 있을텐데

어쨋건 Employee라는 범주에 있지만, 엔티티로 나누면 결론적으로 자기순환(?)적 관계가 되는데

이걸 순환적 관계라고 부른다.

 

사실 DB 설계에서 이 관계는 엔티티 관련 수정시

관계가 굉장히 복잡해지므로 그리 선호받지는 않는다.

'Database' 카테고리의 다른 글

Database - Basics of ER Model  (0) 2023.06.09