DBMS/이론

반정규화

SZCODE 2020. 10. 21. 16:37

1. 반정규화

 정규화된 엔티티타입, 속성, 관계를 시스템의 성능향상, 개발 운영의 단순화를 위해 모델을 통합하는 프로세스

<정규화>

 장점: 모든 엔티티타입, 속성, 관계가 반드시 한 개만 존재하므로 데이터 값이 변질되거나 이질화 될 가능성이 없다.

 

 단점 : 여러 테이블이 생성되어야 하므로 SQL 작성이 용이하지 않고 과다한 테이블 조인이 발생해 성능이 저하될 가능성이 높다.

 

<반정규화>

 장점: 여러 개의 테이블이 단순해져서 SQL 작성이 용이하고 성능이 향상된다.

 

 단점 : 같은 데이터가 여러 테이블에 걸쳐 존재하므로 무결성이 깨질 수 있다.

2. 테이블 반정규화

  • 1:1 관계의 테이블 병합
  • 1:N 관계의 테이블 병합
  • 수퍼/ 서브 타입 테이블 병합
  • 수직 분할 (컬럼)
  • 수평 분할 (행)
  • 테이블 추가

3. 컬럼 반정규화

  • 자주 조회하는 컬럼은 중복컬럼 추가
  • 파생 컬럼 추가
  • PK 컬럼 추가
  • 시스템 오작동 컬럼 추가

4. 관계 반정규화

  중복 관계 추가하여 조회 경로를 단축

'DBMS > 이론' 카테고리의 다른 글

DB 설계  (0) 2020.10.21