On Dec 20, 2007, at 8:50 AM, Ivan Sergio Borgonovo wrote:
On Wed, 19 Dec 2007 17:24:52 +0100 Ivan Sergio Borgonovo <[EMAIL PROTECTED]> wrote:I've something like this: create table i ( iid serial primary key, name varchar(32) ); create table p ( pid serial primary key, iid int references i(iid) on delete cascade, name varchar(32) ); create table c ( bid serial primary key, pid int references p(pid) on delete set null ); insert into i values(default,'i'); -- default proprieties (singularity) insert into p values(-1,null,'default p'); insert into p values(default,1,'this p'); insert into p values(default,1,'that p'); insert into c values(default,null); insert into c values(default,1); insert into c values(default,-1); let's say I'd like to associate c with a name (the propriety) a null c.pid means I still have to assign a propriety or the previously assigned propriety is not anymore available. I'd like to have a way to say take the propriety from i and the above is what I came out with. But that introduces a singularity. Any better design? I don't like to write a schema that needs data inside to have a meaning. If not how can I protect the singularity from accidental delete? Most of the db will be accessed through functions and this is a step. An alternative design could be create table c ( bid serial primary key, usedefault boolean, pid int references p(pid) on delete set null ); where usedefault=true -> use default usedefault=false -> use i.pid usedefault is null -> not yet assigned
Ivan, after reading both of your posts I'm still not sure what you mean or are trying to do. What do you mean by a singularity? By propriety do you mean property? Can you give an example with more descriptive names than i, p, and c?
Erik Jones Software Developer | Emma® [EMAIL PROTECTED] 800.595.4401 or 615.292.5888 615.292.0777 (fax) Emma helps organizations everywhere communicate & market in style. Visit us online at http://www.myemma.com ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org/
