Functional dependencies A->B and C->B, but not AC->B?

843 Views Asked by At

If I have a relation:

A B C
1 2 3
4 5 6
7 2 8

Where $A\mapsto B$ and $C \mapsto B$. Doesn't that mean that $AC \mapsto B$? How can you even have this relation? What is the primary key?

I'm looking at this slide 10 on this power point: http://www.cs.utah.edu/~lifeifei/cs5530/slides/lecture13.pdf

I would think that if $A$ and $C$ are the same, then $B$ must also be the same. If you can prove this, please show how. The substitute teacher for the day (prof's PhD student) says it can't be done.

EDIT: Wouldn't you just show it by saying:

$AC \mapsto BC$ by augmentation Then, since $C \mapsto B$... you could write $AC \mapsto $B?

2

There are 2 best solutions below

0
On BEST ANSWER

The "slide 10" of the presentation you linked to above illustrates "Lossy Decomposition". That is, if a single table as above (3 rows, 3 columns A/B/C) is such that A and C are each primary keys for the table, then separating the table into two, one having the dependence of B on A, the other having the dependence of B on C, and joining them back together on values of B will produce additional combinations of fields (extra rows) just when the column B contains duplicate values.

But your question seems to be on a different point. If the value of A uniquely determines a row of the table, and a value of C also uniquely determines a row of the table, then a combination of both A and C also uniquely determines a row. I'd double check, but I think this could be restated in terms of how "normalized" the table is.

1
On

Just proved it to him:

By augmentation: AC->BC By decomposition: AC->B and AC->C

Sorry for such a simple question. I should have figured it out earlier. Blah.