🎯 학습 목표
‣ 정규화의 필요성과 이상 현상의 의미를 이해한다.
‣ 정규화를 수행하기 위해 함수 종속성의 개념을 이해한다.
‣ 정규형의 유형과 관계를 이해하고, 실제 예를 통해 정규화 과정을 연습해본다.
1. 정규화의 개념과 이상 현상
• 이상 현상 : 불필요한 데이터 중복으로 인해 릴레이션에 대한 데이터 삽입, 수정, 삭제 연산을 수행할 때 발생할 수 있는 부작용
• 종류
- 삽입 이상 : 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제
- 갱신 이상 : 중복 투플 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제
- 삭제 이상 : 투플을 삭제하면 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제
• 정규화 : 이상 현상을 제거하면서 데이터베이스를 올바르게 설계해 나가는 과정
- 이상 현상이 발생하지 않도록, 릴레이션을 관련 있는 속성들로만 구성하기 위해 릴레이션을 분해하는 과정
함수적 종속성을 판단하여 정규화를 수행함
• 함수적 종속성 : 속성들 간의 관련성
함수 종속성을 이용하여, 릴레이션을 연관성이 있는 속성들로만 구성되도록 분해하여 이상 현상이 발생하지 않는 바람직한 릴레이션으로 만들어 나가는 과정이 정규화
2. 함수 종속
• 함수 종속
• "X가 Y를 함수적으로 결정한다"
• 릴레이션 내의 모든 투플을 대상으로 하나의 X 값에 대한 Y 값이 항상 하나임
• X와 Y는 하나의 릴레이션을 구성하는 속성들의 부분 집합
• X → Y로 표현 (X는 결정자, Y는 종속자)
• 함수 종속 다이어그램 : 함수 종속 관계를 도식화하여 표현한 것
• 함수 종속 관계 판단 시 유의 사항
• 속성 자체의 특성과 의미를 기반으로 함수 종속성을 판단해야 함
- 속성 값은 계속 변할 수 있으므로 현재 릴레이션에 포함된 속성 값만으로 판단하면 안됨
• 일반적으로 기본키와 후보키는 릴레이션의 다른 모든 속성들을 함수적으로 결정함
• 기본키나 후보키가 아니어도 다른 속성 값을 유일하게 결정하는 속성은 함수 종속 관계에서 결정자가 될 수 있음
• 완전 함수 종속
• 릴레이션에서 속성 집합 Y가 속성 집합 X에 함수적으로 종속되어 있지만, 속성 집합 X의 전체가 아닌 일부분에는 종속되지 않음을 의미
• 일반적으로 함수 종속은 완전 함수 종속을 의미함
• 부분 함수 종속
• 릴레이션에서 속성 집합 Y가 속성 집합 X의 전체가 아닌 일부분에도 함수적으로 종속됨을 의미
• 이행적 함수 종속
• 릴레이션을 구성하는 세 개의 속성 집합 X, Y, Z에 대해 함수 종속 관계 X → Y와 Y → Z가 존재하면 논리적으로 X → Z가 성립되는데, 이것을 Z가 X에 이행적으로 함수 종속되었다고 함
'데이터베이스 (한양대 백현미)' 카테고리의 다른 글
데이터베이스 강의 10 (0) | 2021.07.20 |
---|---|
데이터베이스 강의 9 (0) | 2021.07.20 |
데이터베이스 강의 7 (0) | 2021.07.20 |
데이터베이스 강의 6 (0) | 2021.07.19 |
데이터베이스 강의 5 (0) | 2021.07.19 |