• 정규화란?
    • 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어 가는 과정
    • 제 1, 2, 3, BCNF, 4, 5 정규형이 있으며, 차수가 높아질수록 만족시켜야 할 제약조건이 늘어남.
    • 데이터베이스의 논리적 설계 단계에서 수행
    • 논리적 처리 및 품질에 큰 영향을 미침
  • 목적
    • 데이터 구조의 안정성을 최대화.
    • 어떠한 릴레이션이라도 데이터 베이스 내에서 표현 가능하게 만듬.
    • 효과적인 검색 알고리즘을 생성 할 수 있음.
    • 중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 방지
    • 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄임
  • Anomaly(이상)의 개념 및 종류
    • 개념 : 정규화를 거치지 않으면 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조직 시 예기치 못한 곤란한 현상이 발생
    • 종류 : 
      1. 삽입 이상(Insertion Anomaly) : 데이터를 삽입할 때 의도와는 상관없이 원하지 않는 값들로 인해 삽입할 수 없게 되는 현상
      2. 삭제 이상(Deletion Anomaly) : 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는, 즉 연쇄 삭제가 발생하는 현상
      3. 갱신 이상(Update Anomaly) : 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 불일치성(Inconsistency)이 생기는 현상
  • 정규화 과정
    • 제 1정규형 (1NF) : 릴레이션에 속한 모든 도메인이 원자값만으로 되어 있는 릴레이션
    • 제 2정규형 (2NF) : 릴레이션 R이 1NF이고, 키가 아닌 모든 속성이 키본키에 대하여 완전 합수적 종속 관계를 만족함
    • 제 3정규형 (3NF) : 릴레이션 R이 2NF이고, 키가 아닌 모든 애트리뷰트가 기본키에 대해 이행적 종속 관계를 이루지 않도록 제한한 관계형
    • Boyce-Codd 정규형 (BCNF) : 
      • 릴레이션 R에서 결정자가 모두 후보키인 관계형
      • 3NF에서 후보키가 많고 서로 중첩되는 경우에 적용하는, 강한 제 3규형이라고도 함
      • 키가 아닌 모든 속성은 각 키에 대하여 완전 종속해야 하고, 키가 아닌 모든 속성은 그 자신이 부분적으로 들어가 있지 않은 모든 키에 대하여 완전 종속해야 함
      • 어떤 속성도 키가 아닌 속성에 대해서는 완전 종속할 수 없음
    • 제 4정규형 (4NF) : 릴레이션 A -> B가 성립하는 경우 R의 모든 속성이 A에 함수적 종속이면 이 릴레이션 R은 제 4정규형에 속함
    • 제 5정규현(5NF / PJ / NF) : 릴레이션 ㄲ의 모든 조인 종속성(JD)의 만속이 R의 후보키를 통해서만 만족 될 때 그 릴레이션은 R은 제 5정규형 또는 PJ / NF에 속함


※ 완전 함수적 종속성  (완전 종속) : 복합키 모두가 함수적 종속성을 가지는 것

   부분 함수적 중속성  (부분 종속) : 복합키 중 하나가 함수적 종속성을 가지는 것

   이행적 함수적 종속성 : A->B 이고 B->C 이면 A->C


※ 정규형 과정 정리

 

- 출처 : http://blog.naver.com/seong1731/220166773381


'Database' 카테고리의 다른 글

Database Isolation Level  (0) 2020.04.14
샤딩과 파티셔닝 개념 정리  (0) 2018.10.12

+ Recent posts