ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SQL - 정규화
    SQL 2022. 12. 10. 16:15

    *정규화란?

    RDBMS 설계에서 중복을 최소화하게 데이터를 구조화하는 것

    자료 중복으로 이상 현상을 방지하기 위해 사용한다.

     

    *이상현상

    삽입 이상 : 원치않는 데이터도 삽입

    삭제 이상 : 원치않는 데이터도 삭제

    갱신 이상 : 데이터 일부만 갱신

     

    *정규화의 종류

    정규화는 1NF, 2NF, 3NF, BCNF, 4NF, 5NF가 있다.

    3NF까지 완료되었다면 정규화가 되었다고 본다.

    각 단계는 이전 단계를 기본적으로 모두 만족해야 한다.

     

    *1NF

    모든 항목에 값이 있어야 하며(NOT NULL), 중복열이 없어야 한다.

     

    *2NF

    개체의 속성이 한 식별자에 종속되어야 한다. (부분 함수 종속 제거)

    , 복합키를 없애야 한다는 뜻이다.

     

    *3NF

    X로 인해 Y가 결정되고 Y로 인해 Z가 결정되는 경우 (이행 함수 종속 제거)

     

    *역정규화

    정규화를 거칠수록 논리적으로는 맞지만 지나치게 정규화를 하게 되면 성능을 저하시킨다.

    성능을 위해 쪼개진 테이블을 다시 합치는 과정을 역정규화라고 한다.

     

    'SQL' 카테고리의 다른 글

    SQL - DATE TIME (날짜 표현)  (0) 2022.12.10
    SQL - AGGREGATE (집계 함수)  (0) 2022.12.10
    SQL - limit, offset (페이징)  (0) 2022.12.10
    SQL - auto_increment (자동 증가)  (0) 2022.12.10
    SQL - VIEW  (0) 2022.12.10
Designed by Tistory.