1. 정규화[Normalized Database]?

  1. [설명]
    1. 중복을 최소화하도록 설계된 데이터베이스를 말합니다
    2. 데이터를 구조화하는 작업이라고도 말합니다
    3. 특정조건을 만족하는 릴레이션의 스키마 형태로 제 1정규형, 제 2 정규형, 제 3정규형, BCNF형이 존재합니다
  2. [장점]
    1. 데이터베이스 변경 시 이상현상을 제거해줍니다
    2. 효과적인 검색 알고리즘을 생성해줍니다
    3. 데이터 구조의 안정성, 무결성 유지등이 있습니다
  3. [단점]
    1. Join연산의 증가로 응답시간이 저하된다는 점입니다

2. 비정규화[Denormalized Database]?

  1. [설명]
    1. 읽는 시간을 최적화하도록 설계된 데이터베이스를 말합니다
    2. 하나 이상의 테이블에 데이터를 중복해 배치하는 ‘최적화 기법’을 말합니다
    3. 시스템의 성능향상과 개발 및 운영의 편의성 등을 위해 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로 ‘의도적으로’ 정규화 원칙을 위배하는 행위를 뜻 합니다
  2. [장점]
    1. 빠른 데이터 조회입니다(Join 비용이 줄어듭니다)
    2. 데이터 조회 쿼리의 간단화 입니다
  3. [단점]
    1. 데이터 갱신이나 삽입 비용이 높습니다
    2. 데이터의 무결성을 해칩니다
    3. 데이터 중복저장으로 인한 추가 저장공간 확보가 필요합니다