Search Postgresql Archives

Fwd: partial "on-delete set null" constraint

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>> 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.



-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux