[관계 표기]
* 관계명
- 엔티티가 관계에 참여하는 형태, 각 관계는 두 개의 관계명을 가짐
- 엔티티에서 관계가 시작되는 편을 관계 시작점이라고 부르고 받는 편을 관계 끝점이라고 부름
- 관계 시작점과 끝점 모두 관계 이름을 가져야 함, 능동적이거나 수동적으로 명명
- 애매한 동사는 피함(e.g. 관계된다, 관련있다, 이다, 한다), 현재형으로 표현
* 관계차수
- 관계차수 : 두 엔티티간 관계에서 참여자의 수를 표현하는 것
- 1:1 one to one : 관계에 참여하는 각 엔티티는 관계를 맺는 다른 엔티티의 엔티티에 대해 단지 하나의 관계만 가짐
- 1:M one to many : 각 엔티티는 관계를 맺는 다른 엔티티의 엔티티에 대해 하나나 그 이상의 관계
- M:M many to many : 두 개의 주식별자를 상속받은 관계 엔티티를 이용해서 세개의 엔티티로 구분하여 표현
* 관계 선택 사양
- 참여하는 엔티티가 항상 참여하는지 아니면 참여할 수도 있는지를 나타내는 방법이 필수와 선택참여
- 필수참여 : 참여하는 모든 참여자가 반드시 관계를 가짐
- 선택참여 : 물리속성에서 foreign key로 연결될 경우 null을 허용할 수 있는 항목
- 관계선택사양은 관계를 통한 상대방과의 업무적인 제약조건을 표현하는 것으로 간단하고 중요한 표기법
[관계 정의와 읽기]
* 관계 체크사항
- 두 개의 엔티티 사이에 관심있는 연관 규칙이 존재하는가
- 두 개의 엔티티 사이에 정보의 조합이 발생되는가
- 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가
- 업무기술서, 장표에 관계연결을 가능하게 하는 동사가 있는가
* 관계 읽기
- 기준 엔티티source를 한 개one 또는 각each으로 읽음
- 대상 엔티티target의 관계참여도 (개수)를 읽음
- 관계선택사양과 관계명을 읽음
'SQLD' 카테고리의 다른 글
[SQLD : Ⅰ. 데이터 모델링의 이해] 4-2. 식별자관계와 비식별자관계 (0) | 2020.08.06 |
---|---|
[SQLD : Ⅰ. 데이터 모델링의 이해] 4-1. 식별자 (0) | 2020.08.06 |
[SQLD : Ⅰ. 데이터 모델링의 이해] 3-1. 관계의 개념, 분류 (0) | 2020.08.05 |
[SQLD : Ⅰ. 데이터 모델링의 이해] 2-3. 도메인, 속성 명명 (0) | 2020.08.05 |
[SQLD : Ⅰ. 데이터 모델링의 이해] 2-2. 속성의 특징, 분류 (0) | 2020.08.05 |