Wilo Maldonado
Wilo Maldonado

Reputation: 551

4NF and Multivalued Dependencies

Given the relation schema R = (A, B, C, D) and the set of dependencies F = (A -> BCD): Can we claim R is in 4NF?

My thought was that we cannot claim it's in 4NF because 4NF is more concerned with multivalued dependencies.

However, my professor's response was that we can claim it's in 4NF because we are not given any multivalued dependencies.

What is support for these claims?

What is literature (books, papers, etc.) that supports his claim or mine?

Upvotes: 0

Views: 760

Answers (1)

philipxy
philipxy

Reputation: 15118

The Alice book Foundations of Databases 1994.
Maier's classic The Theory of Relational Databases 1983.
Fundamentals of Database Systems 6th Edition Elmasri, Shamkant B. Navathe.
Simon Fraser University CS 4NF slides.

BUT

Given the relation schema R = (A, B, C, D) and the set of dependencies F = (A -> BCD).

This is two things. Do they have something to do with each other? You & your professor have to get straight what that is. Definitions aren't going to decide that for you. If this was a question on an exam or assignment then it's sloppy.

Be aware that "R is in XNF" is used sloppily. Sometimes we mean R satisfies XNF (and all the lower ones). Sometimes we mean XNF is the highest NF that R satisfies.

A MVD corresponds to a binary JD. A FD corresponds to a MVD that multidetermines a set with one element. The MVDs/JDs whose presence violates BCNF are the ones that don't correspond to FDs.

Given R and F, one can't in general tell what highest NF R satisfies. We might as well have been given R and the number 5. (Although R might have 0 or 1 column and so be in 5NF.)

Given R and F plus that F is a set of some FDs holding in R, one can't in general tell what highest NF R satisfies. Other FDs or MVDs/JDs that aren't implied by them could hold in R too. (Although again for particular combinations of columns and FDs, including there being enough FDs to account for all possible MVDs/JDs, we might know the highest NF that R satisfies.)

Given that F is a minimal cover for the FDs holding in R or that the only FDs holding in R are those implied by F (ie in either case the FDs holding in R are those in the transitive closure of F), one can't in general tell what highest NF R satisfies. Other MVDs/JDs that aren't implied by them could hold in R too. However we can tell from the FDs that R satisfies some minimal highest NF regardless of those other MVDs/JDs. (Which will be somewhere between 1NF and BCNF.) Here that would be BCNF. If we also know that no MVDs/JDs hold other than those ones implied by F, we can determine what highest NF R satisfies. (This would raise a BCNF from the previous case to 5NF.) Here that would be 5NF.

Given that F is the only non-trivial FD holding in R, anything is provable, because if F holds then so do {A->B}, {A->C}, {A->D}, {A->BC}, {A->BD} and {A->CD}, a contradiction.

So: What is given?

PS

If you don't have a definition then you are unjustified in claiming "4NF is more concerned with multi-valued dependencies". And anyway "4NF is more concerned with multi-valued dependencies" doesn't prove anything. It barely means anything.

Upvotes: 2

Related Questions