Arthur Fuller
artful at rogers.com
Mon May 9 16:50:28 CDT 2005
I quite agree, Charlotte. Wash my mouth out with soap. Charlotte Foust wrote: >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 > >_______________________________________________ >dba-SQLServer mailing list >dba-SQLServer at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/dba-sqlserver >http://www.databaseadvisors.com > > > > > -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.308 / Virus Database: 266.11.6 - Release Date: 5/6/2005