Re: Almost relational PostgreSQL (was: one-to-one) - Mailing list pgsql-novice

From Antonios Christofides
Subject Re: Almost relational PostgreSQL (was: one-to-one)
Date
Msg-id 20031104185223.GB5115@localhost
Whole thread Raw
In response to Almost relational PostgreSQL (was: one-to-one)  (Michael Glaesmann <grzm@myrealbox.com>)
Responses Re: Almost relational PostgreSQL (was: one-to-one)
List pgsql-novice
Josh Berkus wrote:
> My personal limit of denormalization stops at a few NULL columns and using
> cache tables to hold copies of views which are too slow.

Here's a trivial design problem involving NULLs (the only conscious
violation of Pascal I did in that database): I have a "gaddresses" table
that holds addresses of geographical points (such as your house):

    id       (PK and FK: specifies the geographical point of which we are giving the address)
    country  (FK)
    state    (FK, nullable: specifies the state of the US if the country is US)
    address  (the rest of the address)

Pascal says: use NULL only for missing, not for inapplicable. Here the
state is inapplicable unless the country is US.

What should I do instead? Create another table, "gstates"?

    id       (PK and FK to gaddresses)
    state    (FK)

Is this overkill?

pgsql-novice by date:

Previous
From: marnik@kunstmaan.be (marnik peeters)
Date:
Subject: postgress inheritance / instanceof
Next
From: Josh Berkus
Date:
Subject: Re: Almost relational PostgreSQL (was: one-to-one)