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

From Ron Johnson
Subject Re: Enforce primary key on every table during dev?
Date
Msg-id 3dfe103d-b6fe-6613-f9f7-31eab0363c26@cox.net
Whole thread Raw
In response to Re: Enforce primary key on every table during dev?  (Alban Hertroys <haramrae@gmail.com>)
List pgsql-general
On 03/01/2018 02:32 PM, marcelo wrote:
>
>
> On 01/03/2018 17:21 , Ron Johnson wrote:
>> 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.
>>>> bl
>>>> 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.
>>
>>
> So, you are fully convinced that there´s no bug free software... Same as I 
> (and you) can code following the business rules, you (and me) can design 
> unit tests not from "imagination" but from same rules.
> Moreover: you can have a surrogate key (to speedup foreign keys) and 
> simultaneously put a unique constraint on the columns requiring it. What´s 
> the question?

Implementing tests to cover edge cases is much harder than implementing 
business rules in natural (and foreign) keys.


-- 
Angular momentum makes the world go 'round.


pgsql-general by date:

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