📚FOS Study
홈카테고리
홈카테고리
📚FOS Study

개발 학습 기록을 정리하는 블로그입니다.

바로가기

  • 홈
  • 카테고리

소셜

  • GitHub
  • Source Repository

© 2025 FOS Study. Built with Next.js & Tailwind CSS

목록으로 돌아가기
🗄️database/ 역정규화

역정규화

약 1분
GitHub에서 보기

역정규화

  • https://bellog.tistory.com/125

역정규화(Denormalization)란?

  • 정규화된 릴레이션을 다시 통합하거나 분할하여 구조를 재조정하는 과정
  • 정규화를 한다는 것은 하나의 릴레이션을 여러 개의 릴레이션으로 분해한다는 것을 의미
  • 원하는 데이터를 얻기 위해서는 다수의 릴레이션을 참조해야 한다
  • 이는 데이터베이스에서 저장된 자료를 검색하는 시간을 증가시키고 성능 저하의 결과를 초래할 수 있다
  • 때문에 데이터베이스의 물리적 설계 과정에서 성능을 향상시키기 위해서는 역정규화의 과정이 필요

역정규화의 종류

  1. 릴레이션 역정규화
  • 두 릴레이션을 합하거나 하나의 릴레이션을 분할하는 방법
  • 릴레이션 병합 : 두 릴레이션 간의 잦은 참조로 성능이 저하될 경우 이 문제점을 해결하기 위해 병합
  • 릴레이션 분할 : 자주 사용하는 속성이나 튜플을 분해하여 성능을 향상 시키는 방법
    • 릴레이션의 데이터를 검색할 때는 목록을 순차적으로 조회
    • 이 때 자주 사용하지 않는 속성이나 튜플이 있다면 검색이 느려짐
    • 수직 분할 : 자주 사용하는 속성과 그렇지 않은 속성 분할
    • 수평 분할 : 자주 사용하는 튜플과 그렇지 않은 튜플 분할
  1. 속성 역정규화
  • 검색 성능을 향상시키기 위해 속성을 추가하거나 필요한 속성을 만듬
  • 속성 추가 : 자주 사용하는 외래키 속성 추가
  • 파생 속성 추가 : 현재 릴레이션에 없는 속성이지만 작업 효율을 위해 새로운 속성 추가
database 카테고리의 다른 글 보기수정 제안하기
목차
  • 역정규화
  • 역정규화(Denormalization)란?
  • 역정규화의 종류