An attribute is extraneous in a functional dependency if its removal from that functional dependency does not alter the closure of any attributes.[2]
Given a set of functional dependencies
and a functional dependency
in
, the attribute
is extraneous in
if
and any of the functional dependencies in
can be implied by
using Armstrong's Axioms.[2]
Using an alternate method, given the set of functional dependencies
, and a functional dependency X → A in
, attribute Y is extraneous in X if
, and
.[3]
For example:
- If F = {A → C, AB → C}, B is extraneous in AB → C because A → C can be inferred even after deleting B. This is true because if A functionally determines C, then AB also functionally determines C.
- If F = {A → D, D → C, AB → C}, B is extraneous in AB → C because {A → D, D → C, AB → C} logically implies A → C.
Given a set of functional dependencies
and a functional dependency
in
, the attribute
is extraneous in
if
and any of the functional dependencies in
can be implied by
using Armstrong's axioms.[3]
A dependent attribute of a functional dependency is extraneous if we can remove it without changing the closure of the set of determinant attributes in that functional dependency.[2]
For example:
- If F = {A → C, AB → CD}, C is extraneous in AB → CD because AB → C can be inferred even after deleting C.
- If F = {A → BC, B → C}, C is extraneous in A → BC because A → C can be inferred even after deleting C.