Computer Science/Database Systems

[DB] 제4장 정규화

iseop 2022. 3. 7. 21:51   인쇄용 버전

정규화(Normalization)

정규화: 관계형 모델에서 논리 스키마를 효과적으로 모델링하는 데 이용되는 기법

릴레이션의 정규형을 분석하여, 해당 릴레이션의 스키마가 실세계를 얼마나 효율적으로 반영하는지 평가할 수 있다.

정규화를 통해 생성된 릴레이션 스키마는 갱신 이상의 발생가능성을 최소화할 수 있다.

 

갱신 이상의 종류

  • 삽입 이상: 필수적인 컬럼값만으로 새 레코드를 삽입하지 못하는 경우
  • 삭제 이상: 삭제 시 의도하지 않은 데이터가 삭제되는 경우
  • 수정 이상: 레코드들이 중복되어 데이터 일관성을 유지할 수 없는 경우

 

함수적 종속성

함수적 종속성: 속성들 간의 연관관계를 표현한 것

 

속성 A가 속성 B에 의해 결정될 때, 속성 A를 종속자(dependent)라 하고, 속성B를 결정자(determinant)라 한다.

A → B

 

속성 집합 Y가 속성 집합 X의 일부분에 의해 함수적으로 종속된 상태를 부분 함수적 종속이라 한다.

속성 집합 Y가 속성 집합 X의 전체에 의해 함수적으로 종속된 상태를 완전 함수적 종속이라 한다.

 

릴레이션 R의 함수적 종속성 집합을 F라고 할 때,

F로부터 유추 가능한 모든 함수적 종속성 집합을 F의 클로저라 부르고, F+로 표기한다.

 

어떤 함수적 종속성 집합 E가 F+에 포함되면 F가 E를 커버한다고 한다.

F+에 존재하는 모든 함수적 종속성을 커버할 수 있는 최소한의 함수적 종속성 집합을 캐노니컬 커버라고 한다.

 

암스트롱 추론 규칙

1. 재귀성 규칙: X⊇Y ⇒ X→Y

2. 부가성 규칙: X→Y ⇒ XZ→YZ

3. 이행성 규칙: X→Y, Y→Z ⇒ X→Z

 

유도된 규칙

4. 분해 규칙: X→YZ ⇒ X→Y

5. 합집합 규칙: X→Y, X→Z ⇒ X→YZ

6. 의사 이행성 규칙: X→Y, WY→Z ⇒ WX→Z

 

기본 정규형

제1정규형: 릴레이션 스키마에서 정의된 모든 속성의 도메인이 원자값을 갖는 상태

제2정규형: 릴레이션이 제1정규형을 만족하고, 기본키가 아닌 속성들이 기본키에 완전 함수 종속되는 상태

제3정규형: 릴레이션이 제2정규형을 만족하고, 기본키가 아닌 속성들이 어떤 키에도 이행적으로 종속되지 않는 상태

BC(Boyce-Codd)정규형: 릴레이션이 제3정규형을 만족하고, 릴레이션에서 성립하는 모든 X→Y 형태의 함수적 종속성에 대해 X가 수퍼키인 상태

 

역정규화

역정규화: 정규화를 통해 분리된 릴레이션을 통합하여 데이터의 부분적 중복을 허용하지만, 데이터 접근 성능을 개선하는 기법

 

역정규화 방법

  • 릴레이션 병합
  • 릴레이션 수직 분할
  • 릴레이션 수평 분할
  • 유도 속성 추가