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 same.

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 contains.

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

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql

Reply via email to