J
Jack Leach
Ok ok, here's the deal on the normalization...
In the beginning, I had this set up on a one to many for required
documentation. I keep data regarding the company default requirements and
the actual purchasing requirements.
Anyway, at some point in time I decided that, for the company defaults, and
for the relatively little amount of data that had to be recorded, it would be
a bit less of a hassle to just store these directly in the company master
file (with integers, rather than yes/no, but thats a whole different bag of
worms).
In the past 15 years, these possible requirements have not changed, so I
thought maybe it would be a little quicker than running lookups on a seperate
table to store these couple of defaults. There's a number of different
sections of the app where these types of defaults are stored, but for each
group theres on average of five or six... the manufacturing process has about
10 possiblities but there's never been any requirement for more than 4 or 5,
and that at the very most. The rest are designed in just in case.
So anyway, at that point I figured, for the defaults (all *actual*
recordings of this information is still based on standard normalization, and
will continue to be)... but for the defaults I was basically keeping a bunch
of seperate tables for a few yes/no fields.
It's certainly much easier to check a field in the parent table than to set
up a relational table of one-to-ones just to hold these couple of yes/no
values. And myself being the only one that works with the app am intimately
familiar with it... and should I happen to fall out of the sky and come
screaming to my death, everything is well documented anyway. *If* there does
happen to be a requirement to add another field, it would take only a few
minutes to incorporate.
A month or so ago, I began to consider this setup once again, which
ultimately brought me to the original question I posted... thinking that I
still had no particular desire to hold these defaults in their own table, but
if I could contencate the values into a single field, it might work out well,
being a good way to store a large amount of information into a single field.
Granted, if the amount of defaults for a given group were to exceed 31
possibilities, I would have some major redesign to do. In the meantime, I've
got somewhere around ten seperate groups of yes/no fields with 4 or 5 fields
per group, that could be drastically cut back with this practice. And in 15
years in the business the requirements have not changed all that much...
certainly nowhere near a limit of 31 per group.
David, I agree with you 99.99% on never planning on limitations... in fact,
this is the only time I've ever broken that, and originally it was done in a
period where I was under pressure to implement a new requirement for
something else entirely, and seperate fields were easier to handle in my rush.
Probably what I *should* do now is scrap the idea and go back to storing
company defaults (and every other globally-scoped default) in a one to one
relationship. Because it's like the NY Lotto... Hey, you never know (New
York can certainly use a jackpot of about 6 billion right now...)
Thanks for speaking up... it gives me things to think on. In any case, for
years I've wondered about how these "incrementing constants" worked... until
today I had no idea how they were based, and this concept answers a plethera
of "I wonders".
--
Jack Leach
www.tristatemachine.com
"I haven't failed, I've found ten thousand ways that don't work."
-Thomas Edison (1847-1931)
In the beginning, I had this set up on a one to many for required
documentation. I keep data regarding the company default requirements and
the actual purchasing requirements.
Anyway, at some point in time I decided that, for the company defaults, and
for the relatively little amount of data that had to be recorded, it would be
a bit less of a hassle to just store these directly in the company master
file (with integers, rather than yes/no, but thats a whole different bag of
worms).
In the past 15 years, these possible requirements have not changed, so I
thought maybe it would be a little quicker than running lookups on a seperate
table to store these couple of defaults. There's a number of different
sections of the app where these types of defaults are stored, but for each
group theres on average of five or six... the manufacturing process has about
10 possiblities but there's never been any requirement for more than 4 or 5,
and that at the very most. The rest are designed in just in case.
So anyway, at that point I figured, for the defaults (all *actual*
recordings of this information is still based on standard normalization, and
will continue to be)... but for the defaults I was basically keeping a bunch
of seperate tables for a few yes/no fields.
It's certainly much easier to check a field in the parent table than to set
up a relational table of one-to-ones just to hold these couple of yes/no
values. And myself being the only one that works with the app am intimately
familiar with it... and should I happen to fall out of the sky and come
screaming to my death, everything is well documented anyway. *If* there does
happen to be a requirement to add another field, it would take only a few
minutes to incorporate.
A month or so ago, I began to consider this setup once again, which
ultimately brought me to the original question I posted... thinking that I
still had no particular desire to hold these defaults in their own table, but
if I could contencate the values into a single field, it might work out well,
being a good way to store a large amount of information into a single field.
Granted, if the amount of defaults for a given group were to exceed 31
possibilities, I would have some major redesign to do. In the meantime, I've
got somewhere around ten seperate groups of yes/no fields with 4 or 5 fields
per group, that could be drastically cut back with this practice. And in 15
years in the business the requirements have not changed all that much...
certainly nowhere near a limit of 31 per group.
David, I agree with you 99.99% on never planning on limitations... in fact,
this is the only time I've ever broken that, and originally it was done in a
period where I was under pressure to implement a new requirement for
something else entirely, and seperate fields were easier to handle in my rush.
Probably what I *should* do now is scrap the idea and go back to storing
company defaults (and every other globally-scoped default) in a one to one
relationship. Because it's like the NY Lotto... Hey, you never know (New
York can certainly use a jackpot of about 6 billion right now...)
Thanks for speaking up... it gives me things to think on. In any case, for
years I've wondered about how these "incrementing constants" worked... until
today I had no idea how they were based, and this concept answers a plethera
of "I wonders".
--
Jack Leach
www.tristatemachine.com
"I haven't failed, I've found ten thousand ways that don't work."
-Thomas Edison (1847-1931)