List:General Discussion« Previous MessageNext Message »
From:shawn green Date:October 7 2013 4:10pm
Subject:Re: discovery of functional dependencies from data
View as plain text  
Hello Javad,

On 10/7/2013 4:20 AM, javad bakhshi wrote:
> Hello everyone,
> I was wondering if anyone could provide me with some sort of code for
> discovering functional dependencies from data. I can't use wizards that are available
> in DBMS.
> A starting point would be appreciated also.
> P.S. What I want is to discover the relations between two columns without having any
> meta data available.
> Best regards,
> Javad Bakhshi,
> Computer Science M.Sc
> Department of IT, Uppsala University

Based on my Google research: "discover functional dependency" is a 
highly academic way of saying "normalize my data".  Sure, your way 
involves set theory and dependency trees but the practical effect is the 

Is there code to help you normalize your data? Somewhere there probably 
is.  Can it do so without any metadata? possibly.

However some metadata is required to establish a relationship. That may 
be a foreign key constraint or similar column names. However something 
external to your actual data itself (the naked values) is required to 
indicate that two columns in different tables are somehow related. Even 
what type of data it is (int, char, date, etc) is a form of metadata 
because that helps the database determine what that sequence of bytes is 
meant to represent. It provides meaning beyond what the data itself 

I could have the exact same list of names in two different tables but 
they could mean two totally different things.  One could be the list of 
people hired by a certain HR person used for an audit of the hiring 
person's performance.  One could be the list of people working in a 
particular group and be used to ensure that they have the proper 
security privileges they need.   It's identical data for totally 
different purposes.  Some metadata (even if it is outside the database 
itself) is required to establish context.

Shawn Green
MySQL Senior Principal Technical Support Engineer
Oracle USA, Inc. - Hardware and Software, Engineered to Work Together.
Office: Blountville, TN
discovery of functional dependencies from datajavad bakhshi7 Oct
  • Re: discovery of functional dependencies from datashawn green7 Oct