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 -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general