IMHO, etc.

Always start with a *fully* (ok, by fully I mean 3rd normal form...mainly
because I still don't fully understand 4th and don't even pretend to
understand 5th) normalized design. You can always denormalize for speed but
it's real hard to normalize once you are in production.

Vocal range deserves a 'domainTable' of it's own.

vocalRangeType
---
vocalRangeTypeID
===
description
===

product then has vocalRangeTypeID as a FK.

Nothing wrong with a table that is just a bunch of FKs to other tables.

YMMV, HTH,
=C=

*
* Cal Evans
* Stay plugged into your audience.
* http://www.christianperformer.com
*


-----Original Message-----
From: David T-G [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, January 14, 2003 5:49 PM
To: mysql users
Subject: when to normalize out to a table


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi, all --

I wonder if there's a best-practice line of when to bother to normalize
data out to a table.  Certainly I wouldn't want to have a table of
integers and have a column in another table point into it :-) and almost
certainly I'd want to point out to a table of personnel rather than list
the info -- even just the name -- in the table of other info.

Well, for the music catalog I've started I have to track the vocal range
of the piece.  I only have five values (high, medium high, medium, medium
low, low) and I could at least use 5 logical abbreviations (HH, MH, MM,
ML, LL), and I might even come up with 5 single-letter abbreviations that
would thus be exactly as efficient as going out to another table via a
smallint pointer -- and yet I wouldn't ever have to dereference to see
what range I meant.

How does one decide what to do in a grey area of this sort -- in this
situation, for example? ;-)


TIA & HAND

mysql query,
:-D
- --
David T-G                      * There is too much animal courage in
(play) [EMAIL PROTECTED] * society and not sufficient moral courage.
(work) [EMAIL PROTECTED]  -- Mary Baker Eddy, "Science and Health"
http://justpickone.org/davidtg/      Shpx gur Pbzzhavpngvbaf Qrprapl Npg!

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (FreeBSD)

iD8DBQE+JKHwGb7uCXufRwARApErAJ4r4DyzeSJVt4+/I7H7isVd77zUQQCg0igD
vabIu29v+Jm5s0HOMaGnsLE=
=MRq6
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php



---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to