---
title: "List all possible F+"
subject: "Database Management System"
chapter: 4
key: "semester_6/database_management_system:fd-closure-list-all"
source: https://www.bctengineer.com/q/semester_6/database_management_system/fd-closure-list-all
site: BCT Engineering
---

# List all possible F+

Database Management System · Chapter 4: Database Constraints & Normalization

- Asked in: year not given
- Video: [Closure of Functional Dependencies (F+) & Introduction to Armstrong's Axioms | Normalization Series](https://www.youtube.com/watch?v=p58w1rBTNLM) — PPB
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_6/database_management_system/fd-closure-list-all
- Whole chapter: https://www.bctengineer.com/md/semester_6/database_management_system/chapter-4

## Question

If R = (A, B, C, D, E, F, G), F = {A → B, ABCD → E, EF → G}. 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.

## Answer

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:

| X | X⁺ |
|---|---|
| A | AB |
| ACD | ABCDE |
| EF | EFG |
| ACDF | ABCDEFG |
| any X without A | X 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**.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. What is the closure F+ of a set of functional dependencies F?
   A. Only the dependencies written in F
   B. The set of all dependencies logically implied by F, found with Armstrong's axioms
   C. Only the trivial dependencies of R
   D. The set of attributes determined by one attribute
   Answer: B. F+ contains every FD that follows logically from F, obtained by applying Armstrong's axioms repeatedly. (Key point: Meaning of F+)

2. Given A -> B and ABCD -> E, which dependency can be derived?
   A. AB -> E
   B. ACD -> E
   C. A -> E
   D. CD -> E
   Answer: B. A -> B gives ACD -> BCD, so ACD -> ABCD; with ABCD -> E, transitivity gives ACD -> E. (Key point: Derived dependency ACD -> E)

3. What is ACDF+ under F = {A -> B, ABCD -> E, EF -> G}?
   A. ABCDE
   B. ACDF only
   C. ABCDEFG
   D. EFG
   Answer: C. ACDF gives B (A->B), then E (ABCD->E), then G (EF->G), so the closure is all of R. (Key point: Attribute closure of ACDF)

4. Why must A, C, D and F be in every candidate key of R?
   A. They are the first attributes alphabetically
   B. They never appear on the right side of any FD, so nothing else can determine them
   C. They appear on the left of every FD
   D. Because ACDF is a trivial dependency
   Answer: B. Attributes that are never on a right side cannot be derived, so they must be in the key; ACDF+ = R makes ACDF the only key. (Key point: Candidate key)

## Related in other subjects

- [Contraction to 1.25 m: is flow possible?](https://www.bctengineer.com/question.md?key=semester_4%2Fhydraulics%3Acontraction-possible-flow-specific-energy-4m-channel) — Hydraulics, chapter 7
- [ABCD with shunt capacitor at line end](https://www.bctengineer.com/question.md?key=semester_4%2Fpower_system_analysis_i%3Aabcd-with-shunt-capacitor) — Power System Analysis I, chapter 5
- [Partial profile with possible jump at A](https://www.bctengineer.com/question.md?key=semester_4%2Fhydraulics%3Ahydraulic-jump-partial-profile-5m3s-point-a) — Hydraulics, chapter 8
