JKL, >The part I like least about your design (1) the use of a GUID
I agree with everything you said about GUID. The GUID column will be named DataSetID and will be an integer. >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. These parameters do mean more when taken together than separately. Much like a patient's height, weight, and blood pressure do give you some information, but knowing all 3 gives you significant information about the patient. If height, weight, and blood pressure should be in separate tables, then perhaps my measurements should be too. This is a small, low volume database. I'm not sure the 4 tables vs. 1 table is going to make a big difference one way or another, but I do want the logic to be correct. If using 4 tables is the right way to do this, then that's what I'll do. If it's 6 of one, half dozen of the other, then maybe I'll flip a coin. BTW, this is going beyond SQLite and I don't want to upset the moderators. Feel free to contact me directly at my L3 email address. -Bill -----Original Message----- From: sqlite-users-boun...@sqlite.org [mailto:sqlite-users-boun...@sqlite.org] On Behalf Of James K. Lowden Sent: Monday, April 21, 2014 10:59 AM To: General Discussion of SQLite Database Subject: Re: [sqlite] BLOBs and NULLs 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 CONFIDENTIALITY, EXPORT CONTROL AND DISCLAIMER NOTE:This e-mail and any attachments are solely for the use of the addressee and may contain information that is privileged or confidential. Any disclosure, use or distribution of the information contained herein is prohibited. In the event this e-mail contains technical data within the definition of the International Traffic in Arms Regulations or Export Administration Regulations, it is subject to the export control laws of the U.S.Government. The recipient should check this e-mail and any attachments for the presence of viruses as L-3 does not accept any liability associated with the transmission of this e-mail. If you have received this communication in error, please notify the sender by reply e-mail and immediately delete this message and any attachments. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users