반응형

5정규형(5NF, Fifth Normal Form)의 개념

  • 5정규형(5NF, Fifth Normal Form)은 조인 종속성(Join Dependency) 을 해결하는 정규형입니다.
  • 이 단계에서는 모든 조인 종속이 후보키에 의해 함의되는 경우 를 만족해야 합니다.


1. 5정규형(5NF)

  • 5정규형(5NF)은 프로젝션-조인 정규형(PJ/NF) 이라고도 하며, 다음을 만족합니다:

    • 어떤 릴레이션 R이 비분해 조인 종속성(Non-trivial Join Dependency)을 가질 때, 그 종속성이 후보키에 의해 유도되는 경우만 존재해야 한다.
  • 즉, 하나의 릴레이션이 여러 릴레이션으로 분해되었다가 다시 조인할 때 정확하게 원래의 데이터만 복원 될 수 있어야 하며, 이때 조인 종속성이 후보키에 의해서만 결정되어야 합니다.



2. 예시

2.1 문제 상황 (5NF 위반)

  • 강사ID 과목 강의장소
    A001 수학 강의실1
    A001 물리 강의실1
    A001 수학 강의실2
    A001 물리 강의실2

  • 위 테이블은 아래 세 개의 테이블로 분해할 수 있습니다:
    • 강사ID - 과목 관계:
       A001 - 수학  
       A001 - 물리
      
    • 강사ID - 강의장소 관계:
       A001 - 강의실1  
       A001 - 강의실2
      
    • 과목 - 강의장소 관계:
       수학 - 강의실1  
       수학 - 강의실2  
       물리 - 강의실1  
       물리 - 강의실2
      

  • 이 세 테이블을 조인하면 원래 테이블이 되지만, 만약에 원래의 조합이 아닌 경우의 데이터가 들어온다면 오류 발생 가능성이 있습니다.


3. 5NF로 분해

  • 이러한 상황에서 모든 조합이 정당한 경우 임을 보장할 수 있을 때, 위의 세 테이블로 분해해도 무방하며 이는 5NF로 분해된 상태 입니다.

  • SQL 예제를 보면 다음과 같습니다.

  • sql

      -- 강사ID와 과목
      CREATE TABLE Instructor_Subject (
          InstructorID VARCHAR(10),
          Subject VARCHAR(20),
          PRIMARY KEY (InstructorID, Subject)
      );
      
      -- 강사ID와 강의장소
      CREATE TABLE Instructor_Location (
          InstructorID VARCHAR(10),
          Location VARCHAR(20),
          PRIMARY KEY (InstructorID, Location)
      );
      
      -- 과목과 강의장소
      CREATE TABLE Subject_Location (
          Subject VARCHAR(20),
          Location VARCHAR(20),
          PRIMARY KEY (Subject, Location)
      );
    
  • 위 세 테이블을 조인하면 다시 원래의 릴레이션을 얻을 수 있습니다.



데이터베이스 정규화 (Database Normalization) 관련글 링크


정규화 정리

  • 정규형 해결하는 문제
    1NF 반복되는 속성 제거
    2NF 부분 함수 종속 제거
    3NF 이행적 함수 종속 제거
    BCNF 후보키가 아닌 결정자 제거
    4NF 다치 종속 제거
    5NF 조인 종속으로 인해 발생하는 중복 제거
    6NF 시간적 속성 이나 변화 이력 관리



  • 도움이 되셨으면 하단의 ❤️ 공감 버튼 부탁 드립니다. 감사합니다! 😄
  • 일부 모바일 환경에서는 ❤️ 버튼이 보이지 않습니다.

728x90
반응형

'SQL' 카테고리의 다른 글

6정규형(6NF, Sixth Normal Form) 개념  (0) 2025.05.06
4정규형(4NF, Fourth Normal Form)의 개념  (0) 2025.05.05
BCNF(Boyce-Codd) 정규형의 개념  (0) 2025.05.05
3정규형(3NF)의 개념  (0) 2025.05.05
2정규형(2NF)의 개념  (0) 2025.05.03

+ Recent posts