Re: Prescriptive design rules
On Aug 29, 4:20 pm, "Evan Keel" <evank..._at_sbcglobal.net> 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 spreadsheet 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.
Received on Wed Sep 05 2007 - 00:38:48 CEST
Original text of this message