sqld 공부

SQLD 39회 기출 문제 풀이

지늬j 2022. 8. 29. 13:26

# 반정규화

  • 시스템의 성능 향상, 개발 및 운영 편의성 등을 위해 정규화된 데이터 모델을 의도적으로 정규화 원칙을 위배하는 행위
  • 반정규화 수행 시 시스템 성능 향상, 관리 효율성 증가 BUT 데이터 일관성 및 정합성 저하 가능성 O
  • 과도한 반정규화는 오히려 성능 저하
  • 반정규화를 위해서는 데이터 일관성, 무결성을 우선으로 할지 데이터베이스 성능, 단순화를 우선으로 할지 결정 必

 

# 반정규화의 대상

  • 디스크 I/O량이 많아 성능저하
  • 경로가 너무 멀어 조인으로 성능저하
  • 컬럼을 계산하여 읽을 때 성능 저하

 

# 반정규화 기법 - 1 테이블 병합

  • 1:1 관계
  • 1:M 관계 
  • 슈퍼/서브타입

 

# 반정규화 기법 - 2 테이블 분할

  • 수직분할
  • 수평분할

 

# 반정규화 기법 - 3 테이블 추가

  • 중복테이블 추가
  • 통계테이블 추가 : SUM,AVG를 미리 수행하여 계산해둬 조회 시 성능을 향상
  • 이력테이블 추가

 

# 정규화 과정

  • 제 1 정규화 : 테이블의 속성 하나는 하나의 속성값만을 가져야한다
  • 제 2 정규화 : 기본키 중에 특정 컬럼에만 종속된 컬럼이 존재할 경우 테이블을 분해,분리한다.
  • 제 3 정규화 : 제2정규형을 만족하는 상태에서 이행 함수 종속을 제거하는 정규화 과정                                                (= 주식별자를 제외한 칼럼간에 종속성을 확인해서 종속성이 있으면 분할하는 과정이다.)

 

# 슈퍼/서브타입 데이터 모델의 변환타입 비교

# 엔터티의 종류

  • 유형, 무형 기준 : 유형 엔터티, 개념 엔터티, 사건 엔터티
  • 발생시점 기준 : 기본 엔터티, 중심 엔터티, 행위 엔터티

 

# 이외의 엔터티 종류

  • 독립 엔터티 : 사람, 장소 등과 같이 현실세계에 존재하는 엔터티
  • 업무중심 엔터티 : 트랜잭션이 실행되면서 발생하는 엔터티
  • 종속 엔터티 : 1차 정규화로 인해 관련 중심엔터티로부터 분리된 엔터티
  • 교차 엔터티 : M:N의 관계를 해소하려는 목적으로 만들어진 엔터티

 

 

'sqld 공부' 카테고리의 다른 글

SQLD 35회 기출 문제 풀이  (0) 2022.08.30
SQLD 38회 기출 문제 풀이  (1) 2022.08.27
SQLD 34회 기출 문제 풀이  (0) 2022.08.24
SQLD 33회 기출문제 풀이  (0) 2022.08.23
Entity(엔터티)란?  (0) 2022.08.22