[자격증팁] 2NF에서 3NF로 되기 위한 조건은?

_그림1

 

2NF(제2정규형)에서 3NF(제3정규형)로 이행하기 위한 조건은 “이행적 함수 종속 제거”와 “다치 종속 제거”입니다.

통상 자격증 시험에서는 이행적 함수 종속 제거를 선택하는 것이 정답일 가능성이 높습니다. 

이행적 함수 종속은 A → B, B → C와 같이 전달적으로 종속된 속성이 2개 이상 있는 경우를 말합니다.

이러한 경우, A가 주식별자가 아닐 때 B와 C 사이에 중복되는 데이터가 발생할 수 있습니다.

이를 해결하기 위해서는, 이행적 함수 종속을 분해하여 개별적인 테이블로 만들어줘야 합니다.

다치 종속은 하나의 테이블에서 주식별자가 아닌 속성이 다른 속성들과 종속되는 경우를 말합니다.

예를 들어, 주문번호와 상품코드로 구성된 테이블에서 상품명과 가격이 주문번호에만 종속되는 경우, 상품코드도 주식별자의 일부가 되어야 하는데 그렇지 않은 경우가 다치 종속입니다.

이러한 경우에도, 다치 종속된 속성을 별도의 테이블로 분리해주어야 합니다.

따라서, 2NF에서 3NF로 이행하기 위한 조건은 이행적 함수 종속과 다치 종속을 모두 제거해주는 것입니다.

Leave a Comment