efficient way to get a sufficient set of identifying attributes
Robin Becker
robin at reportlab.com
Fri Oct 20 04:32:27 EDT 2017
On 19/10/2017 17:50, Stefan Ram wrote:
> Robin Becker <robin at reportlab.com> writes:
>> .......
>> this sort of makes sense for single attributes, but ignores the possibility of
>> combining the attributes to make the checks more discerning.
>
> What I wrote also applies to compound attributes
> (sets of base attributes).
>
> When there are n base attributes, one can form 2^n-1
> compound attributes from them, or 2^n-1-n proper compound
> attributes. Therefore, a combinatoric explosion might impede
> the brute-force approach. A heuristics might start to
> explore combinations of keys with the best s/l ratio first
> and/or use preferences for certain fields set by a human.
>
all good
> In database design, the keys are usually chosen by a
> human database designer using world knowledge. It sounds
> as if you want to have the computer make such a choice
> using only the information in the table as knowledge.
I think I am tending towards the chosen by real world knowledge approach :(
> Your "identifying attributes" are called "super keys"
> in database science. You probably want minimal
> identifying attribute sets (without unneeded attributes),
> which are called "candidate keys".
>
thanks for this and the reference below.
> So, now you can find and read literature, such as:
>
> Journal of Al-Nahrain University
> Vol.13 (2), June, 2010, pp.247-255
> Science
> 247
> Automatic Discovery Of Candidate In The Relational
> Databases Keys By Using Attributes Sets Closure
> Yasmeen F. Al-ward
> Department of Computer Science, College of Science,
> Al-Nahrain University.
>
> (The title was copied by me as found, the contents is
> in the web and makes more sense than the title.)
>
--
Robin Becker
More information about the Python-list
mailing list