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.
MySQL Senior Principal Technical Support Engineer
Oracle USA, Inc. - Hardware and Software, Engineered to Work Together.
Office: Blountville, TN