your solutions are correct, apart from some apparent misspelling:
- Given B->D, C->E
- Augment C on 1: BC -> DC
- Decomposition on 2: BC -> C (3.1), BC -> D (3.2)
- Transitivity on 1, 3.1: BC -> C, C -> E: BC -> E
- Union on 3.2 and 4: BC -> DE
alternatively:
- B->D, C->E
- augment(1.1, c): bc -> dc
- augment(1.2, d): cd -> ed
- trans(2, 3): bc -> de (note: bc -> dc <=> bc -> cd <=> cb -> cd <=> cb -> dc)
ac -> bd cannot be proven in general: inspecting the armstrong axioms you notice that for some X to appear on the rhs of a derived fd, it must occur on the rhs of one of the original fds, except for
X is a subset of some X' on the lhs of an original fd
or
the fd is derived by augmentation with X
1.) constitutes a constraint never mentioned. if 2.) applies, X would appear on a lhs of the original fd too. the only way to eliminate X is by transitivity which requires X to appear on the rhs of one of the original fds.
take b as X to see that ac -> bd is unprovable.
Abbreviations:
Shorthand | Expansion |
---|---|
fd(s) | Functional dependency(/-cies) |
lhs | Left-hand side (of an equation / a derivation ) |
rhs | Right-hand side |