Re: NULLs: theoretical problems?
Date: Fri, 17 Aug 2007 23:20:29 -0000
Message-ID: <1187392829.704880.240820_at_a39g2000hsc.googlegroups.com>
On 17 aug, 20:35, "Brian Selzer" <br..._at_selzer-software.com> wrote:
> "Jan Hidders" <hidd..._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.
Didn't know that. Then it is indeed not fair to say that it is really supported by SQL.
- Jan Hidders