(2023.2.17) Today_I_Learned_day-124

imRound·2023년 2월 17일
post-thumbnail

정규화 데이터베이스

  • 중복을 최소화하도록 설계된 데이터베이스

장점

  • 데이터베이스 변경 시 이상현상(Anomaly)제거
    • 이상현상(Anomaly): 중복된 정보로 인해 발생하는 문제들
  • 데이터 구조의 안정성 및 무결성 유지

단점

  • 테이블 크기가 아주 클 경우 릴레이션 간의 JOIN 연산이 증가한다.
    • 이로 인한 질의에 대한 응답 시간이 저하된다.

이상현상(Anomaly)

  • 삽입 이상(Insertion Anomaly): 원하지 않는 자료가 삽입된다든지, 삽입하는데 자료가 부족하여 삽입이 되지 않아 발생하는 문제점
  • 삭제 이상(Deletion Anomaly): 하나의 자료만 삭제하고 싶지만, 그 자료가 포함된 튜플 전체가 삭제됨으로
    원하지 않는 정보 손실이 발생하는 문제점
  • 갱신 이상(Modification Anomaly): 정확하지 않거나 일부의 튜플만 갱신되어 정보가 모호해지거나 일관성이 없어져
    정확한 정보 파악이 되지 않는 문제점

⇒ 이상현상은 정규화를 통해 방지할 수 있다.

비정규화 데이터베이스

관계형 데이터베이스(relational database)를 사용하는 경우,

  • 읽는 시간을 최적화하도록 설계된 데이터베이스
  • 개발 및 운영의 편의성 등을 위하여 의도적으로 정규화 원칙을 위배하는 행위

장점

  • 빠른 데이터 조회 ⇒ JOIN 연산의 비용을 줄일 수 있다.

단점

  • 반정규화를 과도하게 적용하다 보면 데이터의 무결성이 깨질 수 있다.
profile
Django 개발자

0개의 댓글