0. 관계의 개념
- 사전적 정의 : 상호 연관성이 있는 상태
- 데이터 모델링에서의 정의 : 엔터티의 인스턴스 사이의 논리적인 연관성에 대한 존재의 형태나 행위
- 서로에게 연관성이 부여된 상태
1. 관계의 분류
- 존재에 의한 관계와 행위에 의한 관계로 나눌 수 있다.
- ex) 황경빈이라는 사원이 DB팀에 '소속되어' 있다. -> 존재의 의한 관계
- ex) 김경재 고객은 '주문하여' 주문번호를 생성하였다. -> 행위에 의한 관계
- ERD에서는 존재적 관계, 행위에 의한 관계를 구분하지 않고 표현한다.
- 그러나 클래스다이어그램에서는 이것을 구분하여 연관관계와 의존관계로 표현한다.
2. 관계의 표기법 3가지 개념
2-1 관계명 (Membership)
- 엔터티가 관계에 참여하는 형태를 지칭한다.
- 각각의 관계명은 두 개의 관계명을 가지고 있다.
- ex) 부서는 사원을 '포함한다'. / 사원은 부서에 '소속된다.'
- 애매한 동사는 피해서 표기한다.
- 현재형으로 포함한다. ex) 수강을 신청한다. 강의를 한다.
2-2 관계차수 (Cardinality)
- 가장 일반적인 표현방법은 1:M, 1:1, M:N이다
- 고려해야 할 사항을 한 개의 관계가 존재하느냐, 아니면 두 개 이상의 관계가 존재하는지 파악한다.
- 관계 차수를 표시하는 방법은 crow's Foot 모델에서는 선을 이용해 표현한다.
- 한 개가 참여하는 경우에는 실선, 다수가 참여한 경우에는 까마귀 발 같은 모양을 사용한다.
2-3 관계선택사양 (Optionality)
- 참여하는 엔터티가 항상 참여하는지, 참여할 수도 있는지 나타내는 방법을 나타내는 방법이다
- 그 방법은 필수참여관계(Mandatory)와 선택적인 관계(Optional)가 된다.
- ex) 주문서와 주문목록 / 주문서는 반드시 주문목록이 필요하고, 주문목록도 주문서가 없으면 의미가 없으므로 이는 필수참여 관계가 된다.
- ex) 목록과 주문 / 목록은 주문이 될 수도 있고, 주문되지 않은 목록이 될 수도 있다. 이는 선택적인 관계가 된다.
3. 관계의 정의 유의사항
- 두 개의 엔터티 사이에 관심있는 연관 규칙이 있는가?
- 두 개의 엔터티 사이에 정보의 조합이 발생하는가?
- 업무기술서, 장표에 관계 연결에 데한 규칙이 서술되어 있는가?
- 업무기술서, 장표에 관계 연결을 가능하게 하는 동사(Verb)가 있는가?
'DB' 카테고리의 다른 글
[DB] 분산 데이터베이스 개념, 투명성, 장단점, 분류 (0) | 2022.05.24 |
---|---|
[DB] 식별자의 개념, 특징, 분류 (0) | 2022.05.21 |
[DB] 속성의 개념, 특징, 분류 (0) | 2022.05.19 |
[DB] 엔터티의 개념, 특징, 종류 (0) | 2022.05.18 |
[DB] 데이터 모델링의 특징과 종류 (0) | 2022.05.17 |