Re: What is 'Database Mining'
Posted in 1993
Topics: SQL Development & Query Writing
From article <1993Apr20.202029.7036@cs.brown.edu>, by hs@cs.brown.edu (Hagit Shatkay): > In <1993Apr9.201122.27928@informix.com> proberts@informix.com (Paul Roberts) >> I find myself wanting to "factor" a large table into two smaller tables >> - basically "unjoin" it. >> If there is a theory or a method behind this, I'd love to get a pointer >> to it. > If you are working within a single database, and want to break a large relation > into smaller ones - sounds to me that you are talking about Decomposition > of relations. > This is discussed in "Principles of DB and Knowledge-Base Systems" (CS Press) > Vol. 1, by J.D. Ullman, Chapter 7. It has to do with lossless-join decomposition > into Boyce-Codd Normal Form, and other normal forms that preserve functional > dependencies and/or data. In other words, you don't need an analyst to normalise your data: it can be done entirely mechanically. E.g. if you "cut" a column from a table without deleting duplicates, and all its values are distinct, then that column is a candidate key. Same applies to sets of columns as composite keys. I once implemented this using Unix utilities 'cut' and 'sort -u' somehow: it tried all combinations of columns. There may be more to it than this ... > I am not sure about the relation between the factoring of relations into smaller > ones, and "database mining" as described in the other followups to the > "What is 'Database Mining'" question. Surely, any functional dependency exposed by the normalisation is potentially of some general/abstract semantic significance? ---- __ __ Paul Singleton (Mr) JANET: paul@uk.ac.keele.cs |__) (__ Computer Science Dept. other: paul@cs.keele.ac.uk | . __). Keele University, Newcastle, tel: +44 (0)782 583477 << NEW for Staffs ST5 5BG, ENGLAND fax: +44 (0)782 713082 1993