Re: Prescriptive design rules
- From: Doug_McMahon@xxxxxxxxx
- Date: Tue, 04 Sep 2007 15:38:48 -0700
On Aug 29, 4:20 pm, "Evan Keel" <evank...@xxxxxxxxxxxxx> wrote:
This is a post from comp.databases.mysql:
<<let's say I want to ask a survey question, with checkboxes:
What animals do you like?
[] giraffe
[] elephant
[] donkey
...
I'd possibly create a single column named "like" and store each
response as a comma delimited string:
giraffe,donkey
elephant,donkey
etc
But further, let's say I have a question with checkboxes and also
radio buttons:
Please select which animals you own, and tell us how much you like
each:
[] cat () low () medium () high
[] dog () low () medium () high
[] rat () low () medium () high
...
What's the best table design to store that? E.g., I could have a
column named "own" and another column named "rate". Or I could have a
column named "cat" which might contain:
yes,low
and another column named "dog" which might contain:
no
and another column named "rat" which might contain:
yes,high
etc. But neither of those seems quite right to me.
I'm obviously thinking of using one flat table for the whole survey,
is that a very wrong thing to do? I'm assuming that using a flat table
will naturally make it easier to export in spread*** format. I'm
also not concerned about the memory usage of a flat file.>>
If you could provide 10 prescriptive design rules to a front-end developer,
what would they be? Or just 5?
Evan
What's wrong with a table keyed by PERSON and ANIMAL with payload
columns for OWNS and RATING? OWNS could be a quantity, 0 if the
person doesn't own any, 1 or more if he/she owns some number of the
animal. The RATING could be a string drawn from the domain "high"
"medium" "low", or a number from 1-3. Animals that the person didn't
rate and didn't own could be omitted. Animals that the person owned
but did not rate could be given avalue to indicate "unrated", for
example you could agree that the empty string (which is not the same
as a null) is what's used if the person did not supply a rating.
.
- Prev by Date: Re: Attribute-values in separate table
- Next by Date: Re: TRM and sorts
- Previous by thread: Re: NULLs: theoretical problems?
- Next by thread: Re: Prescriptive design rules
- Index(es):