| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: Proposal: 6NF
On Wed, 11 Oct 2006 06:18:18 GMT, Frank Hamersley wrote:
>Hugo Kornelis wrote:
(snip)
>> Sybase disallowing NULL in a column unless stated otherwise, violates
>> the ANSI standards.
>
>Yes I considered that and I did scratch around to see if the standard(s)
>were explicit on this - without much joy. There was a hint of being
>able to establish default settings (MS) for an implied NULL/NOT NULL
>clause but nothing concrete in the ANSI SQL syntax.
>
>Do you perchance have a fast track to said explicitness?
Hi Frank,
If you check the SQL:2003 documents, you'll see that a NOT NULL constraint is defined, but a NULL "unconstraint" (or whatever Sybase calls it) is not part of the specification.
There's also this, in ISO/IEC 9075-2:2003(E), 4.13 (Columns, fields, and attributes):
"Every column has a nullability characteristic that indicates whether the value from that column can be the null value. A nullability characteristic is either known not nullable or possibly nullable.
"Let C be a column of a base table T. C is known not nullable if and only if at least one of the following is true: — There exists at least one constraint NNC that is not deferrable and that simply contains a <search condition> that is a <boolean value expression> that is a known-not-null condition for C. (...)"
>BTW I prefer the Sybase behaviour as the alternate can only lead to
>sloppiness in the hands of the unwashed!
If there was any chance to get this changed, I'd favor a mandatory inclusion of explicit NULL or NOT NULL for every column.
Best, Hugo Received on Thu Oct 12 2006 - 17:36:49 CDT
![]() |
![]() |