X-Original-To: pgsql-sql-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.144]) by svr1.postgresql.org (Postfix) with ESMTP id 39408D1B19A for ; Fri, 23 Jul 2004 07:00:25 -0300 (ADT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 44056-02 for ; Fri, 23 Jul 2004 10:00:16 +0000 (GMT) Received: from smtp-send.myrealbox.com (smtp-send.myrealbox.com [192.108.102.143]) by svr1.postgresql.org (Postfix) with ESMTP id 5EACBD1B20E for ; Fri, 23 Jul 2004 07:00:01 -0300 (ADT) Received: from [10.10.14.130] grzm [61.115.206.98] by smtp-send.myrealbox.com with NetMail SMTP Agent $Revision: 3.89 $ on Novell NetWare; Fri, 23 Jul 2004 04:00:04 -0600 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> Mime-Version: 1.0 (Apple Message framework v618) Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: Content-Transfer-Encoding: 7bit Cc: Karsten Hilbert , pgsql-sql@postgresql.org From: Michael Glaesemann Subject: Re: surrogate key or not? Date: Fri, 23 Jul 2004 18:59:33 +0900 To: Kenneth Gonsalves X-Mailer: Apple Mail (2.618) X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, hits=0.0 tagged_above=0.0 required=5.0 tests= X-Spam-Level: X-Archive-Number: 200407/195 X-Sequence-Number: 18447 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