0

This the definition of 5NF from Navathe Book of Fundamentals of Database Systems, 6th Edition.

A relation schema R is in fifth normal form (5NF) (or project-join normal form (PJNF)) with respect to a set F of functional, multivalued, and join dependencies if, for every nontrivial join dependency JD(R1, R2, ..., Rn) in F+ (that is, implied by F), every Ri is a superkey of R.

The definition of join dependency is:

A join dependency (JD), denoted by JD(R1, R2, ..., Rn), specified on relation schema R, specifies a constraint on the states r of R. The constraint states that every legal state r of R should have a nonadditive join decomposition into R1, R2, ...,Rn. Hence, for every such r we have (πR1(r),πR2(r), ..., πRn(r)) = r

This is where I have a problem understanding:

What does "for every nontrivial join dependency JD(R1,R2, ..., Rn) in F+ (that is, implied by F), every Ri is a superkey of R." mean?

This is my attempt at understanding:

If I have a relation R(A, B, C), suppose superkeys are AB and AC and if I decomposed R into R1(A,C) and R2(A, B), then R1 and R2 are superkeys of R(I might be wrong here). And since I can join R1 and R2 to form R, it means that R has a non-trivial join dependency but since each R i is a super key of R, R is in 5NF.

Thanks to @philipxy for suggesting edits. I have tried to make the question clearer. Also, if that definition of 5NF is wrong, where can I get the right definitions?

learner
  • 45
  • 1
  • 7
  • That is not a correct definition of 5NF. What is your textbook name & edition? Also, "the join of relation R1, R2, ..., Rn [is] equal to R" is not a definition of a non-trivial JD, it is a definition of a JD. Also, your "if" statement is poorly phrased--read it. Also, explain why your "if" part "should be enough". (It isn't enough, for either your wrong definition of 5NF or a correct one.) Also none of this has anything to do with your actual final question. The definitions use Rs in two different ways: 1. as components of R or R itself, and 2. as the set of attributes in such a relation. – philipxy Jul 03 '20 at 08:34
  • So please get straight what your 1 question is & give your source & cut & paste the definitions you are using for it, including for the symbols & notation & words in it--and read carefully. Please give your clear attempt at answering the actual question you are asking & small clear steps in reasoning that are clearly justified by definitions, theorems & basic logical reasoning when saying why there is a problem. PS Best is, ask about the 1st point you are lost at or don't understand in your textbook. – philipxy Jul 03 '20 at 08:52
  • The join S with a projection of S must equal to S. So that is a case of "R1, R2, ..., Rn are decompositions of R" with "one of them" "equal to R". But you need to explain why you think that that can't be so, which you put rhetorically as "how can that be". If you can't show that it can't be, why do you think that you think that there is a problem? PS So any JD whose attribute sets include the set of attributes of S holds. Indeed, such JDs are exactly the trivial ones. PS "when we join tables that are in 5NF, no spurious tuples are generated"--No. But--you likely mean something else. – philipxy Jul 03 '20 at 09:12
  • Everybody uses 5NF as a synonym for PJNF. But Elmasri & Navathe gives that wrong 5NF definition that started in a textbook by Maier 1983. Vincent (1997) showed that it actually defines a condition that isn't even a generalization of 4NF--it doesn`t imply 4NF--but that a slight change gives a NF between 4NF & 5NF/PJNF--5NFR aka SKNF (Superkey NF). 5NF/PJNF is, every JD is "implied by the CKs". (Fagin) – philipxy Jul 04 '20 at 06:19
  • Your post is clearer. Your reasoning is vaguely in the right direction, but garbled & has some wrong claims & unsound reasoning. You would be helped by first explicitly identifying the FDs that hold, then the CKs, then the JDs that hold. Note JD \*{AB,AC,C} also holds in your example, which actually is in 5NF, but that wrong definition wrongly says that R is not in 5NF since C isn't a superkey. So you can't have applied that definition correctly. Eg you didn't examine *every* non-trivial JD. PS Format the definition per its parse tree like code, find the topmost place you get stuck. – philipxy Jul 04 '20 at 09:57
  • Dozens of published academic information modelling & DB design textbooks are online free in pdf. (But asking for resources outside SO is off-topic.) Unfortunately many are poor, especially re normalization, especially re 5NF. Definition of 5NF might be a SO Q&A. Unfortunately most SO relational model answers are poor. Also you should show reasonable research, so you still need to find a textbook & ask 1 Q where stuck. See my answers that mention [5NF](https://stackoverflow.com/a/50516397/3404097). See Chris Date's book Database Design and Relational Theory: Normal Forms and All That Jazz. – philipxy Jul 04 '20 at 10:08
  • https://researcher.watson.ibm.com/researcher/files/us-fagin/icdt12.pdf https://www.researchgate.net/profile/Ronald_Fagin/publication/215697523_Normal_forms_and_relational_database_operators/links/5536610f0cf218056e949795/Normal-forms-and-relational-database-operators.pdf – philipxy Jul 06 '20 at 09:44

0 Answers0