Re: Enforce primary key on every table during dev?

Поиск
Список
Период
Сортировка
От Ron Johnson
Тема Re: Enforce primary key on every table during dev?
Дата
Msg-id 84f6f201-8d70-b5a2-503a-62e0a452cc95@cox.net
обсуждение исходный текст
Ответ на Enforce primary key on every table during dev?  (Jeremy Finzel <finzelj@gmail.com>)
Ответы Re: Enforce primary key on every table during dev?
Список pgsql-general
On 03/01/2018 02:20 AM, Alban Hertroys wrote:
[snip]
> Not to mention that not all types of tables necessarily have suitable candidates for a primary key. You could add a
surrogatekey based on a serial type, but in such cases that may not serve any purpose other than to have some arbitrary
primarykey.
 
>
> An example of such tables is a monetary transaction table that contains records for deposits and withdrawals to
accounts.It will have lots of foreign key references to other tables, but rows containing the same values are probably
notduplicates.
 
> Adding a surrogate key to such a table just adds overhead, although that could be useful in case specific rows need
updatingor deleting without also modifying the other rows with that same data - normally, only insertions and
selectionshappen on such tables though, and updates or deletes are absolutely forbidden - corrections happen by
insertingrows with an opposite transaction.
 

Wouldn't the natural pk of such a table be timestamp+seqno, just as the 
natural pk of a transaction_detail table be transaction_no+seqno?

-- 
Angular momentum makes the world go 'round.


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

Предыдущее
От: Alban Hertroys
Дата:
Сообщение: Re: Enforce primary key on every table during dev?
Следующее
От: Ron Johnson
Дата:
Сообщение: Version upgrade: is restoring the postgres database needed?