| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: Proposal: 6NF
Karen Hill wrote:
> Brian Selzer wrote:
>
>
>>multiple tables. Even if you separated only the NULLable columns into >>different tables, the effort required to perform many simple queries can >>become impractical. For example, if you have a table with 30 columns where >>15 are NULLable, you would need as many as 16 tables to eliminate NULLs. As >>a consequence, every query that would have involved a NULLable column would >>now require a join.
I can't see that you've proposed anything new. In fact, I think you've confused a couple things.
Using TYPE firstname, /firstname.name/ holds a first name -- unless /firstname.nameProvided/ is false, in which case it holds... What? What is '"FIRST NAME NOT GIVEN"?' A magic value? More magic than a NULL not-a-value?
I think you are wrestling with the various flavors of NULL, and by flavors I refer to that many myriad things NULL is supposed to represent: sometimes "Not Applicable," sometimes "Not Known," sometimes "this OUTER JOIN had none." (Or some such.)
You're on the right track when considering TYPEs and the key feature your TYPE system needs is an equality comparison operator that can determine that ('t', 'John'), ('f', 'not given), and ('f', 'not applicable') are different values in /firstname/.
But I see nothing that looks like a proposed normal form. Received on Sun Oct 01 2006 - 11:33:09 CDT
![]() |
![]() |