Skip to main content

List all possible F+

Short answer

F+ includes all trivial and given FDs, plus derived ones like ACD → E, ACDF → G. The only candidate key is ACD.

If R = (A, B, C, D, E, F, G), F = {A → B, ABCD → E, EF → G}. List all possible F+.

The closure F⁺ is the set of all functional dependencies logically implied by F. It is built by applying Armstrong's axioms again and again.

  • Reflexivity: if Y ⊆ X then X → Y
  • Augmentation: if X → Y then XZ → YZ
  • Transitivity: if X → Y and Y → Z then X → Z
  • Derived: union (X→Y, X→Z ⇒ X→YZ), decomposition (X→YZ ⇒ X→Y, X→Z), pseudotransitivity (X→Y, YW→Z ⇒ XW→Z)

Given R = (A, B, C, D, E, F, G) and F = {A → B, ABCD → E, EF → G}.

A complete listing is not practical: R has 7 attributes, and F⁺ contains 3357 dependencies X → Y with Y non-empty (counting the trivial ones). So F⁺ is written by its structure, with all the important members listed.

1. Members of F itself

A → B, ABCD → E, EF → G

2. Trivial dependencies (reflexivity)

X → Y for every Y ⊆ X, for example A → A, AB → A, ABCDEFG → any subset of R.

3. Dependencies from the rules

  • Augmentation of A → B: AC → BC, AD → BD, AF → BF, ACD → BCD, ACDF → BCDF, and so on with any Z.
  • Pseudotransitivity: A → B and ABCD → E give ACD → E. Check: A → B augmented with CD gives ACD → BCD, so ACD → ABCD (add the trivial ACD → ACD and take the union); then ABCD → E gives ACD → E by transitivity.
  • From EF → G and ACD → E: ACDF → EF (union/augment), then ACDF → G by transitivity.
  • Union of these: ACDF → ABCDEFG.
  • Augmentation of derived ones: ACDE → E (trivial), ACDF → any subset of {A,B,C,D,E,F,G}, for example ACDF → BE, ACDF → EG.

4. Attribute closures that generate F⁺

The closure X⁺ gives every right side for a left side X:

XX⁺
AAB
ACDABCDE
EFEFG
ACDFABCDEFG
any X without AX only (no new attributes unless X ⊇ EF)

So F⁺ = { X → Y : Y ⊆ X⁺ }. For example, ACD → AB, ACD → BE, ACD → ABCDE, A → B, EF → G, EF → E, BEF → G.

Candidate key

A, C, D and F never appear on the right side of any FD, so they must be in every key. ACDF⁺ = ABCDEFG = R, so ACDF is the only candidate key.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Database Management System chapter 4 questions →