함수적 종속성
- 정의
- 릴레이션 인스턴스를 분석하여 속성들 간의 연관관계를 표현한 것
- 릴레이션의 효율성을 향상시켜 좋은 릴레이션으로 변환하는데 이용되는 중요한 개념
- {결정자} → {종속자}
- 확장
- 함수적 종속성은 릴레이션의 효율성 여부에 중요한 판단기준
- 그러나 릴레이션의 인스턴스만으로 내재된 모든 함수적 종속성을 찾아내기 어려움
- 판별되지 않은 모든 함수적 종속상을 찾기 위해 추론 규칙을 사용하여 함수적 종속성을 확장
- 클로저 : 판별된 함수적 종속성 집합으로부터 유추할 수 있는 모든 함수적 종속성 집합 (F+)
- 추론 규칙
1) 암스트롱 공리
2) 카노니컬 커버
정규화
- 정규형 : 이상 현상을 최소화 하도록 특정 조건을 갖춘 릴레이션의 형식
- 목적 : 특정 정규형의 조건을 만족하도록 릴레이션과 속성을 재구성하는 과정
- 데이터베이스 내에 모든 릴레이션을 효과적으로 표현
- 간단한 관계 연산에 기초하여 검색 알고리즘을 효과적으로 작성할 수 있도록 지원
- 바람직하지 않은 삽입, 수정, 삭제 등의 이상 발생 방지
- 새로운 형태의 데이터가 삽입될 때 릴레이션 재구성의 필요성을 축소
- 사용과정에서 많은 조인 연산을 유발할 수 있음
- 제1정규화
- 가장 조건이 단순한 정규형
- 관계형 모델에 조건에 따라 자동 적용되는 정규형
- 릴레이션 스키마에서 정의된 모든 속성의 도메인이 원자값을 갖는 상태
- 제2정규화
- 릴레이션이 제1정규형을 만족하고 기본키의 부분집합이 특정 속성을 종속하고 있지 않은 상태
- 주어진 릴레이션의 인스턴스의 기본키가 아닌 속성들이 기본키에 완전히 종속되어 있는 상태
- 무손실 분해 해야 함
- 제3정규화
- 릴레이션이 제2정규형을 만족하고, 기본키가 아닌 속성들이 어떤 키에도 이행적으로 종속되지 않은 상태
- BC 정규형
- 릴레이션이 제3정규형을 만족하고, 릴레이션에 성립하는 X→Y 형태의 모든 함수적 종속성에 대하여 X가 슈퍼키인 상태
- 역정규화
- 정규화의 반대 과정
- 정규화를 통해 분리되었던 릴레이션을 통합하는 재조정을 하고, 정보의 부분적 중복을 허용하는 기법
- 데이터 접근 성능을 개선 목적