[CS / DataBase] 정규화와 비정규화

2022. 6. 26. 01:36·Computer Science

요약

DB 정규화(Normalization)

  • 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스
  • 목적
    • 불필요한 데이터를 제거, 데이터의 중복을 최소화 하기 위함
    • 데이터베이스 구조 확장 시 재디자인을 최소화
    • 다양한 관점에서의 query를 지원하기 위함 : JOIN을 통해서 원하는 정보를 가져옴
    • 무결성 제약조선의 시행을 간단하게 하기 위함 : 데이터의 정확성, 일관성, 유효성 유지
    • 각종 이상 현상(Anomaly)을 방지하기 위해서, 테이블의 구성을 논리적이고 직관적으로 한다.

 

DB 반정규화(Denormalization)

  • 복잡한 쿼리 속도를 높이고 성능을 향상시키기 위해 테이블에 중복 데이터를 추가하는 프로세스
  • 사용 대상
    • 자주 사용되는 테이블에 액세스하는 프로세스의 수가 가장 많은 경우
    • 항상 일정한 범위만을 조회하는 경우
    • 테이블에 대량 데이터가 있고 대량의 범위를 자주 처리하는 경우
    • 성능 상 이슈가 있을 경우
    • 테이블에 지나치게 조인을 많이 사용하게 되어 데이터를 조회하는 것이 기술적으로 어려울 경우
  • 주의점
    • 반정규화를 과도하게 적용하다 보면 데이터의 무결성이 깨질 수 있다
    • 입력, 수정, 삭제의 질의문에 대한 응답 시간이 늦어질 수 있다.

 

 

 

 


참조

 

[데이터베이스] 정규화 vs. 비정규화(반정규화)

💡 정규화 vs. 비정규화(반정규화) 데이터베이스 정규화 데이터베이스 비정규화 데이터베이스 비정규화(Denormalization, 반정규화)란 무엇인가? 장점, 단점 비정규화 대상 주의점 정규화(Normalized)란

owlyr.tistory.com

 

[Database] DB 정규화 & 비정규화란?

안녕하세요. 이번 포스팅엔 DB 정규화에 대한 내용을 정리해보려고 합니다!관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스를 정규화라고 한다. 데이터베이

velog.io

 

'Computer Science' 카테고리의 다른 글
  • [CS / DataBase] 데이터베이스 무결성
  • [CS / DataBase] ER 다이어그램
  • [CS / DataBase] 관계 유형(1:1 1:N N:M)
  • [CS / DataBase] DB언어(DDL, DML, DCL)
마볼링
마볼링
개발과 게임에 관한 내용을 읽기 쉽게 정리합니다.
  • 마볼링
    게임을 좋아하는 개발자의 블로그
    마볼링
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Project
        • LOATODO
        • 인스타그램 클론코딩(중단)
      • Language
        • Java
        • PHP
        • Javascript
      • Framework & Library
        • Spring
        • Vue
      • Computer Science
        • Web
        • Linux
      • CodingTest
        • Algorithm
        • Kotlin으로 푼 코딩 테스트
        • Java로 푼 코딩 테스트
        • Sorting & Thinking
        • BFS
      • 책&강의 정리
      • 정보처리기사
      • 개인
        • 팰월드(PALWORLD)
        • 마인크래프트
  • 블로그 메뉴

    • 링크

      • GitHub
      • Threads
    • 공지사항

    • 인기 글

    • 태그

      springboot
      티스토리챌린지
      error
      CS
      java
      php
      이터널 모드
      네트워크
      codingtest
      운영체제
      LoaTodo
      오블완
      Database
      코딩테스트
      프로그래머스
      jsp
      Spring
      로아투두
      아크 서바이벌
      JPA
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.1
    마볼링
    [CS / DataBase] 정규화와 비정규화
    상단으로

    티스토리툴바