Re: PostgreSQL Developer Best Practices - Mailing list pgsql-general

From David G. Johnston
Subject Re: PostgreSQL Developer Best Practices
Date
Msg-id CAKFQuwZ6VKFz3-9-2rx8-d2mysrYy_qxHNksm8MUeuttQQ7OSQ@mail.gmail.com
Whole thread Raw
In response to Re: PostgreSQL Developer Best Practices  (Rob Sargent <robjsargent@gmail.com>)
List pgsql-general
On Tue, Aug 25, 2015 at 12:09 PM, Rob Sargent <robjsargent@gmail.com> wrote:
On 08/25/2015 09:40 AM, Melvin Davidson wrote:
Adrian,

Stop being so technical. When we/I speak of natural keys, we are talking about the column
that would NATURALly lend itself as the primary key.
No one ever said a number is not natural. just that there is no need to duplicate uniqueness
with a separate number.

IOW: If we have an account table, then the account_id or account_no
     would be the primary key. There is no need to have a separate serial id as the primary key.
If I'm following correctly, you're saying that if the definition of the entity contains and arbitrary unique value then use that. Fine.  I guess I quibble with the notion of VIN as a "natural" attribute of car.  (I have no firsthand experience with VINs but I would bet there's information tucked inside them, which would make me sceptical of using them :) )


​Yes, the VIN is an encoding in a similar fashion to how Object IDs function in the computer world: http://www.zytrax.com/books/ldap/apa/oid.html

The problem with using a VIN is a combination of usability during manual entry - even with the checksum feature - and the fact that only physically produced vehicles are assigned one but both manufacturers and their dealers end up dealing with the concept of a vehicle before one is ever produced.  Neither are overly problematic but they are annoying enough that usually additional identifiers are constructed an used by the business in order to avoid having to see the VIN as anything other than an attribute.  The length itself is also problematic - 17 characters typically is a bit much when the user likely only care about thousands or tens of thousands of entities at any given time.

David J.


pgsql-general by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: PostgreSQL Developer Best Practices
Next
From: Marc Munro
Date:
Subject: Re: [pgsql-general] Daily digest v1.13732 (15 messages)