Re: Enforce primary key on every table during dev? - Mailing list pgsql-general

From Tim Cross
Subject Re: Enforce primary key on every table during dev?
Date
Msg-id 87tvtzpkt9.fsf@gmail.com
Whole thread Raw
In response to Re: Enforce primary key on every table during dev?  (Ron Johnson <ron.l.johnson@cox.net>)
Responses Re: Enforce primary key on every table during dev?  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-general
Ron Johnson <ron.l.johnson@cox.net> writes:

> On 03/01/2018 02:08 PM, marcelo wrote:
>>
>>
>> On 01/03/2018 16:42 , Ron Johnson wrote:
>>> On 03/01/2018 01:11 PM, marcelo wrote:
>>>>
>>>> On 01/03/2018 16:00 , Ron Johnson wrote:
>>> [snip]
>>>>> If your only unique index is a synthetic key, then you can insert the 
>>>>> same "business data" multiple times with different synthetic keys.
>>>>>
>>>>>
>>>>> -- 
>>>>> Angular momentum makes the world go 'round.
>>>> IMHO, business logic can and must preclude "garbage insertion". Except 
>>>> you are inserting data directly to database using SQL, any n-tier 
>>>> architecture will be checking data validity.
>>>
>>> Any n-tier architecture that's bug-free.
>>>
>> Do you know about unit testing?
>
> Way Back When Dinosaurs Still Roamed The Earth and I first learned the 
> trade, the focus was on proper design instead of throwing crud against the 
> wall and hoping tests caught any bugs. Because, of course, unit tests are 
> only as good as you imagination in devising tests.

+1. And a good test of your underlying data model is whether you can
identify a natural primary key. If you can't, chances are your model is
immature/flawed and needs more analysis.

-- 
Tim Cross


pgsql-general by date:

Previous
From: Ron Johnson
Date:
Subject: Re: Enforce primary key on every table during dev?
Next
From: Adrian Klaver
Date:
Subject: Re: Enforce primary key on every table during dev?