public inbox for [email protected]  
help / color / mirror / Atom feed
From: Adrian Klaver <[email protected]>
To: Ron Johnson <[email protected]>
To: pgsql-general <[email protected]>
Subject: Re: Lookup tables
Date: Tue, 4 Feb 2025 08:06:00 -0800
Message-ID: <[email protected]> (raw)
In-Reply-To: <CANzqJaBinU8nF56VcdSx21j1dLKZ+Q0MhUdtujYE+CjkGGMssg@mail.gmail.com>
References: <[email protected]>
	<CANzqJaC3FeJCSy5EUw9VzunBgG3EK6e9=QzUk9wkF8o1Y5iToA@mail.gmail.com>
	<CAKFQuwYpoUxB8je87ozcajt2L7BrNtN9j9mTfomU6gw=jsKNNg@mail.gmail.com>
	<[email protected]>
	<CANzqJaBinU8nF56VcdSx21j1dLKZ+Q0MhUdtujYE+CjkGGMssg@mail.gmail.com>

On 2/4/25 07:19, Ron Johnson wrote:

> How big is the database?  A tiny 500MB db just for you can get by with 
> poor design.  (But then, why are you using PG instead of SQLite?)

For the reasons listed here:

https://sqlite.org/quirks.html

In particular:

[...]

2. SQLite Is Embedded, Not Client-Server

3. Flexible Typing

SQLite is flexible with regard to datatypes. Datatypes are advisory 
rather than mandatory.

4. Foreign Key Enforcement Is Off By Default

[...]

> 
> More importantly, will you ever update the descriptions?  Of course not! 
> Famous last words.  Having a separate PK means that you update one row 
> in one column, while what you've done means that tens/hundreds of 
> thousands of rows in possibly dozens of tables need to be updated.
> 
> It also means that *you* can easily change things in your ad hoc 
> database *without forgetting* to update a table.
> 
> This is called an "update anomaly" in relational design theory.
> 
> -- 
> Death to <Redacted>, and butter sauce.
> Don't boil me, I'm still alive.
> <Redacted> lobster!

-- 
Adrian Klaver
[email protected]






reply

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: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: Lookup tables
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox