개인 공부

데이터베이스 공부 ( 정규화 )

HA젠옹 2019. 7. 26. 16:47
반응형

정규화

- 속성간의 중복성, 종속성을 피하기 위함

- 중복을 최소화하고 삽입, 삭제, 갱신 이상의 발생을 방지

- 연산시간이 감소되는것은 아니다

- 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄인다.

- 하나의 릴레이션을 여러 개의 릴레이션으로 분해

 

이상 ( Anomaly )

- 데이터의 중복으로 인하여 관계 연산을 처리할 때 곤란한 현상이 발생하는 것

- 속성들 간에 존재하는 여러 종속 관계를 하나의 릴레이션에 표현하기 때문에 발생

※삽입 이상

   : 불필요하고 원하지 않는 데이터도 함께 삽입해야 되거나 삽입이 되지 않는 경우

※삭제 이상

   : 한 튜플을 삭제함으로써 연쇄 삭제 현상으로 인한 정보의 손실

※갱신 이상

   : 튜플 중에서 일부 속성만을 갱신함으로써 정보의 모순성이 발생

 

정규화 과정

※제1정규형 ( 1NF )

   : 도메인이 원자 값

※제2정규형 ( 2NF )

   : 부분적 함수 종속 제거

※제3정규형 ( 3NF )

   : 이행적 함수 종속 제거

※BCNF(보이스/코드)정규형

   : 결정자이면서 후보키가 아닌 것 제거

※제4정규형 ( 4NF )

   : 다치 종속

※제5정규형 ( 5NF )

   : 조인 종속성 제거

 

Y는 X에 함수 종속적이다 = X -> Y 와 같이 표기

이행적 함수 종속 = X -> Y, Y -> Z, X -> Z

반응형