3NF란 무엇입니까?
정규화의 세 번째 단계는 3NF입니다.
관계가 2NF에 있고 전이 기능 종속성이 없는 경우에만 테이블이 3NF에 있습니다.
예를 들어 보겠습니다 -
예(테이블이 3NF를 위반함)
<영화 목록>
영화_ID | 목록_ID | 목록 유형 | DVD_가격 ($) |
0089 | 007 | 코미디 | 100 |
0090 | 003 | 액션 | 150 |
0091 | 007 | 코미디 | 100 |
위의 표는 이행적 기능 종속성을 가지고 있기 때문에 3NF에 없습니다 -
영화_ID -> 목록_ID Listing_ID -> Listing_Type |
따라서 Movie_ID -> Listing_Type 즉, 이행적 기능 종속성.
예(3NF로 변환한 표)
3NF로 구성하려면 테이블을 분할하고 이행적 기능 종속성을 제거해야 합니다.
<영화>
영화_ID | 목록_ID | DVD_가격 ($) |
0089 | 007 | 100 |
0090 | 003 | 150 |
0091 | 007 | 100 |
<목록>
목록_ID | 목록 유형 |
007 | 코미디 |
003 | 액션 |
007 | 코미디 |
이제 3NF의 테이블인 결과를 다시 보자 -