![]() | |
![]() |
| | Thread Tools | Display Modes |
#11
| |||
| |||
|
|
metaperl <metaperl (AT) gmail (DOT) com> writes: When a database designer / developer packs conceptually separate values into a single column, what is this called? Short answer: It violates one of the conditions for first normal form (1NF). That condition has conflicting definitions, though, so you will need to be clear on what definition you're referring to. You will also hear the term “multi-valued” or more formally URL:http://en.wikipedia.org/wiki/First_normal_form#Repeating_groups>. This is what many people think of first when asked to come up with an example of a database that violates 1NF. Your example, though, is just as good even though it has nothing to do with repeating groups. So this term is too narrow and doesn't help describe the practice you're asking about. That practice violates what E.F. Codd termed 1NF (first normal form), because it uses values that are not “atomic”. (There are a number of other conditions for a database to be in 1NF, but this condition of atomic values is the one relevant to your question.) So, on that basis, attributes that do not meet this condition could be called “non-atomic” attributes. The trouble is, “atomic” has no absolute meaning. C.J. Date criticises this term for its unclear definition and unclear application, and suggests the following phrasing of the condition as a way of avoiding the ambiguity of “atomic”: “Every row-and-column intersection contains exactly one value from the applicable domain (and nothing else).” He further criticises the condition itself as Codd defined it, for excluding tuple-valued attributes and relation-valued attributes, which he considers important and valid in the relational model. So, on that basis, attributes that do not meet this condition could be called “domain-violating” attributes. The trouble is, “domain” can be defined by the DBA to mean whatever they like and allow any arbitrary values for a particular attribute. For more, see the Wikipedia page for 1NF, especially the discussion of URL:http://en.wikipedia.org/wiki/First_normal_form#Atomicity>. |
![]() |
| Thread Tools | |
| Display Modes | |
| |