정규화란?

0taetae·2024년 12월 30일
post-thumbnail

📙정규화 과정

자료의 중복성 감소, 릴레이션 간의 독립성 증가

💡제1정규형

  • 릴레이션의 모든 도메인이 더 이상 분해될 수 없는 원자값으로만 구성
  • 릴레이션의 속성 값 중에서 한 개의 기본키에 대해 두 개 이상의 값을 가지는 반복 집합이 있어서는 안된다.

💡제2정규형

  • 릴레이션이 제1정규형이며, 부분 함수의 종속성을 제거한 형태
  • 부분 함수의 종속성 제거 : 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속적인 것

✔️ 릴레이션을 분해할 때 동등한 릴레이션으로 분해해야 함, 정보 손실이 발생하지 않는 무손실 분해로 분해되어야 한다.

💡제3정규형

  • 릴레이션이 제2정규형이며, 기본키가 아닌 모든 속성이 이행적 함수 종속을 만족하지 않는 상태
  • 이행적 함수 종속 : A->B와 B->C가 존재하면 논리적으로 A->C가 성립, 이때 집합 C가 집합 A에 이행적으로 함수 종속이 되었다.

💡보이스/코드 정규형(BCNF)

  • 릴레이션이 제3정규형이고, 결정자가 후보키가 아닌 함수 종속 관계를 제거하여 릴레이션의 함수 종속 관계에서 모든 결정자가 후보키인 상태
    ✔️이때, 결정자란❓
    함수 종속 관계에서 특정 종속자를 결정짓는 요소이다.
    X->Y일 때, X는 결정자, Y는 종속자라 한다.

0개의 댓글