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