-
ERD 정리TIL ( Today I Learned ) 2023. 10. 15. 18:41
관계선의 종류
실선(Identifying) : 식별관계
- 부모테이블의 PK가 자식테이블의 FK/PK가 되는 경우
- 부모가 있어야 자식이 생기는 경우
- 부모 자식 관계에서 자식이 부모의 키를 외래키로 참조
점선(Non-Identifying) : 비식별관계
- 부모테이블의 PK가 자식테이블의 일반속성이 되는 경우
- 부모가 없어도 자식이 생기는 경우
- 부모 자식 관계에서 자식이 부모의 키를 일반 속성으로 참조
항목 식별자 관계 비식별자 관계 목적 강한 연결관계 표현 약한 연결관계 표현 자식 주식별자 영향 자식 주식별자의 구성에 포함됨 자식 일반 속성에 포함됨 표기법 실선 표현 점선 표현 연결 고려사항 - 반드시 부모엔티티 종속
- 자식 주식별자 구성에 부모 주식별자 포함 필요
- 상속받은 주식별자 속성을 타 엔티티에 이전 필요- 약한 종속관계
- 자식 주식별자 구성을 독립적으로 구성
- 자식 주식별자 구성에 부모 주식별자 부분 필요
- 상속받은 주식별자 속성을 타 엔티티에 차단 필요
- 부모쪽의 관계 참여가 선택관계기호의 종류
- |: 1개 / 실선은(dash) '1'을 나타낸다.
- ∈ : 여러개 / 까마귀 발(crow's foot or Many)은 '다수' 혹은 '그 이상'을 나타낸다.
- ○ : 0개 / 고리(ring or Optional)은 '0'을 나타낸다.
기호들의 조합
Type1 ( 실선과 실선 ) 정확히 1 ( 하나의 A는 하나의 B로 이어져 있다. ) Type2 ( 까마귀발 ) 여러개 ( 하나의 A는 여러개의 B로 구성되어 있다. ) Type3 ( 실선과 까마귀발 ) 1개 이상 ( 하나의 A는 하나 이상의 B로 구성되어 있다. ) Type4 ( 고리와 실선 ) 0 혹은 1 ( 하나의 A는 하나 이하의 B로 구성되어 있다. ) Type5 ( 고리와 까마귀발 ) 0개 이상 ( 하나의 A는 0또는 하나 이상의 B로 구성되어 있다. ) - 기호의 조합은 보통 그림 예제의 Type1, Type3, Type4, Type5 를 자주 사용하며, 사용하는 ERD 프로그램에 따라 조합 방식이 다를 수 있다.
- ex ) 상품 테이블과 상품의 옵션 테이블의 관계를 정의할 때, 상품의 옵션은 없을 수도 있고, 여러개가 있을 수 있기 때문에, 그림 예제 Type5로 표현이 가능하다.
- ( 1 : 1 ) 관계 : 부모는 하나의 자식 있다.
- ( 1 : N ) 관계 : 부모는 하나 이상의 자식이 있다.
- ( N : N ) 관계 : 하나 이상의 부모와 하나 이상의 자식이 있다.
- ( 1 : 1(o) ) 관계 : 부모는 하나의 자식이 있을 수도 있다. ( 없을 수도 있다. )
- ( 1 : N(o) ) 관계 : 부모는 여러개의 자식이 있을 수도 있다. ( 없을 수도 있다. )
참고 자료
2. https://eyecandyzero.tistory.com/246
3. https://parkhyeokjin.github.io/others/2018/11/07/DbERD.html
'TIL ( Today I Learned )' 카테고리의 다른 글
2023-05-11 : Java (0) 2023.05.11 2023-04-28 : git (0) 2023.04.28 2023-04-05 : Spring Security & Spring (0) 2023.04.25 2022-09-07 : ReactJS (0) 2022.09.07 2022-08-24 : Git & Java (0) 2022.08.24