ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [DB] 정규화 (Normalization)
    DB 2020. 7. 2. 11:24
    728x90
    • 데이터의 중복과 중복으로 인한 이상(Anomaly)을 최소한으로 줄이기 위한 방법
    • 이상(Anomaly)
      • 삽입 이상(Insertion Anomaly) : 튜플 삽입시 불필요한 데이터가 함께 삽입되거나 데이터가 부족해 삽입이 되지 않는 현상
      • 갱신 이상(Modification Anomaly) : 중복 튜플 중 일부만 변경되어 데이터가 불일치가 발생하는 현상
      • 삭제 이상(Deletion Anomaly) : 튜플 삭제시 원치 않는 튜플도 함께 삭제되어 데이터 손실이 발생하는 현상

    제1정규형(1NF: First Normal Form)

    • 모든 애트리뷰트의 도메인은 원자값만을 가져야함

    제2정규형(2NF: Second Normal Form)

    • 제1정규형을 만족해야함
    • 모든 애트리뷰트들에 부분적 함수 의존성이 없어야함(완전 함수적 종속이여야함)

    완전 함수적 종속성

    • X -> Y 라 가정
    • X의 어떠한 애트리뷰트라도 제가하면 함수적 종속성이 만족 안함
    • 즉, Y가 X의 부분집합에 종속하지 않아야함

    제3정규형(2NF: Third Normal Form)

    • 제1, 2정규형을 만족해야함
    • 이행적 종속성을 제거해야함

    이행적 종속성

    • A -> B, B -> C 가 성립하고 A -> C 가 성립되는 함수 종속성

    BCNF 정규형

    • 제1, 2, 3 정규형을 만족해야함
    • 모든 결정자가 후보키여야함

    정규화의 장점

    • 데이터의 중복과 이상현상을 제거할 수 있음
    • DB구조 확장시 구조의 변화의 영향이 적음

    단점

    • 릴레이션간의 JOIN연산의 증가
    728x90

    'DB' 카테고리의 다른 글

    [DB] 반정규화(Denormalization)  (0) 2020.07.14
    [DB] 데이터 모델 (Data Model)  (0) 2020.07.12
    [DB] 트랜잭션이란?  (0) 2020.03.02
    [DB] ACID란?  (0) 2020.03.02
    [DB] ORM이란?  (0) 2020.03.02
Designed by Tistory.