On Mon, 21 Apr 2014 13:30:15 +0000
"Drago, William @ MWG - NARDAEAST" <william.dr...@l-3com.com> wrote:

> Should I split this table up into smaller tables to eliminate the
> NULLs (e.g. use one table each for IL, Phase, RL, Isolation)? I'm not
> sure what the best design choice would be.

While Dr. Hipp's answer focussed on correctness and performance.  From
the logical side I suggest you consider four separate tables. 

Your database design is a model of the real world.  The rules it
enforces should reflect those of the world it models. The tuple (IL,
Phase, RL, Isolation) doesn't have much meaning, does it, in the sense
that *together* they say something special about whatever (GUID, Path)
represent?  From your description, each individual tuple (e.g., (GUID,
Path, IL)) is meaningful, but the presence of, say, IL without Phase is
not.  Each is a separate, freestanding fact, justifying its own table.  

The part I like least about your design (1) the use of a GUID and, in
particular (2) the name "GUID" for the column.  If you are generating
this GUID, don't; use an integer.  If you're not generating it -- if it
comes to you from another source and therefore identifies something in
"the real world" in some sense, OK.  Either way, use the name of the
column to reflect the thing identified, not the datatype of the
identifier.  

HTH.  

--jkl
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to