분석설계모델링-ERD
DB ERD 관계선(실선, 점선)과 기호
관계선의 종류
- 실선(Identifying): 식별관계
부모테이블의 PK가 자식테이블의 FK/PK가 되는 경우
부모가 있어야 자식이 생기는 경우
ex) Issue 테이블과 IssueComment 테이블이 있을 경우, IssueComment는 Issue가 존재해야지만 있을 수 있음
- 점선(Non-Identifying): 비식별관계
부모테이블의 PK가 자식테이블의 일반속성이 되는 경우
부모가 없어도 자식이 생기는 경우
ex) User 테이블과 Process가 있을 경우, User가 담당 프로세스가 있다고 하더라도, Process는 User없이도 존재할 수 있음
개체가 강한 개체 타입을 갖는 경우(비 식별자적 관계)에는 점선, 약한 개체 타입(식별자적 관계)을 갖는 경우에는 실선으로 표시합니다. N쪽의 관계를 표현하기 위해서는 새발을 그려줍니다. o을 그려주는 것은 최소 참여가 0인 경우 즉 최소참여이고, |을 그려주는 것은 최소 참여가 1인 경우 즉 필수 참여인 경우입니다.
직원이 특정 부서에 소속되어 있는 경우 그리고 직원이 부양가족이 있는 경우에 대한 ER다이어그램을 IE 표기법을 나타내면 다음과 같습니다.
직원은 반드시 부서에 소속되어야 하므로 비식별자적 관계 즉, 점선으로 이어져있어야 하며
부서에 직원이 없을 수도 있으므로 부서에 대응하는 직원에 o 표시를 넣어주고, 모든 직원은 부서에 포함되어야 하므로 | 을 그려줍니다.
그리고 직원은 부양가족이 있을 수도 있고 없을 수도 있으므로 대응하는 부양가족의 표시에 o를 넣어주지만 부양가족은 자신들을 부양해주는 사람(직원)이 반드시 있어야 하므로 대응하는 직원의 표시에 |를 넣어줍니다. 또한 부양가족은 직원이 없이 부양가족의 이름만으로는 식별이 불가능하므로 (직원번호, 이름)을 식별자로 사용하며 실선으로 표기합니다.