Re: functional dependencies

From: Larry Coon <larry_at_assist.org>
Date: Mon, 09 Jun 2003 08:54:43 -0700
Message-ID: <3EE4ADC3.6D2A_at_assist.org>


Rohan Hathiwala wrote:  

> I hope you all know what a functional dependency is. I would like to
> know whether functional dependencies mainly apply to those
> attributes in a relation whose values have a tendency to repeat
> themselves across various tuples in that relation.

An attribute is functionally dependent on another attribute if its value can be determined by that attribute. That is, if we know the value of some data, we can figure out the value of other data. As its name suggests, it comes from the mathematical definition of a function. If B = ƒ(A), then B is functionally dependent on A.

One of the more common examples with databases is something like this:

create table person (
  social_security_number numeric(9) not null,   last_name varchar(20) not null,
  first_name varchar(20) not null,
  date_of_birth date not null,
  age int not null,
  prinary key (social_security_number)
)

Here age is functionally dependent on date_of_birth, because if we know the date_of_birth (and the current date) we can determine the age.

The above is a simple case. Since functional dependencies are reflexive, augmentive, transitive, projective, additive and pseudotransitive, more complex (and less obvious) cases can be constructed.

Any good database text should cover this in detail.

Larry Coon
University of California
larry_at_assist.org
and lmcoon_at_home.com Received on Mon Jun 09 2003 - 17:54:43 CEST

Original text of this message