Re: Normalization by Composing, not just Decomposing
Date: Mon, 12 Apr 2004 12:52:16 -0400
Message-ID: <j4ydnTr4kfSPVOfdRVn-hw_at_comcast.com>
Your original question started me thinking in a new direction. While others and I would like to keep the word "normalization" reserved for a relatively specific concept, there's no reason why we can't start with individual data values or variables, and compose our way up to schemas.
But first, I want to suggest that you can analyze a body of data values (which I'll just call "items"), back to entities without regard to relations as such.
The following are assumptions of mine, although some of them can be derived from some minimal set of assumptions. You may agree or disagree.
Every (instance of a) data value specifies an attribute.
Every attribute has a domain, which is the set of values that can specify the attribute.
Every attribute describes either a relationship or an entity.
Every relationship associates two or more entities.
The entities are discovered from the underlying ontology of some subject matter.
Notice that, in the above, I've said nothing about columns, rows, tables,
schemas, tuples or relations. Or for that matter about databases, files,
lists, or the like. It's just a body of data consiting of values.
Now we can proceed to the question of composition. We can compose lists,
fields, records, files, columns, rows, tables. Take your pick, or go
consult the oracle at Delphi. The question is, when does it make sense to
compose data into a structure, and when does the composition do more harm
than good?