data modeling question - Mailing list pgsql-general

From Brandon Metcalf
Subject data modeling question
Date
Msg-id Pine.LNX.4.58L.0906261427380.6649@cedar.geronimoalloys.com
Whole thread Raw
Responses Re: data modeling question  (andy <andy@squeakycode.net>)
List pgsql-general
I asked a question similar to this a couple of weeks ago, but the
requirement has changed a bit and I want to be sure I'm designing my
tables correctly.

I have the following table:

  CREATE TABLE workorder (
    number    VARCHAR(8),
    quantity  INTEGER,
    generic   BOOLEAN,

    PRIMARY KEY (number)
  );

If generic is true, number will need to be associated with at least
one other number in the same table.  I need to ensure the integrity of
this association.  So, I'm thinking a second table:

  CREATE TABLE generic (
    gnumber   VARCHAR(8),
    number    VARCHAR(8),

    PRIMARY KEY (gnumber, number),

    FOREIGN KEY (gnumber)
      REFERENCES workorder(number)
      ON DELETE RESTRICT
      ON UPDATE CASCADE,

    FOREIGN KEY (number)
      REFERENCES workorder(number)
      ON DELETE RESTRICT
      ON UPDATE CASCADE
  );

Any better way of doing this?

--
Brandon

pgsql-general by date:

Previous
From: Pedro Doria Meunier
Date:
Subject: Re: Postgresql 8.3.7 SSL support
Next
From: Dimitri Fontaine
Date:
Subject: Re: masking the code