Charlotte Foust
cfoust at infostatsystems.com
Mon May 9 10:57:50 CDT 2005
No don't start that zeroth column argument here, Arthur. It's been beat to death in the D List. Charlotte Foust -----Original Message----- From: Arthur Fuller [mailto:artful at rogers.com] Sent: Sunday, May 08, 2005 3:18 PM To: dba-sqlserver at databaseadvisors.com Subject: Re: [dba-SQLServer] ANSI null compliance Frankly, I'm not up to chapter on verse on SQL 92, although I read it religiously :) My knee-jerk reaction would be that all columns of whatever type should default to NOT NULL, because IMO, Null columns represent a weakness in our design model. I hate Null columns, unless the client can express a clearly articulated set of circumstances in which said column should be null. For example, we hire a new employee and are not sure sure in which department to place her. Given this objection, I would say, why hire her then? Client could answer, Because her qualifications are so good we don't want her to go elsewhere, we'll find a place for her. Now JWC would slide into his zero'th column argument here, which I flatly reject, but that's another topic. I think all column declarations should default to NOT NULL and force you to do extra work to make them nullable. As I see it, if you can do without the data, then do without it. Conversely, if you need the data then demand it. Just my $.02. Susan Harkins wrote: >Well, here's the problem in a nutshell -- the default isn't in >compliance with SQL-92, which is Okay. However, Query Analyzer IS -- >which would tend to lead one astray. Does anyone know if Enterprise >Manager is too because even though the Pubs default returns 0, in EM, >if I create a new table/column, it automatically checks Allow Nulls -- >which is the opposite of what you'd expect considering the inner >non-compliance. But, my thinking is -- if Query Analyzer is in >compliance, perhaps EM is too. > >Or else I'm just terribly baffled by the entire exchange. > >Susan H. > >The Rules from the ANSI-92 standard: ><quote> >Every column has a nullability characteristic of known not nullable > or possibly nullable, defined as follows: > > A column has a nullability characteristic that indicates whether > any attempt to store a null value into that column will inevitably > raise an exception, or whether any attempt to retrieve a value > from that column can ever result in a null value. A column C with > <column name> CN of a base table T has a nullability >characteristic that is known > >_______________________________________________ >dba-SQLServer mailing list >dba-SQLServer at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/dba-sqlserver >http://www.databaseadvisors.com > > > > _______________________________________________ dba-SQLServer mailing list dba-SQLServer at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-sqlserver http://www.databaseadvisors.com