DB 이야기/DB 도메인 설계

4] 엔티티 타입, 통합? 분리?

김푸른초푸른 2020. 8. 11. 23:05

1. 엔티티타입 통합의 장, 단점 6가지

1] 성능 

- 효과 : 좋아짐 현상, 나빠짐 현상 모두 존재

- 특징 

1. 장점 

   = 조인 발생을 최소화하여 성능 저하를 예상 가능 (정보가 한 군데에 집약됨)

2. 단점

   = 대량의 데이터가 한 군데에 존재할 경우, 트랜젝션의 집중 현상과 데이터량 증가로 인해 성능 저하가 나타남

- 고려요소

1. 정보의 양이 대용량

2. 트랜젝션이 집약된 정보에 집중될 거라 예상시

=> 엔티티타입 분리가 바람직함

 

2] 속성 제약

- 효과 : 나빠짐

- 특징 

1. 고유한 속성의 제약조건을 걸지 못함

2. 제약조건을 컬럼에 걸지 못함

- 고려요소 

: 어플리케이션에서 모두 체크 해야함

 

3] 유연성 

- 효과 : 나빠짐

- 특징

* 분리시, 각각의 엔티티 타입별로 다른 엔티티타입과 가질 수 있는 관계 통합하면 

-> 관계가 모호해지거나 정확한 관계를 설정할 수 없게 됨

- 고려요소

: 논리적 데이터 모델의 경우 : 유연성이 중요함! 

 

4] 업무 이해도

- 효과 : 나빠짐

- 특징 

* 고유한 관계의 해석이 안 되므로 데이터 모델만을 보고 업무 파악에 어려움 발생

- 고려사항

: 논리와 물리 데이터 모델을 구분하여 생성가능

 

5] 복잡도

- 효과 : 복잡도 낮아짐

- 특징

= 여기저기 비슷한 정보가 흩어져 있어 복잡해 보이는 데이터 모델을 단순하게 유도

 

6] 유지보수성

- 효과 : 좋아짐

- 특징

= 관리해야할 테이블의 수가 줄어들어 유지보수 용이

 

2. 엔티티타입 통합과 성능

= 정보를 집약적으로 조회함으로써 향상될 수 있음.

-> 엔티티타입을 분리했을시 조인 수를 증가시켜 성능 저하를 가져올 수 있다. 

=> 트랜젝션도 마찬가지다.

다만, 트랜젝션은 해당 테이블에 발생하는 트랜잭션 특성을 보고 판단해야한다. 

 

3. 속성의 제약

= 두 개 이상의 다른 유형의 엔티티타입을 통합하면, 각각 가지는 고유한 속성의 제약 조건을 지정할 수 없게 되는 성질을 가지는 것을 의미.

 

* 속성에 대한 제약조건을 정확하게 지정해야 하는 중요한 데이터 값을 입력시, 가급적 개별적으로 엔티티타입을 유지시키는 모델로 데이터 모델을 만들어 가는 것이 좋다. 

 

4. 유연성과 업무 이해도

= 비슷한 유형의 엔티티타입이 분리되면 복잡성이 증가

-> 엔티티타입이 통합되면 복잡성이 감소 

 

 

 

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

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

5] 자기참조관계 모델링 기법  (0) 2020.08.12
3] 이력 유형 데이터 모델링  (2) 2020.08.11
2] 식별자와 비식별자 관계 설정  (0) 2020.08.11
1] PK 컬럼 순서  (0) 2020.08.07
모델링 기법  (0) 2020.03.23