On 19/10/2017 17:50, Stefan Ram wrote:
Robin Becker <ro...@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

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to