다음의 [DE_SALE] 테이블은 어떤 정규형을 만족하지 않는 것인지 가장 적절한 것을 고르시오. (기본키는 ORDER_ID, BOOK_ID 이다.)
보기
선택지 1
제1정규형(1NF)
선택지2
제2정규형(2NF)
선택지3
제3정규형(3NF)
선택지 4
정답
2
해설
정답은 2번입니다.
제2정규형(2NF)은 제1정규형을 만족하면서, 기본 키가 아닌 모든 속성이 기본 키 전체에 완전 함수 종속되어야 하는 상태를 말합니다. 만약 기본 키가 두 개 이상의 속성으로 결합된 복합 키(Composite Key)일 때, 일부 속성에만 종속되는 부분 함수 종속성(Partial Functional Dependency)이 존재한다면 이는 제2정규형 위반에 해당합니다.
1. 제1정규형(1NF)
: 모든 속성이 원자값(Atomic Value)을 가져야 하는 규칙입니다. 제시된 [DE_SALE] 테이블의 모든 컬럼은 단일 값을 유지하고 있으므로 제1정규형은 통과한 상태입니다.
2. 제2정규형(2NF)
: 문제에서 기본 키는 ORDER_ID와 BOOK_ID의 조합입니다. 이때 'BOOK_NAME'이나 'PRICE' 같은 속성은 기본 키 전체가 아닌 BOOK_ID 하나에만 종속되어 있습니다. 즉, 복합 키의 일부분에만 종속되는 부분 함수 종속성이 존재하므로, 이 테이블은 제2정규형을 만족하지 못합니다.
3. 제3정규형(3NF)
: 제2정규형을 만족한 상태에서 일반 속성 간의 종속성(이행 함수 종속)을 제거하는 단계입니다. 현재 테이블은 하위 단계인 제2정규형조차 만족하지 못하고 있으므로, 정규화 위배의 직접적인 원인은 제2정규형 단계에서 찾아야 합니다.
4. BCNF
: 제3정규형보다 더 높은 수준의 정규화 단계로, 모든 결정자가 후보 키여야 합니다. 이 단계 역시 제2정규형을 통과한 이후에 논의될 수 있는 개념이므로 현재 테이블의 상태를 설명하기에는 적절하지 않습니다.
정답은 2번입니다. 제2정규형은 복합 키 구조에서 특정 속성이 키의 일부분에만 종속되는 현상을 해결하는 단계입니다. [DE_SALE] 테이블은 책 관련 정보(BOOK_NAME, PRICE)가 전체 키인 주문 정보와 상관없이 책 번호에만 묶여 있으므로 제2정규형 원칙에 어긋납니다.
따라서, 정답은 '2. 제2정규형(2NF)' 입니다.