정규화란
이상 현상이 발생하지 않도록, 릴레이션을 관련 있는 속성들로만 구성하기 위해 릴레이션을 분해하는 과정
함수적 종속성을 판단하여 정규화를 수행
(함수적 종속성: 속성들 간의 관련성)
이상현상이란? 불필요한 데이터 중복으로 인해 릴레이션에 대한 데이터 삽입, 수정, 삭제 연산을 수행할 때 발생할 수 있는 부작용 - 삽입 이상: 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제 - 갱신 이상: 중복 투플 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제 - 삭제 이상: 투플을 삭제하면 꼭 필요한 데이터까지 삭제되는 데이터 손실의 문제 |
정규형(NF: Normal Form)
릴레이션이 정규화된 정도
각 정규향마다 제약조건이 존재하고, 릴레이션의 특성을 고려해서 적합한 정규형을 선택
제 1 정규형(1NF: First Normal Form)
릴레이션의 모든 속성이 더이상 분해되지 않는 원자값을 가지면 제 1 정규형을 만족
<제 1정규형을 만족하지 않는 릴레이션>
고객아이디 | 이벤트번호 | 당첨여부 |
apple | E001,E005,E010 | Y,N,Y |
banana | E002, E005 | N, Y |
<제 1정규형을 만족하는 릴레이션>
고객아이디 | 이벤트번호 | 당첨여부 |
apple | E001 | Y |
apple | E005 | N |
apple | E010 | Y |
banana | E002 | N |
banana | E005 | Y |
제 2 정규형
릴레이션이 제 1 정규형에 속하고, 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속되면 제 2 정규형을 만족함
부분 함수 종속을 제거하고 모든 속성이 기본키에 완전 함수 종속되도록 분해
<제 1정규형은 만족하지만 제 2정규형은 만족하지 않는 릴레이션>
고객아이디 | 이벤트번호 | 당첨여부 | 등급 | 할인율 |
apple | E001 | Y | gold | 10% |
apple | E005 | N | gold | 10% |
apple | E010 | Y | gold | 10% |
banana | E002 | N | vip | 20% |
<제 2정규형은 만족하는 릴레이션>
고객아이디 | 등급 | 할인율 |
apple | gold | 10% |
banana | vip | 20% |
고객아이디 | 이벤트번호 | 당첨여부 |
apple | E001 | Y |
apple | E005 | N |
apple | E010 | Y |
banana | E002 | N |
제 3 정규형
릴레이션이 제 2정규화에 속하고, 기본키가 아닌 모든 속성이 기본키에 이행적 함수 종속이 되지 않으면 제 3 정규형을 만족함
<제 2 정규형을 만족하지만 제 3 정규형은 만족하지 않는 릴레이션>
고객아이디 | 등급 | 할인율 |
apple | gold | 10% |
banana | vip | 20% |
<제 3 정규형을 만족하는 릴레이션>
고객아이디 | 등급 |
apple | gold |
banana | vip |
등급 | 할인율 |
gold | 10% |
vip | 20% |
- 보이스/코드 정규형(BCNF:Boyce-Codd Normal Form)
제 3 정규형에서 모든 결정자가 후보키이면 보이스/코드 정규형에 속한다.
(후보키: 유일성과 최소성을 만족하는 속성 또는 속성들의 집합)
<보이스/코드 정규형을 만족하지 않지만 제 3 정규형을 만족하는 릴레이션>
고객아이디 | 인터넷강좌 | 담당강사번호 |
apple | 영어회화 | P001 |
banana | 기초토익 | P002 |
carrot | 영어회화 | P001 |
<보이스/코드 정규형을 만족하는 릴레이션>
고객아이디 | 담당강사번호 |
apple | P001 |
banana | P002 |
carrot | P001 |
담당강사번호 | 인터넷강좌 |
P001 | 영어회화 |
P002 | 기초토익 |
제 4 정규형
릴레이션이 보이스/코드 정규형을 만족하면서, 함수 종속이 아닌 다치 종속을 제거하면 제 4 정규형에 속함
※ 다치종속: 하나의 속성값이 속성값의 집합을 결정하는 것
예)
과목명 | 강사 | 교재 |
POP글씨 | 최수지 | POP-1 |
POP글씨 | 최수지 | POP-2 |
POP글씨 | 최수지 | POP-1 |
제 5정규형
릴레이션이 제 4 정규형을 만족하면서, 후보키를 통하지 않는 조인 종속을 제거하면 제 5 정규형에 속함
'데이터베이스' 카테고리의 다른 글
데이터베이스(회복과 병행제어2) (0) | 2021.05.29 |
---|---|
데이터베이스(회복과 병행 제어) (0) | 2021.05.29 |
데이터베이스 언어 SQL-2 (0) | 2021.04.19 |
데이터베이스 언어 SQL (0) | 2021.04.19 |
관계 데이터 연산 (0) | 2021.04.19 |