hello world

[SQLD 정리] 정규화/반정규화 본문

자격증/SQLD

[SQLD 정리] 정규화/반정규화

sohyun_92 2021. 5. 27. 15:46
728x90

[정규화/반정규화]

정규화란 ?

 . 데이터를 결정하는 결정자에 의해 함수적 종속을 가지고 있는 일반속성을 의존자로 하여

        입력/수정/삭제 이상을 제거하는 것이다.

   나. 데이터처리의 성능이 향상되나, 트랜잭션에 성능저하가 나타날 수 있음

 

함수적 종속성

    가. 데이터들이 어떤 기준값에 의해 종속되는 현상을 지칭하는 것.

    나. 종속자는 근본적으로 결정자에 함수적 종속성을 가지고 있다.

    EX ) 결정자(주민등록 번호) -----------------> 종속자(이름, 출생지, 주소)

 

 

1. 정규화의 특징

    가. 모델의 독립성 향상

    나. 데이터에 대한 중복성을 제거하여준다.

    다. 데이터베이스의 크기를 줄여준다.

    라. 찾아야할 데이터가 적어 쿼리가 더 빨라진다.

 

 

2. 정규화 절차

  1) 1정규화(1NF)

     가. 테이블의 중복을 제거한다.

     나. 분리된 테이블을 만든다, 분리된 테이블은 기본키로 식별한다.

  2) 2정규화(2NF)

     가. 부분 함수 종속성을 제거한다.

    (학번이 바뀌면 이름과 학과가 바뀐다. 이와 같이 데이터가 어떤 기준값에 의해 종속되는 현상을 지칭)

  3) 3정규화(3NF)

     가. 이행 함수 종속성을 제거한다.(기본 키를 제외한 속성 중 종속성이 발생하는 것)

  4) 4정규화(4NF)

     가. 칼럼 여러개가 하나의 칼럼에 종속 될 때 다중값 종속성을 제거한다.

 

3. 반정규화

  1) 반정규화의 특징

    가. 정규화된 엔티티, 속성, 관계에 대해 시스템의 성능향상과 개발 및 운영의 단순화를 위해

         중복, 통합 분리 등을 수행하는 데이터 모델링의 기법

    나. 일반적으로 정규화시 입력/수정/삭제 성능이 향상되며 반정규화시 조인 성능이 향상됨

    다. 테이블 조회가 간단, 조인 제거해서 성능을 향상

    라. 조회속도가 향상되지만 데이터 독립성이 낮아짐

  2) 반정규화 수행하는 경우

    가.정규화 시 수행 속도가 느려졌을 경우

    나.다량의 범위를 자주 처리해야 하는 경우

    다.특정 범위의 데이터만 자주 처리하는 경우

 

 

'자격증 > SQLD' 카테고리의 다른 글

[SQLD 정리] 데이터 모델링  (0) 2021.05.27
Comments