Re: NULLs: theoretical problems?

From: Brian Selzer <brian_at_selzer-software.com>
Date: Fri, 17 Aug 2007 18:35:12 GMT
Message-ID: <ATlxi.49854$YL5.7133_at_newssvr29.news.prodigy.net>


"Jan Hidders" <hidders_at_gmail.com> wrote in message news:1187370029.251043.73750_at_o80g2000hse.googlegroups.com...

> On Aug 17, 2:17 pm, "Brian Selzer" <br..._at_selzer-software.com> wrote:

>> "Jan Hidders" <hidd..._at_gmail.com> wrote in message
>>
>> news:1187305514.703264.214690_at_d55g2000hsg.googlegroups.com...
>>
>>
>>
>> > On 17 aug, 00:03, Hugo Kornelis <h..._at_perFact.REMOVETHIS.info.INVALID>
>> > wrote:
>>
>> >> [....big snip ...]
>>
>> >> And the model is extremely unstable, since it's not uncommon in real
>> >> businesses to see an optional proposition become mandatory (e.g.
>> >> ebcause
>> >> of legislation change) or a mandatory proposition become optional
>> >> (e.g.
>> >> because of competition). If all propositions are combined into a
>> >> single
>> >> table, this is a simple change from NULL to NOT NULL or vice versa. If
>> >> each proposition has its own table, this is an equally simple change,
>> >> the addition or removal of a constraint that SQL does not currently
>> >> support but that is known as "equality constraint" in Object Role
>> >> Modeling.
>>
>> > Just a minor technicality. As far as I understand it an equality
>> > constraint can be represented by two inclusion dependencies in both
>> > directions, so I would say that it *is* supported by SQL. Anything I'm
>> > missing?
>>
>> Yes. SQL doesn't support multiple assignment. In order to get rows with
>> new key values inserted, at least one of the constraints needs to be
>> disabled.
>
> Or you use deferrable constraints. Present since SQL-92 and supported
> by most serious DBMSs, AFAIK.
>

As far as I know, Sql Server doesn't. Deferrable constraints is a "feature outside Core SQL" in both SQL-99 and SQL-2003.

> -- Jan Hidders
> Received on Fri Aug 17 2007 - 20:35:12 CEST

Original text of this message