456:
The table has no non-key attributes because its only candidate key is {Restaurant, Pizza variety, Delivery area}. Therefore, it meets all normal forms up to BCNF. If we assume, however, that pizza varieties offered by a restaurant are not affected by delivery area (i.e. a restaurant offers all pizza
513:
in the table: for example, we are told three times that A1 Pizza offers
Stuffed Crust, and if A1 Pizza starts producing Cheese Crust pizzas then we will need to add multiple rows, one for each of A1 Pizza's delivery areas. There is, moreover, nothing to prevent us from doing this incorrectly: we
693:
A 1992 paper by
Margaret S. Wu notes that the teaching of database normalization typically stops short of 4NF, perhaps because of a belief that tables violating 4NF (but meeting all lower normal forms) are rarely encountered in business applications. This belief may not be accurate, however. Wu
457:
varieties it makes to all areas it supplies), then it does not meet 4NF. The problem is that the table features two non-trivial multivalued dependencies on the {Restaurant} attribute (which is not a superkey). The dependencies are:
508:
These non-trivial multivalued dependencies on a non-superkey reflect the fact that the varieties of pizza a restaurant offers are independent from the areas to which the restaurant delivers. This state of affairs leads to
537:
To eliminate the possibility of these anomalies, we must place the facts about varieties offered into a different table from the facts about delivery areas, yielding two tables that are both in 4NF:
706:. These are situations in which a complex real-world constraint governing the valid combinations of attribute values in the 4NF table is not implicit in the structure of that table.
765:
674:
In contrast, if the pizza varieties offered by a restaurant sometimes did legitimately vary from one delivery area to another, the original three-column table would satisfy 4NF.
532:
502:
479:
242:
172:
91:
678:
694:
reports that in a study of forty organizational databases, over 20% contained one or more tables that violated 4NF while meeting all lower normal forms.
877:
924:
767:
Y holds for R*, then so does the functional dependency X → A for every column name A of R*. Intuitively all dependencies are the result of keys."
514:
might add Cheese Crust rows for all but one of A1 Pizza's delivery areas, thereby failing to respect the multivalued dependency {Restaurant}
770:
917:
1010:
886:
1065:
910:
27:
1030:
750:
517:
487:
464:
227:
157:
76:
747:"A relation schema R* is in fourth normal form (4NF) if, whenever a nontrivial multivalued dependency X
974:
968:
136:, then, in the context of a particular row, we can refer to the data beneath each group of headings as
51:
39:
211:. So essentially the presence of z provides no useful information to constrain the possible values of
790:
453:
Each row indicates that a given restaurant can deliver a given variety of pizza to a given area.
124:
If the column headings in a relational database table are divided into three disjoint groupings
1020:
992:
933:
785:
715:
682:
149:
59:
31:
1015:
267:
55:
8:
811:
956:
803:
720:
43:
1035:
998:
986:
962:
950:
944:
882:
703:
47:
807:
853:
795:
63:
1046:
1025:
510:
702:
Only in rare situations does a 4NF table not conform to the higher normal form
67:
1059:
113:
844:
Wu, Margaret S. (March 1992). "The
Practical Need for Fourth Normal Form".
35:
857:
799:
902:
771:"Multivalued Dependencies and a New Normal Form for Relational Databases"
270:
is a special case of multivalued dependency. In a functional dependency
894:
725:
677:
Ronald Fagin demonstrated that it is always possible to achieve 4NF.
58:, 4NF is concerned with a more general type of dependency known as a
101:
895:
A Simple Guide to Five Normal Forms in
Relational Database Theory
70:, for every one of its non-trivial multivalued dependencies
263:
together form the whole set of attributes of the relation.
196:
combinations that occur in the table, we will find that
898:, Communications of the ACM, vol. 26, pp. 120–125
38:
in 1977, 4NF is the next level of normalization after
753:
520:
490:
467:
230:
160:
79:
759:
526:
496:
473:
236:
181:actually occurring in the table (call this choice
166:
85:
1057:
104:—that is, the combination of all attributes in
918:
697:
119:
932:
925:
911:
16:Normal form used in database normalization
789:
828:
1058:
906:
768:
778:ACM Transactions on Database Systems
741:
881:(8th ed.). Addison-Wesley Longman.
878:An Introduction to Database Systems
760:{\displaystyle \twoheadrightarrow }
527:{\displaystyle \twoheadrightarrow }
497:{\displaystyle \twoheadrightarrow }
474:{\displaystyle \twoheadrightarrow }
237:{\displaystyle \twoheadrightarrow }
167:{\displaystyle \twoheadrightarrow }
86:{\displaystyle \twoheadrightarrow }
13:
868:
843:
688:
14:
1077:
837:
188:), and compile a list of all the
769:Fagin, Ronald (September 1977).
294:Consider the following example:
177:signifies that if we choose any
54:normal forms are concerned with
754:
521:
491:
468:
231:
220:trivial multivalued dependency
161:
80:
1:
734:
608:Delivery areas by restaurant
298:Pizza Delivery Permutations
203:is associated with the same
7:
1031:Lossless join decomposition
709:
10:
1082:
969:Elementary key normal form
289:
1044:
1008:
940:
698:Normalization beyond 4NF
683:multivalued dependencies
541:Varieties by restaurant
120:Multivalued dependencies
286:, never more than one.
116:or a superset thereof.
56:functional dependencies
1066:Database normalization
1021:Multivalued dependency
993:Domain-key normal form
975:Boyce–Codd normal form
934:Database normalization
761:
716:Attribute-value system
681:is also applicable on
528:
498:
475:
238:
207:entries regardless of
168:
150:multivalued dependency
87:
60:multivalued dependency
40:Boyce–Codd normal form
32:database normalization
1016:Functional dependency
858:10.1145/135250.134515
800:10.1145/320557.320571
762:
529:
499:
476:
268:functional dependency
239:
169:
88:
875:Date, C. J. (1999),
751:
518:
488:
465:
247:is one where either
228:
158:
77:
42:(BCNF). Whereas the
846:ACM SIGCSE Bulletin
609:
542:
299:
981:Fourth normal form
957:Second normal form
757:
721:Injective function
679:Rissanen's theorem
607:
540:
524:
494:
471:
297:
234:
164:
83:
20:Fourth normal form
1053:
1052:
1036:Temporal database
999:Sixth normal form
987:Fifth normal form
963:Third normal form
951:First normal form
945:Unnormalized form
672:
671:
605:
604:
534:{Pizza variety}.
451:
450:
1073:
927:
920:
913:
904:
903:
892:Kent, W. (1983)
862:
861:
841:
835:
832:
826:
825:
823:
822:
816:
810:. Archived from
793:
775:
766:
764:
763:
758:
745:
665:Vincenzo's Pizza
657:Vincenzo's Pizza
610:
606:
598:Vincenzo's Pizza
590:Vincenzo's Pizza
543:
539:
533:
531:
530:
525:
503:
501:
500:
495:
480:
478:
477:
472:
441:Vincenzo's Pizza
430:Vincenzo's Pizza
419:Vincenzo's Pizza
408:Vincenzo's Pizza
300:
296:
243:
241:
240:
235:
173:
171:
170:
165:
148:respectively. A
92:
90:
89:
84:
34:. Introduced by
1081:
1080:
1076:
1075:
1074:
1072:
1071:
1070:
1056:
1055:
1054:
1049:
1047:Denormalization
1040:
1026:Join dependency
1004:
936:
931:
901:
871:
869:Further reading
866:
865:
842:
838:
833:
829:
820:
818:
814:
773:
752:
749:
748:
746:
742:
737:
731:
712:
700:
691:
689:4NF in practice
519:
516:
515:
504:{Delivery area}
489:
486:
485:
481:{Pizza variety}
466:
463:
462:
292:
251:is a subset of
229:
226:
225:
201:
193:
186:
159:
156:
155:
122:
78:
75:
74:
17:
12:
11:
5:
1079:
1069:
1068:
1051:
1050:
1045:
1042:
1041:
1039:
1038:
1033:
1028:
1023:
1018:
1009:
1006:
1005:
1003:
1002:
996:
990:
984:
978:
977:(3.5NF / BCNF)
972:
966:
960:
954:
948:
941:
938:
937:
930:
929:
922:
915:
907:
900:
899:
890:
872:
870:
867:
864:
863:
836:
827:
791:10.1.1.69.1872
784:(1): 262–278.
756:
739:
738:
736:
733:
729:
728:
723:
718:
711:
708:
699:
696:
690:
687:
670:
669:
666:
662:
661:
658:
654:
653:
650:
646:
645:
642:
638:
637:
634:
630:
629:
626:
622:
621:
616:
603:
602:
599:
595:
594:
591:
587:
586:
585:Stuffed Crust
583:
579:
578:
575:
571:
570:
569:Stuffed Crust
567:
563:
562:
559:
555:
554:
549:
523:
506:
505:
493:
482:
470:
449:
448:
445:
442:
438:
437:
434:
431:
427:
426:
423:
420:
416:
415:
412:
409:
405:
404:
401:
398:
394:
393:
390:
387:
383:
382:
379:
376:
372:
371:
368:
365:
361:
360:
357:
354:
350:
349:
346:
343:
339:
338:
335:
332:
328:
327:
324:
321:
317:
316:
311:
306:
291:
288:
233:
199:
191:
184:
163:
121:
118:
82:
68:if and only if
15:
9:
6:
4:
3:
2:
1078:
1067:
1064:
1063:
1061:
1048:
1043:
1037:
1034:
1032:
1029:
1027:
1024:
1022:
1019:
1017:
1014:
1013:
1012:
1007:
1000:
997:
994:
991:
988:
985:
982:
979:
976:
973:
970:
967:
964:
961:
958:
955:
952:
949:
946:
943:
942:
939:
935:
928:
923:
921:
916:
914:
909:
908:
905:
897:
896:
891:
888:
887:0-321-19784-4
884:
880:
879:
874:
873:
859:
855:
851:
847:
840:
834:Fagin, p. 268
831:
817:on 2007-11-29
813:
809:
805:
801:
797:
792:
787:
783:
779:
772:
744:
740:
732:
727:
724:
722:
719:
717:
714:
713:
707:
705:
695:
686:
684:
680:
675:
667:
664:
663:
659:
656:
655:
652:Capital City
651:
648:
647:
644:Capital City
643:
640:
639:
635:
632:
631:
627:
624:
623:
620:
619:Delivery area
617:
615:
612:
611:
600:
597:
596:
592:
589:
588:
584:
581:
580:
576:
573:
572:
568:
565:
564:
560:
557:
556:
553:
552:Pizza variety
550:
548:
545:
544:
538:
535:
512:
484:{Restaurant}
483:
461:{Restaurant}
460:
459:
458:
454:
446:
443:
440:
439:
435:
432:
429:
428:
424:
421:
418:
417:
413:
410:
407:
406:
403:Capital City
402:
400:Stuffed Crust
399:
396:
395:
392:Capital City
391:
388:
385:
384:
381:Capital City
380:
378:Stuffed Crust
377:
374:
373:
369:
367:Stuffed Crust
366:
363:
362:
358:
356:Stuffed Crust
355:
352:
351:
348:Capital City
347:
344:
341:
340:
336:
333:
330:
329:
325:
322:
319:
318:
315:
314:Delivery area
312:
310:
309:Pizza variety
307:
305:
302:
301:
295:
287:
285:
284:exactly one y
281:
277:
273:
269:
264:
262:
258:
254:
250:
246:
224:
221:
216:
214:
210:
206:
202:
195:
187:
180:
176:
154:
151:
147:
143:
139:
135:
131:
127:
117:
115:
114:candidate key
111:
107:
103:
99:
95:
73:
69:
65:
61:
57:
53:
49:
45:
41:
37:
33:
29:
25:
21:
1011:Dependencies
989:(5NF / PJNF)
980:
893:
876:
852:(1): 19–23.
849:
845:
839:
830:
819:. Retrieved
812:the original
781:
777:
743:
730:
701:
692:
676:
673:
668:Shelbyville
660:Springfield
636:Shelbyville
628:Springfield
618:
613:
593:Thick Crust
561:Thick Crust
551:
546:
536:
507:
455:
452:
447:Shelbyville
436:Springfield
425:Shelbyville
414:Springfield
370:Shelbyville
359:Springfield
337:Shelbyville
326:Springfield
313:
308:
303:
293:
283:
279:
275:
271:
265:
260:
256:
252:
248:
244:
222:
219:
217:
212:
208:
204:
197:
189:
182:
178:
174:
152:
145:
141:
137:
133:
129:
125:
123:
112:is either a
109:
105:
97:
93:
71:
36:Ronald Fagin
23:
19:
18:
649:Elite Pizza
601:Thin Crust
582:Elite Pizza
577:Thin Crust
574:Elite Pizza
422:Thick Crust
411:Thick Crust
397:Elite Pizza
386:Elite Pizza
345:Thick Crust
334:Thick Crust
323:Thick Crust
282:determines
28:normal form
821:2008-04-26
735:References
614:Restaurant
547:Restaurant
511:redundancy
444:Thin Crust
433:Thin Crust
389:Thin Crust
304:Restaurant
66:is in 4NF
52:Boyce–Codd
786:CiteSeerX
755:↠
726:Bijection
522:↠
492:↠
469:↠
232:↠
162:↠
81:↠
1060:Category
808:14617155
710:See also
641:A1 Pizza
633:A1 Pizza
625:A1 Pizza
566:A1 Pizza
558:A1 Pizza
375:A1 Pizza
364:A1 Pizza
353:A1 Pizza
342:A1 Pizza
331:A1 Pizza
320:A1 Pizza
278:, every
102:superkey
30:used in
290:Example
26:) is a
995:(DKNF)
971:(EKNF)
885:
806:
788:
144:, and
132:, and
98:{X, Y}
50:, and
44:second
1001:(6NF)
983:(4NF)
965:(3NF)
959:(2NF)
953:(1NF)
947:(UNF)
815:(PDF)
804:S2CID
774:(PDF)
255:, or
100:is a
64:table
48:third
883:ISBN
259:and
108:and
62:. A
854:doi
796:doi
704:5NF
24:4NF
1062::
850:24
848:.
802:.
794:.
780:.
776:.
685:.
274:→
266:A
218:A
215:.
194:yz
140:,
128:,
96:,
46:,
926:e
919:t
912:v
889:.
860:.
856::
824:.
798::
782:2
280:x
276:Y
272:X
261:Y
257:X
253:X
249:Y
245:Y
223:X
213:y
209:z
205:y
200:c
198:x
192:c
190:x
185:c
183:x
179:x
175:Y
153:X
146:z
142:y
138:x
134:Z
130:Y
126:X
110:Y
106:X
94:Y
72:X
22:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.