From: Michael Glaesemann <grzm@myrealbox.com>
To: Kenneth Gonsalves <lawgon@thenilgiris.com>
Cc: Karsten Hilbert <Karsten.Hilbert@gmx.net>
Cc: pgsql-sql@postgresql.org
Subject: Re: surrogate key or not?
Date: Fri, 23 Jul 2004 18:59:33 +0900
Message-ID: <FF7F62AC-DC8E-11D8-AA48-000A95C88220@myrealbox.com> (raw)
In-Reply-To: <0407231327461F.01150@thenilgiris.com>
References: <1090325769.3241.27.camel@dicaprio.akademie1.de>
<200407221005.59482.josh@agliodbs.com>
<20040723085721.C728@hermes.hilbert.loc>
<0407231327461F.01150@thenilgiris.com>
On Jul 23, 2004, at 4:57 PM, Kenneth Gonsalves wrote:
> On Friday 23 July 2004 12:27 pm, Karsten Hilbert wrote:
>
>> BTW, our full schema is here:
>>
>> http://www.hherb.com/gnumed/schema/
>
> i was looking at your schema. i'm not a database pro, but in master
> tables i
> see you have made the serial id as the primary key. i do it this way:
>
> id serial unique
> name varchar(25) not null
> primary key is name - after all, you are going to search this on name
> arent
> you? or is there some advantage in doing it your way?
Kenneth,
You appear to be misunderstanding the purpose of a primary key. A
primary key is used to ensure there is a way to identify each row
uniquely. It is quite independent of which columns you may or may not
want to search on. If name is not going to be necessarily unique in the
table, it isn't a primary key.
Michael Glaesemann
grzm myrealbox com
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: grzm@myrealbox.com, lawgon@thenilgiris.com, Karsten.Hilbert@gmx.net
Subject: Re: surrogate key or not?
In-Reply-To: <FF7F62AC-DC8E-11D8-AA48-000A95C88220@myrealbox.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox