C
Clif McIrvin
I'm working at normalizing a 'half-baked' application, and I've run into
a 'head scratcher'.
Many of the data entities that I work with have a number of 'optional'
fields. It's fairly easy to see logical groupings that can be moved to
child tables in a 1-1 relationship, which eliminates unused fields when
they come in a group .... but when one or a few of the related group of
optional fields are all that are used I seem to be back at the
beginning: an only partially populated record.
I could create an optional field table with four fields:
PK (autonumber)
FK (Long Int for autonumber value)
Field Type (Likely a pointer to a 'list' table)
Field Value
And then insert records only when the datum actually exists.
For instance, the Field Test data group includes:
Slump
Air Content
Sample Weight
Tare Weight
Sample Temperature
Ambient Temperature
and many times only one or two values are gathered and reported; other
times they all are.
Is it worth it to set up the 'Optional Data' table instead of just
accepting some non-trivial percentage of null values? (This is an
in-house app, with no formal support structure.)
Are there discussions of this concept that you can point me towards?
Comments?
Thanks in advance.
a 'head scratcher'.
Many of the data entities that I work with have a number of 'optional'
fields. It's fairly easy to see logical groupings that can be moved to
child tables in a 1-1 relationship, which eliminates unused fields when
they come in a group .... but when one or a few of the related group of
optional fields are all that are used I seem to be back at the
beginning: an only partially populated record.
I could create an optional field table with four fields:
PK (autonumber)
FK (Long Int for autonumber value)
Field Type (Likely a pointer to a 'list' table)
Field Value
And then insert records only when the datum actually exists.
For instance, the Field Test data group includes:
Slump
Air Content
Sample Weight
Tare Weight
Sample Temperature
Ambient Temperature
and many times only one or two values are gathered and reported; other
times they all are.
Is it worth it to set up the 'Optional Data' table instead of just
accepting some non-trivial percentage of null values? (This is an
in-house app, with no formal support structure.)
Are there discussions of this concept that you can point me towards?
Comments?
Thanks in advance.