DB 이야기/DB 도메인 설계

2] 식별자와 비식별자 관계 설정

김푸른초푸른 2020. 8. 11. 22:37

1) 식별자관계만 이용하여 데이터 모델링을 전개할 경우

= PK 속성의 숫자가 증가 할수록 관련된 SQL 구문이 복잡해져 복잡성으로 인한 개발오류 유발

 

2)  식별자관계만 이용하여 데이터 모델링을 전개할 경우

= 데이터간 과다 조인을 유발하여 성능저하를 일으킴 

 

3) 해결법 

= 위의 오류를 해결하기 위한 방법

1. 데이터 모델 관계 도출시, 식별자 / 비식별자관계의 의미를 정확하게 이해하고 업무적 특징, 조인관계, pk 구성을 고려하여 결정하기

 

4) pk구조 영향 받는 사실 

= 식별자끼리만 연결시 pk 속성의 수 증가 

 

5) 비식별자끼리로만 연결시

문제점 1. 테이블 마다 중요한 기준속성이 있다. 

-> 부모 엔티티타입에 있는 pk 속성에서 자식 엔티티타입에 존재하는 경우가 많이 있다. 

=> 이것이 비식별자 관계로 묶여서 차단당하면 데이터 조회를 위해 부모 테이블까지 찾아가야한다. 

 

6) 비식별자 관계 선정하는 기준

1. 식별자 관계

- 목적 : 강한 연결관계 

- 자식 pk 영향 : 자식 pk의 구성에 포함

- 표기법 : 실선

- 연결 고려사항

1) 반드시 부모 엔티티타입 종속

2) 자식pk 구성에 부모 pk 포함 필요

3) 상속받은 pk 속성을 타 엔티티타입에 이전 필요

 

2. 비식별자 관계

- 목적 : 약한 연결관계 표현

- 자식 pk 영향 : 자식 일반 속성에 포함

- 표기법 : 점선연결

- 연결 고려사항

1) 약한 종속관계

2) 자식 pk 구성을 독립적으로 구성

3) 자식 pk 구성에 부모 pk 부분 불필요

4) 부모 쪽의 관계 참여가 선택 관계임

5) 상속받은 pk 속성을 타 엔티티타입에 재상속 차단 필요 

 

 

 

출처 : 아는만큼 보이는 데이터베이스 설계와 구축

'DB 이야기 > DB 도메인 설계' 카테고리의 다른 글

4] 엔티티 타입, 통합? 분리?  (0) 2020.08.11
3] 이력 유형 데이터 모델링  (2) 2020.08.11
1] PK 컬럼 순서  (0) 2020.08.07
모델링 기법  (0) 2020.03.23
디비 이야기 14. ERD와 이상, 정규화  (0) 2020.03.08