Fwd: partial "on-delete set null" constraint

From: Alban Hertroys <haramrae(at)gmail(dot)com>
To: PostgreSQL <pgsql-general(at)postgresql(dot)org>
Subject: Fwd: partial "on-delete set null" constraint
Date: 2015-01-25 13:09:25
Message-ID: FEC8CC45-2A61-4270-AD0F-57C143283F15@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


>> The theory got me intrigued. google (http://en.wikipedia.org/wiki/Codd%27s_12_rules) says:
>> rule 3: "systematic treatment of null values"; hmmm.... this is a little broader then "support for null". I would think, that:
>> 1. if a sequence of "update XX set fk_field=null; then delete YY depending on that FK", for a particular schema definition works ...
>> 2. so the implementation of FK should support that too ... to be called "systematic", right?
>> 3. and the simplest way to do that for the case at hand, within an "on delete action", is to skip those parts of FK, that are marked as "not null" within the referring table. That would be a "requirement" for rdbms implementation that claims compliance with Codd rule nr.3 :)
>
> I translated Codd-relationality to English, possibly it’s named differently.
>
> Oddly enough, I can’t find any reference to Codd being responsible for this rule anywhere on the internet. What I did find is that the theory I referred to stems from 1970(!), but that’s the closest I got.

My teachers got back to me; a while ago already, to be fair. They were as surprised that this can't be found on the internet as I was, but it should be possible to find it in printed form. I'd suggest a university library or a good technical book store.

Apparently, this particular theory is explained in E.F. Codd: "The relational model for database management". There are probably other books that do too.

Unfortunately, I do not own a copy so I can't verify. If anyone who does own a copy could confirm or even quote the relevant section, that would be great. Better yet, perhaps this should find it's way (back) to the internet? I'm still much surprised that Wikipedia didn't have this.

Oh, and perhaps we could get a reference in the PG docs on primary keys and NULLs to the theory? Do we have such things in the docs? It sounds like a good idea to me, I always find it helpful to know why things are how they are. But I don't write the docs so this is just one for the ideas-box.

Cheers,

Alban Hertroys
--
If you can't see the forest for the trees,
cut the trees and you'll find there is no forest.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message rob stone 2015-01-25 14:47:38 Re: Fwd: partial "on-delete set null" constraint
Previous Message Tim Smith 2015-01-25 12:50:05 Re: In need of some JSONB examples ?