1. 성능저하의 의미
= 여러개의 테이블에서 조인으로 데이터를 읽어 들어화서 일정한 순서대로 조인시 업무적인 조건에 따라 성능저하가 나타남.
2. 자기참조관계의 종류
1) 1:1
= 사건번호 하나에 자사건번호가 한 개만 올 수 있다.
2) 1:M (가장 많이 적용)
= 상위 조직 하나에 여러 하위 조직이 올 수 있다.
= 다시 하위 조직 하나는 그 하위 조직 여러개를 거느리는 경우
3) M:N
= 부품 1은 상위부품으로 2도 구성할 수 있고 4도 구성할 수 있다.
-> 겸직이 많아짐
3. 자기참조관계 주의점
1. 관계의 연결이 되는 속성에 인덱스 설정
= 불필요한 FULL SCAN 을 발견시,
해결책 : 해당 테이블의 엔티티를 연결하는 속성에 대해 인덱스를 걸어주는 것
-> 반드시 연결이 되는 컬럼에 대해 인덱스를 설정해야 연결 관계를 풀어가면서 발생할 수 있는 FULL TABLE SCAN 예방
2. 자기참조관계에 적합한 SQL 문장 실행
EX) SELECT 관련번호
, 관련번호이름
FROM 자기참조 테이블
START WITH 관련번호 = '10001'
CONNECT BY PRIOR 원번호 = 관련번호
4. M:N 자기참조관계
= 물리적 테이블에서 동일한 스키마를 구성할 수 없다는 것이 관계형 데이터베이스의 특징
* 조인 과부하문제로 가급적 1:M관계로 데이터를 조정하여 처리하도록 해보고 불가피한 경우에만
관계 엔티티타입을 이용하여 모델링에 적용하도록 하는 것이 좋다.
출처 : 아는만큼 보이는 데이터베이스 설계와 구축
'DB 이야기 > DB 도메인 설계' 카테고리의 다른 글
4] 엔티티 타입, 통합? 분리? (0) | 2020.08.11 |
---|---|
3] 이력 유형 데이터 모델링 (2) | 2020.08.11 |
2] 식별자와 비식별자 관계 설정 (0) | 2020.08.11 |
1] PK 컬럼 순서 (0) | 2020.08.07 |
모델링 기법 (0) | 2020.03.23 |