Home 이기적CBT) 놓친 개념 정리
Post
Cancel

이기적CBT) 놓친 개념 정리

반정규화 방법

테이블에 대해

  • 테이블 병합
    • 1:1 관계를 ~
    • 1:M 관계를 ~
    • 슈퍼/서브타입을 ~
  • 테이블 분할
    • 수직분할
    • 수평분할
      : 로우 단위로 집중 발생되는 트랜잭션 분석
      ==> 로우 단위로 테이블 쪼갬
  • 테이블 추가
    • 중복 테이블 ~
    • 통계 테이블 ~
    • 이력 테이블 ~
    • 부분 테이블 ~

칼럼(속성)에 대해

  • 중복칼럼 추가
    : 조인 감소 위해
  • 파생칼럼 추가
    : 트랜잭션 처리 시점에 계산 의한 성능저하 예방
  • 이력 테이블 칼럼 추가
    : 대량의 이력데이터 처리 시 성능저하 예방
      이력테이블에 기능성 칼럼(최근값 여부, 시작/종료일자) 추가
  • PK에 의한 칼럼 추가
    : 복합의미 갖는 PK를 단일 속성으로 구성했을 시에 발생
  • 응용시스템 오작동 위한 추가

관계에 대해

  • 중복관계 추가

관계의 반정규화는
  데이터 무결성 깨트릴 위험 X



정규형, 정규화의 종류

정규형

  1차 정규형

  모든 속성은 반드시 하나의 값을 가져야 함.

  2차 정규화

  모든 속성은 반드시 기본키 전부에 종속돼야 함.

  3차 정규화

  - 기본키가 아닌 모든 속성 간에는 서로 종속 불가.
  - 모든 속성들이 기본 키에 이행적인 함수 종속이 아님.

정규화

  1차 정규화

  모든 속성이 원자값만으로 구성된 형태
  ==> M:N 관계를 1:M 관계로 변환
ex) A에 해당되는 다른 칼럼의 값이 여러 개
  ==>해당 대응 칼럼 개수만큼 로우를 쪼갬

  2차 정규화

  부분적인 함수 종속성 존재
  ==>서로 관련있는 것끼리 수직분할

  3차 정규화

  이행함수 종속성 존재
(즉, A -> B, B -> C    <===> A -> C인 형태)

Contents