Databases Reference
In-Depth Information
allows us to infer A →→ D from either A →→ CD or A →→ BD . Putting this all together, we see that A →→ B | C
is shorthand for either or both of A →→ B | CD and A →→ BD | C . Given this state of affairs, moreover, we adopt a
shorthand according to which A →→ B | CD and A →→ BD | C can both be written thus: A →→ B | C | D ─and this
latter expression in turn can also be thought of as shorthand for the following three MVDs in combination: A →→
B , A →→ C , and A →→ D .
Now let's try the chase. Here are premise tuples for A →→ C | D , which as we've just seen is equivalent to
A →→ BC | D :
x1 x2 x3 y14
x1 y22 y23 x4
Applying A →→ B | CD generates:
x1 x2 y23 x4
x1 y22 x3 y14
Applying B D gives y14 = x4 . Replacing:
x1 x2 x3 x4
x1 y22 y23 x4
x1 x2 y23 x4
x1 y22 x3 x4
And now we have a tuple of all x 's, so the given dependencies do imply the target JD.
CHAPTER 13
13.1
See Fig. 13.1.
13.2
See the body of the chapter.
13.3 Irreducibility of keys and FDs, and the relevance of FD irreducibility to 2NF, are all discussed in Chapter 4;
FD irreducibility is discussed further in Chapter 5. Irreducible covers are discussed in Chapter 6. Irreducible JDs
are discussed in Chapter 11. Irreducible (i.e., 6NF) relvars and the associated notion of “irreducible facts” are
discussed in the body of the present chapter (i.e., Chapter 13).
13.4
See the body of the chapter.
13.5 The main point that occurs to me is that it might be nice to have some kind of “master” relvar whose primary
purpose is just to record the part numbers for all parts currently represented in the database. If we call that relvar P,
there'll be EQDs between that relvar P and the projection on {PNO} of each of the relvars PN, PL, PW, and PC
(instead of EQDs between, arbitrarily, the projection of PN on {PNO} and the projection on {PNO} of PL, PW, and
PC; indeed, one nice thing about having the master relvar is precisely that it avoids that slight arbitrariness).
Moreover, suppose every part always has a known name and weight but doesn't necessarily have a known
color or city. Then we can combine relvars P, PN, and PW, making that combination─which I'll still call P─the
master relvar, and replace the EQDs previously required by foreign key constraints from PL and PC to that master
relvar. (A part with no known color will be represented in P but not PL; likewise, a part with no known city will be
represented in P but not PC.)

Search WWH ::

Custom Search