본문 바로가기
Computer Science/Database

[데이터베이스] 강의 정리 6장 - 정규화

by ggyongi 2021. 10. 17.
반응형

강의 출처: '데이터베이스의 원리와 응용' / 백현미 / 한양대학교
http://www.kocw.net/home/cview.do?cid=9c591659f017851e

 

6. 정규화

이상(anomaly)현상: 불필요한 데이터 중복으로 인해 릴레이션에 대한 데이터 삽입, 수정, 삭제 연산을 수행할 때 발생할 수 있는 부작용

정규화: 이상현상을 제거하면서 데이터베이스를 올바르게 설계해 나가는 과정

 

<이상현상 종류>

삽입 이상: 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제

갱신 이상: 중복 튜플 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제

삭제 이상: 튜플을 삭제하면 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제

 

정규화: 이상 현상이 발생하지 않도록, 릴레이션을 관련 있는 속성들로만 구성하기 위해 릴레이션을 분해하는 과정, 함수적 종속성을 판단하여 정규화를 수행함. (함수적 종속성: 속성들 간의 관련성)

함수 종속: XY를 함수적으로 결정한다. X는 결정자, Y는 종속자라고 한다.

 

<함수 종속 관계 판단 시 유의사항>

1. 속성 자체의 특성과 의미를 기반으로 함수 종속성을 판단해야함(속성 값은 계속 변하므로)

2. 일반적으로 기본키와 후보키는 릴레이션의 다른 모든 속성들을 함수적으로 결정함

3. 기본키나 후보기가 아니어도 다른 속성 값을 유일하게 결정하는 속성은 함수 종속 관계에서 결정자가 될수 있음.

다음 표에서 함수종속관계는? 고객아이디 -> 고객이름, (고객아이디, 이벤트번호) -> 당첨여부

 

<완전 함수 종속(FFD, Full Functional Dependency)>

릴레이션에서 속성 집합 Y가 속성 집합 X에 함수적으로 종속되어 있지만, 속성 집합 X의 전체가 아닌 일부분에는 종속되지 않음을 의미 -> ) 당첨여부는 {고객아이디, 이벤트번호}에 완전 함수 종속됨

 

<부분 함수 종속(PFD, Partial Functional Dependency)

릴레이션에서 속성 집합 Y가 속성 집합 X의 전체가 아닌 일부분에도 함수적으로 종속됨을 의미

) 고객이름은 {고객아이디, 이벤트번호}에 부분 함수 종속됨

 

<이행적 함수 종속>

함수 종속 관계 X->Y Y->Z가 존재하면 논리적으로 X->Z가 성립되는데, 이것을 ZX에 이행적으로 함수 종속되었다고 함. ) 고객ID가 등급을 결정, 등급이 할인율을 결정하면 결국 고객ID가 할인율을 결정하는 것.

 

<고려할 필요가 없는 함수 종속 관계>

결정자와 종속자가 같거나, 결정자가 종속자를 포함하는 경우

) 고객아이디->고객아이디, {고객아이디, 이벤트번호}->고객아이디

 

 

비전공자 네카라 신입 취업 노하우

시행착오 끝에 얻어낸 취업 노하우가 모두 담긴 전자책!

kmong.com

댓글