title: MySQL Three State Attribute
body: <p>This is a question of good database design as off the top of my head, I can think of many ways to implement this, but the approaches I am coming up with are most likely poor database design (I do not want to be scolded by C.J. Date). I would like to set up a table in my MySQL database for inspection items that are part of an inspection form. The inspection form can be saved multiple times by the user before having completed all inspection items. Each item can therefore be in an "un-inspected" state, or in an "inspected" state. If an inspection item has been inspected, it must have a "pass" or "fail" value.</p>
  
  <p>Originally I was going to use a single boolean attribute that allows NULL, and I was going to have NULL represent the "un-inspected" state, thinking that NULL means the value of the attribute (pass/fail) is unknown. But watching videos and reading books on database design, I am led to believe that the use of NULL to represent a state or value is poor design. I do not think using two attributes (inspected &amp; pass) or using a three valued ENUM would be good database design either.</p>
  
  <p>This may be a very elementary problem, and I may just be overcomplicating things.</p>