정규화

망고·2024년 6월 3일
0

데이터베이스

목록 보기
6/8

✨ 정규화


함수 종속성을 이용해 릴레이션을 연관성이 있는 속성들로만 구성되도록 분해해서 이상 현상이 발생하지 않는 바람직한 릴레이션으로 만들어 가는 과정

  • 정규화를 통해 릴레이션은 무손실 분해(nonloss decomposition) 되어야 합니다.
  • 릴레이션은 의미적으로 동등한 릴레이션들로 분해되어야 하고 분해로 인한 정보의 손실이 발생하지 않아야 합니다.
  • 분해된 릴레이션들을 자연 조인하면 분해 전의 릴레이션으로 복원 가능해야 합니다.

⏹️ 정규형(NF; Normal Form)

  • 릴레이션이 정규화된 정도
  • 각 정규형마다 제약조건이 존재
    • 정규형의 차수가 높아질수록 요구되는 제약조건이 많아지고 엄격해집니다.
    • 정규형의 차수고 높아질수록 데이터 중복이 줄어 이상 현상이 발생하지 않는 바람직한 릴레이션이 됩니다.
  • 릴레이션의 특성을 고려하여 적합한 정규형을 선택

🐣 제 1 정규형(1NF; First Normal Form)

릴레이션의 모든 속성이 더는 분해되지 않는 원자 값(atomic value)만 가지면 제 1 정규형을 만족합니다.

  • 제 1 정규형을 만족해야 관계 데이터베이스의 릴레이션이 될 자격이 있습니다.

🐤 제 2 정규형(2NF; Second Normal Form)

릴레이션이 제 1 정규형에 속하고, 기본키가 아닌 모든 속성이 기본키완전 함수 종속되면 제 2 정규형을 만족합니다.


🐥 제 3 정규형(3NF; Third Normal From)

릴레이션이 제 2 정규형에 속하고,
기본키가 아닌 모든 속성이 기본키에 이행적 함수 종속되지 않으면
제 3 정규형을 만족합니다.


🐔 보이스 코드 정규형(BCNF; Boyce Codd Normal Form)

제 3 정규형을 만족하며 모든 결정자가 후보키 집합에 속해 있다면 보이스 코드 정규형을 만족합니다.

  • 위 릴레이션의 경우 후보키 집합이 아닌
    담당 교수가 과목을 결정하고 있으므로
    담당 교수-> 과목, 학번 -> 담당교수로 릴레이션을 분할합니다.

📚 참고자료

관련 강의 - 데이터베이스의 원리와 응용(KOCW) 9강
관련 블로그 - BCNF 정규화

0개의 댓글