Re: data modeling question

Поиск
Список
Период
Сортировка
От andy
Тема Re: data modeling question
Дата
Msg-id 4A476F70.8000401@squeakycode.net
обсуждение исходный текст
Ответ на data modeling question  (Brandon Metcalf <brandon@geronimoalloys.com>)
Список pgsql-general
Brandon Metcalf wrote:
> 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?
>

I think that will work.  There might be one alternative you could look at.  Add a parent field to workorder and drop
genericall together.   BUT that would only let any workorder have one parent.  Not sure if you need to have a workorder
pointback to multiple parents.  Also it makes query'ing out a little harder.  (Personally I think having the second
tablemakes queries easier) 

If you do keep the generic table, I was not sure at first what the fields meant, the naming was a little confusing.
I'drecommend names like: 

orignumber and altnumber or assocnumber or something.

-Andy

В списке pgsql-general по дате отправления:

Предыдущее
От: Ivan Sergio Borgonovo
Дата:
Сообщение: Replication and coding good practices
Следующее
От: David Fetter
Дата:
Сообщение: Re: Replication and coding good practices