제4정규형
Fourth normal form네 번째 정규 형식(4NF)은 데이터베이스 정규화에 사용되는 정규 형식입니다.1977년 Ronald Fagin에 의해 도입된 4NF는 Boyce-Codd 정규형(BCNF) 다음으로 정규화 단계이다.두 번째, 세 번째 및 Boyce-Codd 정규 형태는 함수 의존성에 관련된 반면, 4NF는 다치 의존성으로 알려진 더 일반적인 유형의 의존성에 관련된 것입니다.테이블은 4NF로 되어 있습니다.이것은, 각 비사소한 멀티값 의존 관계 X 에 대해서, X 가 슈퍼 키인 경우, 즉, X 가 후보 [1]키 또는 그 슈퍼 세트인 경우입니다.
다중값 의존관계
릴레이셔널 데이터베이스 테이블의 컬럼헤더를 3개의 분리된 그룹 X, Y 및 Z로 분할하면 특정 행의 컨텍스트에서 각 헤더 그룹 아래의 데이터를 각각 x, y 및 z로 참조할 수 있습니다.다중값 종속성 X { \ right arrow 는 테이블에서 실제로 발생하는 x를 선택하고(이 선택지를c x라고 부릅니다), 테이블에서 발생하는 모든 xyzc 조합의 목록을 편집하면 x가 z에 관계없이 동일한 y 엔트리에 관련되어 있음을 나타냅니다c.따라서 기본적으로 z의 존재는 y의 가능한 값을 제약하는 데 유용한 정보를 제공하지 않습니다.
단순한 다중값 의존성 X \ \ \ right arrow 는 Y가 X의 서브셋이거나 X와 Y가 함께 관계의 속성 세트를 구성하는 것입니다.
함수 종속성은 다중값 종속성의 특수한 경우입니다.함수 종속성 X → Y에서 모든 x는 정확히 하나의 y를 결정하며, 절대 하나 이상은 결정하지 않습니다.
예
다음 예를 생각해 보겠습니다.
| 레스토랑. | 피자 버라이어티 | 배송 지역 |
|---|---|---|
| A1 피자 | 두꺼운 크러스트 | 스프링필드 |
| A1 피자 | 두꺼운 크러스트 | 셸비빌 |
| A1 피자 | 두꺼운 크러스트 | 수도 |
| A1 피자 | 봉제 크러스트 | 스프링필드 |
| A1 피자 | 봉제 크러스트 | 셸비빌 |
| A1 피자 | 봉제 크러스트 | 수도 |
| 엘리트 피자 | 얇은 크러스트 | 수도 |
| 엘리트 피자 | 봉제 크러스트 | 수도 |
| 빈첸조의 피자 | 두꺼운 크러스트 | 스프링필드 |
| 빈첸조의 피자 | 두꺼운 크러스트 | 셸비빌 |
| 빈첸조의 피자 | 얇은 크러스트 | 스프링필드 |
| 빈첸조의 피자 | 얇은 크러스트 | 셸비빌 |
각 행은 특정 레스토랑이 특정 지역에 특정 종류의 피자를 배달할 수 있음을 나타냅니다.
테이블에는 {레스토랑, 피자 버라이어티, 딜리버리 에어리어}만 있기 때문에 키가 아닌 속성이 없습니다.따라서 BCNF까지의 모든 정상 형태를 충족합니다.그러나 레스토랑이 제공하는 피자 종류가 배송 지역의 영향을 받지 않는다고 가정하면(즉, 레스토랑이 제공하는 모든 피자 품종을 모든 지역에 제공), 4NF를 충족하지 못합니다.문제는 테이블이 슈퍼키가 아닌 {Restaurant} 특성에 대한 두 가지 중요하지 않은 다중값 종속성을 특징으로 한다는 것입니다.의존관계는 다음과 같습니다.
- {레스토랑} 화살표 {피자 버라이어티}
- {레스토랑} { \ right arrow} {Delivery Area }
이러한 비슈퍼키에 대한 사소한 다치 의존성은 레스토랑이 제공하는 피자의 종류가 레스토랑이 제공하는 지역과는 독립적이라는 사실을 반영한다.이러한 상황은 테이블에서 중복으로 이어집니다.예를 들어, A1 피자가 봉제 크러스트를 제공한다고 세 번이나 들었습니다.A1 피자가 치즈 크러스트 피자를 생산하기 시작하면, A1 피자의 배송 지역 마다 1열씩, 복수의 열을 추가할 필요가 있습니다.게다가 이것을 잘못하는 것을 막을 수 있는 것은 아무것도 없습니다.A1 피자의 배송 지역 중 하나를 제외한 모든 지역에 치즈 크러스트 행을 추가할 수 있기 때문에 다치 의존 관계 {Restaurant} { style \ rightarrow} { Pizza Variety }를 존중하지 못할 수 있습니다.
이러한 이상 징후가 발생할 가능성을 배제하기 위해 제공된 품종에 대한 사실을 전달 영역에 대한 사실과 다른 표에 배치하여 두 개의 표를 모두 4NF로 작성해야 합니다.
| 레스토랑. | 피자 버라이어티 |
|---|---|
| A1 피자 | 두꺼운 크러스트 |
| A1 피자 | 봉제 크러스트 |
| 엘리트 피자 | 얇은 크러스트 |
| 엘리트 피자 | 봉제 크러스트 |
| 빈첸조의 피자 | 두꺼운 크러스트 |
| 빈첸조의 피자 | 얇은 크러스트 |
| 레스토랑. | 배송 지역 |
|---|---|
| A1 피자 | 스프링필드 |
| A1 피자 | 셸비빌 |
| A1 피자 | 수도 |
| 엘리트 피자 | 수도 |
| 빈첸조의 피자 | 스프링필드 |
| 빈첸조의 피자 | 셸비빌 |
이와는 대조적으로, 식당에서 제공하는 피자 종류가 때때로 배달 지역마다 합법적으로 다르다면, 원래의 세 칸짜리 테이블은 4NF를 만족시킬 것이다.
Ronald Fagin은 4NF를 [2]달성하는 것이 항상 가능하다는 것을 증명했다.Rissanen의 정리는 다치 종속성에도 적용할 수 있다.
실제로는 4NF
Margaret S의 1992년 논문.Wu씨는 데이터베이스 정규화에 대한 교육은 일반적으로 4NF에 미치지 못한다고 지적합니다.이는 아마도 4NF를 위반하는 테이블은 비즈니스 애플리케이션에서 거의 볼 수 없기 때문일 것입니다.그러나 이 믿음은 정확하지 않을 수 있다.Wu씨는 40개의 조직 데이터베이스를 조사한 결과 20% 이상이 4NF를 위반하는 1개 이상의 테이블을 포함하면서도 모든 하위 일반 [3]형식을 충족한다고 보고했습니다.
4NF 이상의 정규화
드물게 4NF 테이블이 상위 표준 형식 5NF에 준거하지 않는 경우가 있습니다.이것들은 4NF 테이블 내의 속성 값의 유효한 조합을 지배하는 복잡한 현실 세계의 제약이 그 테이블의 구조에 암묵적으로 포함되어 있지 않은 상황입니다.
「 」를 참조해 주세요.
레퍼런스
- ^ "관계 스키마 R*은 네 번째 정규 형식(4NF)이다. 만약 중요하지 않은 다치 종속성 X { \ rightarrow} Y가 R*에 대해 유지된다면, R*의 모든 열 이름 A에 대해 함수 종속성 X → A도 유지된다.직관적으로 모든 의존성은 키의 결과입니다."Fagin, Ronald (September 1977). "Multivalued Dependencies and a New Normal Form for Relational Databases" (PDF). ACM Transactions on Database Systems. 2 (1): 262–278. CiteSeerX 10.1.1.69.1872. doi:10.1145/320557.320571. Archived from the original (PDF) on 2007-11-29. Retrieved 2008-04-26.
- ^ 페이긴, 페이지 268
- ^ Wu, Margaret S. (March 1992). "The Practical Need for Fourth Normal Form". ACM SIGCSE Bulletin. 24 (1): 19–23. doi:10.1145/135250.134515.
추가 정보
- 날짜, C. J.(1999), 데이터베이스 시스템 소개(8일자).애디슨 웨슬리 롱맨입니다ISBN 0-321-19784-4.
- 켄트, W. (1983) 관계형 데이터베이스 이론의 다섯 가지 정상형식에 대한 간단한 가이드, ACM의 커뮤니케이션, vol. 26, 페이지 120~125