이론/DB이론

정규화

zelkova 2011. 6. 3. 11:12

데이터베이스를 얼마나 효과적으로 활용할 수 있는가는 테이블의 구조를 어떻게 설계하느냐에 달려있다. 테이블의 구조가 잘못 설계되어 구축될 경우 데이터를 올바르게 이용할 수 없다. 중복되거나 잘못된 데이터를 발생시킴으로써, 구축된 시스템의성능 문제뿐만 아니라 데이터 오류에 의한 잘못된 의사결정을 하게된다. 작성된 테이블은 데이터의 중복성을 막고 무결성을 강화시킬 수 있독록 해주는 정규화 과정을 거쳐야 한다.

정규화의 종류
높은 단계의 정규화를 수행할  수록 더 바람직한 테이블 구조를 갖겠지만 대게 제 3정규형까지가 실제 모델링에 사용된다.

제 1 정규형(First Normal Form, 1NF)
제 2 정규형(SecondNormal Form, 2NF)
제 3 정규형(ThirdNormal Form, 3NF)
Boyce-Codd 정규형(BCNF)
제 4 정규형(FourthNormal Form, 4NF)
제 5 정규형(FifthNormal Form, 5NF)
비정규형(De-normalization)

제 1 정규형(First Normal Form, 1NF)
제 1정규화의 개념은 각 속성들의 값들이 단일 값을 가지도록 하는 것이다.
예를 들면 인스턴스(Instance)가 [등산,게임]이라면 복합값이다.
이 복합값이 [등산],[게임]이 되면 단일값이 된다는 말이다.

제 2 정규형(SecondNormal Form, 2NF)
개체(Entity)의 모든 속성(Attrybute)은 기본키(FK)에 종속 되어야 한다는 것이 제 2정규화의 개념이다.
예를 들어서
주문번호와 일련번호가 복합키로써의 기본키라고 할때
회원 ID, 이름, 주문일은 주문번호에는 종속적이다.
회원 ID, 이름, 주문일은 일련번호에는 종속적이지 않다.
따라서 회원ID, 이름, 주문일을 분리한다.

종속의 뜻:자주성이 없이 주가 되는 것에 딸려 붙음.

제 3 정규형(ThirdNormal Form, 3NF)
키가 아닌 특정 필드의 값이 키가아닌 다른 필드에 종속적일 경우 이를 분리하는 것이 제 3 정규화 이다.
 


반응형