Re: primary keys

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: primary keys
Дата
Msg-id 7428.1252773963@sss.pgh.pa.us
обсуждение исходный текст
Ответ на primary keys  (Grant Maxwell <grant.maxwell@maxan.com.au>)
Ответы Re: primary keys  (Grant Maxwell <grant.maxwell@maxan.com.au>)
Список pgsql-general
Grant Maxwell <grant.maxwell@maxan.com.au> writes:
> I don't know why it was done this way but it seems to me that the
> email addresses are unique, non null and could be used as the primary
> key. This would make the replication much faster and simpler.

> Does anyone out there think the change (number to email address as
> primary key) would be a bad idea ?

One thing that's often considered a useful attribute of a primary key is
that it be immutable.  In your application, do users ever change their
email addresses?  If so, what should happen --- is it okay to treat that
as effectively a new entry?

Also, if you have any other tables referencing this one via foreign
keys, you'd have to have them storing the email address instead of
the serial number; it'll be bulkier and address updates will be that
much more expensive.

You can find lots and lots and lots of discussion of this topic if
you search the archives for talk about natural versus surrogate keys.

            regards, tom lane

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

Предыдущее
От: Merlin Moncure
Дата:
Сообщение: Re: primary keys
Следующее
От: Grant Maxwell
Дата:
Сообщение: Re: primary keys