Advanced Database Management System - Tutorials and Notes: Finding Extraneous Attribute in DBMS

## Search Engine

Please visit, subscribe and share 10 Minutes Lectures in Computer Science

## Extraneous Attribute

If we are able to remove an attribute from a functional dependency without changing the closure of the set of functional dependencies, that attribute is called as Extraneous Attribute.
[Dictionary meaning of ‘Extraneous’ is ‘irrelevant’, ‘inappropriate’, or ‘unconnected’]
Assume a set of functional dependencies F, and the closure of set of functional dependencies F+. Also, assume that we remove an attribute from any of the FDs under F and find the closure of new set of functional dependencies. Let us mention the new closure of set of functional dependencies as F1+.  If F+ equals the newly constituted closure F1+, then the attribute which has been removed is called as Extraneous Attribute. In other words, that attribute does not violate any of the functional dependencies.

### Example 1:

Let us consider a relation R with schema R(A, B, C) and set of functional dependencies F = { AB C, A C }. The closure for F is F+ = { AB C, A C }.
In AB C, B is extraneous attribute. The reason is, there is another FD A C, which means when A alone can determine C, the use of B is unnecessary (redundant).
Now, we can find the closure for the new set of functional dependencies, which is same as F+. Hence, we can declare that B is extraneous.

### Example 2:

Let us consider a relation R with schema R(A, B, C, D) and a set of functional dependencies F = { A BC, B C, AB → D }. What extraneous attributes are present in FDs of F?
C is extraneous in the RHS (Right Hand Side) of A BC. Because, A can determine B (A BC), B can determine C (B C). Hence, A can determine C also (Transitivity rule). Hence, it is inappropriate to repeat or check an attribute many times.
B is extraneous in the LHS of AB D. The reason is, from A BC, it is clear that A determines B. it would indirectly mean that if you know A and B then you know D also.

## Formal definition of Extraneous Attribute

In a set of functional dependencies F, consider a functional dependency α → β.
Attribute A is extraneous in α, if A α, and F logically implies (F − {α β}) {(α − A) β}.
Attribute A is extraneous in β, if A β, and the set of functional dependencies
(F − {α β}) (β − A)} logically implies F.

For example, suppose F contains AB CD, A E, and E C. To check if C is extraneous in AB CD, we compute the attribute closure of AB under F’ = {AB D, A E, and E C}. The closure is ABCDE, which includes CD, so we infer that C is extraneous.
[Source: Database System Concepts – Korth]

## Featured Content

### Multiple choice questions in Natural Language Processing Home

MCQ in Natural Language Processing, Quiz questions with answers in NLP, Top interview questions in NLP with answers Multiple Choice Que...