ChiMu  
 
Menu Edge About   Products   Services   Projects   Publications  
  Publications > TupleMarks      Previous Page Previous TOC Next Next Page

Other Approaches to Missing Information

Correct Normalization Special Values Integrated multi-relation values

Multi-relation variables and Tuple-Marks are meant to replace using standard NULLs, which require three-valued logic. On the other hand, tuple-marks are meant to augment most other approaches for representing missing information. These other approaches can be more appropriate in general or just for certain circumstances within a model.

Correct Normalization

Correct and fully determined normalization [ See [McGoveran 94c] and [Date 94b].] should certainly be the first approach for any database. Having a couple extra relation variables in a database is simpler than adding the concepts of multi-relation variables and NULL-marked tuples. It is only when the scheme will get unmanageable from many "optional" attributes that multi-relation variables may be beneficial.

Special Values

Extending a domain to have special values is another valid approach for representing missing information [ See [Date 96,97a-c] and the other works by C.J. Date for a full discussion of the Special Values topic.] . This requires extending the domain so it understands how operations interact between "normal" values and the special values, but once that domain extension is accomplished it can be used by all attributes needing that domain throughout the database.The main problem with (or feature of) special values is that they will be included in all "normal" value comparisons other than equals [ This isn’t strictly true with good domain support. With good domain support you can define the domain’s operations as failing or implementing whatever truth table you desire. See [Date 97a].] . This leads to the special value results being returned for questions likeWhat suppliers can be proven to be in a location other than London?

This will return suppliers that have a location of "NotApplicable" and "Unknown" by default. These then have to be filtered out of the results if they aren’t desired.

Tuple-marks have the opposite property. Marked tuples will be excluded from results of a query that has any type of operation on a marked attribute and in these cases the tuples will have to be explicitly included (usually by dealing with their relation independently) if they are desired.

Integrated multi-relation values

David McGoveran suggests [McGoveran 94c] multi-relation values and variables should be an integral part of the relational model. This would imply all relational operations could return sets that contain different types of tuples. Although an interesting concept, I am not sure that the added complexity would be worthwhile. The relational model is currently very simple but, even so, is frequently misunderstood. A more sophisticated model would be more likely to be confused.

 
Publications > TupleMarks Previous Page Previous TOC Next Next Page