Simple is IT, 누구나 보고 누구나 깨닫는 IT

DataBase_정규화 (Nomalization) 본문

Simple is IT/Database

DataBase_정규화 (Nomalization)

currenjin 2020. 4. 29. 10:23

정규화 (Nomalization)

: 이상 문제를 해결하기 위해 속성 간 종속 관계를 분석, 릴레이션을 분해하는 과정

1. 릴레이션의 속성, 개체, 관계를 파악하여 데이터의 중복성을 최소화하는 과정

2. DB의 물리적 구조나 물리적 처리에 영향을 주는 것이 아닌 논리적 처리에 영향

3. 정규화를 통해 릴레이션을 분해하면 일반적으로 연산 시간은 증가

이상 (Anomaly)

- 속성 간에 존재하는 여러 종속 관계를 하나의 릴레이션에 표현함으로 인해 발생하는 현상

삽입 이상

데이터를 저장할 때 원하지 않는 정보가 함께 삽입

삭제 이상

튜플을 삭제함으로써 유지되어야 하는 정보까지도 연쇄적으로 삭제

갱신 이상

중복된 튜플 중 일부의 속성만 갱신시킴으로써 정보의 모순성 발생

정규화 과정

함수적 종속 ( X --> Y )

: 어떤 속성들의 부분 집합 X, Y가 있을 때 특정 튜플에서 X 값이 Y 값을 함수적으로 결정한다면 Y가 X에 함수적 종속 되었다 한다.

재귀 규칙

Y가 X의 부분집합이면 X --> Y 이다.

증가 규칙

X --> Y 이면 WX --> WY 이고 WX -> Y 이다.

이행 규칙

X --> Y 이고 Y --> Z 이면 X --> Z 이다.

유니온 규칙

X --> Y 이고 X --> Z 이면 X --> YZ 이다.

분해 규칙

X --> YZ 이면 X --> Y와 X --> Z 이다.

가이행 규칙

만일 W --> X 이고 XY --> Z 이면 WY --> Z 이다.

제1 정규형 (도메인이 모두 원자값)

!!!

핸드폰 번호 도메인이 원자값의 조건을 만족하지 못 함

제2 정규형 (부분 함수 종속 제거)

- 부분 함수가 종속하고 있는 속성들을 제거한다.

!!!

학번과 과목코드가 부분 집합하여 성적을 결정하지만

학번이라는 부분 함수가 학부와 등록금을 종속함.

제3 정규형 (이행 함수 종속 제거)

- 이행 함수가 종속하고 있는 속성들을 제거

!!!

학부가 등록금을 결정하기 때문에

학부라는 이행 함수가 등록금을 종속함.

BCNF : 결정자 중 후보키가 아닌 것들은 제거

제4 정규형 : 다치 종속 제거

제5 정규형 : 조인 종속성 제거


Comments