제3정규형(3NF)란?

제2정규형이면서 기본 키 이외의 열을 거쳐 정해지는 열(이행적 함수 종속)이 없는 표의 상태. 예를 들어 사원번호 → 부서코드 → 부서명 같은 종속이 있으면 부서 표를 나눔으로써 제3정규형이 된다.

일본어 명칭: 第3正規形

제3정규형(3NF)은(는) 데이터베이스 기초 등 1개 분야의 연습 문제 2개에 나와요.

분야: 데이터베이스 기초

도전해 보기: 제3정규형(3NF) 관련 문제

수주 표(수주번호, 상품번호, 수량, 고객번호, 고객명)의 기본 키는 {수주번호, 상품번호}이고, 함수 종속은 {수주번호, 상품번호} → 수량, 수주번호 → 고객번호, 고객번호 → 고객명이다. 이 표를 제3정규형까지 정규화한 결과로 올바른 것은?

  1. A수주명세(수주번호, 상품번호, 수량, 고객번호), 고객(고객번호, 고객명)
  2. B수주명세(수주번호, 상품번호, 수량), 수주(수주번호, 고객번호), 고객(고객번호, 고객명)
  3. C수주명세(수주번호, 상품번호, 수량), 수주(수주번호, 고객번호, 고객명)
정답과 해설 보기

정답: B. 수주명세(수주번호, 상품번호, 수량), 수주(수주번호, 고객번호), 고객(고객번호, 고객명)

제2정규형은 제1정규형이면서 기본 키의 일부에만 종속하는 열(부분 함수 종속)이 없는 상태입니다. 수주번호 → 고객번호는 기본 키의 일부인 수주번호만으로 고객번호가 정해지는 부분 함수 종속이므로, 원래 표는 제1정규형이지만 제2정규형이 아닙니다. 수주번호로 정해지는 열을 수주(수주번호, 고객번호, 고객명)로 나누면 제2정규형이 됩니다. 제3정규형은 제2정규형이면서 기본 키 이외의 열을 거쳐 정해지는 열(이행적 함수 종속)이 없는 상태입니다. 수주 표에는 수주번호 → 고객번호 → 고객명이라는 이행적 함수 종속이 남아 있으므로, 고객(고객번호, 고객명)을 다시 나눕니다. 이렇게 하여 수주명세(수주번호, 상품번호, 수량), 수주(수주번호, 고객번호), 고객(고객번호, 고객명)의 3개 표가 제3정규형이 됩니다. 나눈 표는 수주번호나 고객번호로 조인하면 원래 표로 되돌릴 수 있습니다.

해설 속 제3정규형(3NF)

제3정규형(3NF)이(가) 나오는 문제 (2)

  1. 수주 표(수주번호, 상품번호, 수량, 고객번호, 고객명)의 기본 키는 {수주번호, 상품번호}이고, 함수 종속은 {수주번호, 상품번호} → 수량, 수주번호 → 고객번호, 고객번호 → 고객명이다. 이 표를 제3정규형까지 정규화한 결과로 올바른 것은?
  2. 사원 표(사원번호, 이름, 부서코드, 부서명)의 기본 키는 사원번호이며, 모든 열은 하나의 값만 가진다. 함수 종속은 사원번호 → 이름, 사원번호 → 부서코드, 부서코드 → 부서명이다. 이 표의 정규형으로 올바른 것은?

관련 용어

기본 키(Primary Key) 정규화(Normalization) 외래 키(Foreign Key) 2단계 로킹(2PL) 격리 수준(Isolation Level) 관계형 데이터베이스(Relational Database) 뷰(View) 인덱스(Index) 트랜잭션(Transaction) ACID 특성(ACID Properties)

용어집으로 돌아가기