기획자의 데이터 공부 - 데이터 모델링의 이해
* 관계명
- 엔티티가 관계에 참여하는 형태, 각 관계는 두 개의 관계명을 가짐
- 엔티티에서 관계가 시작되는 편을 관계 시작점이라고 부르고 받는 편을 관계 끝점이라고 부름
- 관계 시작점과 끝점 모두 관계 이름을 가져야 함. 능동적이거나 수동적으로 명명
- 애매한 동사는 피함 (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 자격증 공부를 위해 아카이빙한 글입니다.