이상현상 ( 異狀 )
* 삭제이상 - 투플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상이다.
* 삽입이상 - 투플 삽입 시 특정 속성에 해당하는 값이 없어 NULL 값을 입력해야 하는 현상이다.
* 수정이상 - 투플 수정시 중복된 데이터의 일부만 수정되어 데이터의 불일치 문제가 일어나는 현상이다.
정규화 ( Normalization )
이상현상을 해결하기 위해 잘못 설계된 테이블을 수정하여 정상으로 만드는 과정이다.
함수 종속성
릴레이션의 각 속성 사이에는 의존성이 존재한다. 속성 A의 값을 알면 다른 속성 B의 값이 유일하게 정해지는 의존 관계를 '속성 B는 속성 A에 종속한다' 혹은 ' 속성 A는 속성 B를 결정한다'라고 한다.
이는 A -> B 로 표기하며, 이때 A는 B의 결정자이다.
※ 기본키는 릴레이션의 모든 속성에 대해 결정자다.
제 1 정규형(1NF)
릴레이션의 모든 속성 값이 원자값을 가지면 제 1 정규형이라고 한다. |
모든 속성이 원자 값이 되게하고, 반복되는 그룹을 제거하면 된다.
제 2 정규형(2NF)
릴레이션이 제 1정규형이고 기본키가 아닌 속성이 기본키에 완전 함수 종속일 때 제 2 정규형이라 한다. |
기본키가 복합키일 경우, 부분 함수 종속이 존재 시 이를 분리한다.
부분 함수 종속 - A -> B 종속성에서 A의 속성 일부를 제거해도 종속성이 여전히 성립하는 경우이다.
완전 함수 종속 - A -> B 종속성에서 B가 A의 속성 전체에 함수 종속하고, 부분 집합 속성에 함수
종속을 하지 않을 경우
제 3 정규형(3NF)
릴레이션이 제 2정규형이고 기본키가 아닌 속성이 기본키에 비이행적으로 종속할 때(직접 종속) |
이행 함수 종속을 제거한다. ( 기본키가 아닌 것에 종속하는지 여부를 확인한다. )
BCNF
릴레이션에서 함수 종속성 X -> Y가 성립할 때 모든 결정자 X가 후보키이면 BCNF 정규형이라고 한다. |
대부분의 릴레이션은 BCNF까지 정규화를 진행하면 이상현상이 없어진다. 따라서 보통은 BCNF까지만
정규화를 진행한다.
제 4 정규형
다치종속성을 가진 릴레이션에 관한 내용이다.
제 5 정규형
조인 종속성을 가진 릴레이션에 관한 내용이다.
'Programming' 카테고리의 다른 글
트랜잭션 (0) | 2015.02.15 |
---|---|
Unity 용어정리 (0) | 2015.02.10 |
데이터 모델링 (0) | 2015.02.07 |
프로시저, 트리거, 사용자 정의 함수 (0) | 2015.02.07 |
뷰(View) (0) | 2015.02.05 |