Skip to main content

JDs and 5NF (Informal)

  • Chapter
  • First Online:
Database Design and Relational Theory
  • 1682 Accesses

Abstract

Just as Boyce/Codd normal form is defined in terms of functional dependencies, so fifth normal form (5NF) is defined in terms of join dependencies (JDs); as noted in Chapter 4, in fact, 5NF is the normal form with respect to JDs, just as BCNF is the normal form with respect to FDs. And the treatment of these ideas in this part of the book therefore parallels the treatment of BCNF and FDs in Part II. In other words, I plan to treat the material both formally, in Chapter 10, and informally in the present chapter.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    So is 4NF, in a sense, but I’m going to ignore 4NF (for the most part, at any rate) until we get to Chapter 12.

  2. 2.

    This very informal definition is the only one I’ll be giving for 5NF in the present chapter.

  3. 3.

    Of course, I’m referring here to one individual step in the overall process. Clearly, repeated steps—i.e., repeated individual decompositions—will, in general, eventually yield a result consisting of more than two projections, even if each individual step yields just two.

  4. 4.

    Personally I find the bow tie symbol slightly inappropriate—it looks like, and in fact originated as, a symbol for a dyadic operator specifically, whereas (as we know from Chapter 5) the join operator is actually n-adic, and join dependencies are accordingly n-ary, for arbitrary nonnegative integer n in both cases.

  5. 5.

    I’m appealing here to an easily proved theorem (see Exercise 12.5 in Chapter 12): viz., given a relvar R and a projection of R whose heading includes both X and Y, the FD XY holds in that projection if and only if it holds in R itself.

  6. 6.

    I’m being a little sloppy once again. For example, consider proposition a. (“Smith supplies monkey wrenches to some project”). If “some project” here means “some unknown project”—i.e., there exists such a project, but no one knows what it is—then proposition a. isn’t an instantiation of the predicate for SPJ, and no SPJ tuple can possibly represent it. But an SPJ tuple certainly can represent the proposition “Smith supplies monkey wrenches to some specific project” (e.g., the Manhattan project); what’s more, the proposition so represented then implies the proposition “Smith supplies monkey wrenches to some project” (i.e., “there exists a known project j such that Smith supplies monkey wrenches to j”). I hope that’s clear!

  7. 7.

    Proof: The only FDs that hold in relvar SPJ are trivial ones, and it’s certainly not the case that every relation satisfying those trivial FDs also satisfies the JD. For example, the relation containing the first three but not the fourth of the tuples as shown in Figure 9-1 doesn’t.

  8. 8.

    If business rule BRX had taken the slightly simpler (and noncyclic) form “if s is connected to p and s is connected to j, then s and p and j must all be directly connected,” then we might have a relvar that’s in BCNF but not in 4NF (and hence not in 5NF either, a fortiori). See Chapter 12.

  9. 9.

    Except as noted in Chapters 13 and 14.

  10. 10.

    Well ... except for 6NF (see Chapter 14).

  11. 11.

    One reviewer argued strenuously that those repetitions didn’t really constitute redundancy. I disagree, but I don’t want to argue the point here; I’ll just remind you that I’ll be examining the whole issue of exactly what does constitute redundancy in detail in Chapter 17.

  12. 12.

    This is thus one of those situations where the user (or in this case the designer) definitely knows more than the system does. Of course, the designer does need to state, and have the system enforce, the corresponding constraint. Perhaps the easiest way to state the constraint is simply as follows: RAP{RNO,ANO} = RA AND RAP{ANO,PNO} = AP AND RAP{PNO,RNO} = PR—i.e., three EQDs, in effect.

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2019 C. J. Date

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Date, C.J. (2019). JDs and 5NF (Informal). In: Database Design and Relational Theory. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4842-5540-7_9

Download citation

Publish with us

Policies and ethics