Re: Json table/column design question

2024-05-24 Thread Laurenz Albe
On Thu, 2024-05-23 at 11:06 -0500, Skorpeo Skorpeo wrote:
> I see people are big fans of json here.

PostgreSQL's JSON support is great.
But way too often people use it in the wrong way.

Yours,
Laurenz Albe




Re: Json table/column design question

2024-05-23 Thread David G. Johnston
On Thu, May 23, 2024, 10:07 Skorpeo Skorpeo  wrote:

> Thank you for the valuable feedback.  I see people are big fans of json
> here.
>
>>
It's better for data interchange than as a basis for long term model
storage.

David J.


Re: Json table/column design question

2024-05-23 Thread Adrian Klaver

On 5/23/24 09:06, Skorpeo Skorpeo wrote:
Thank you for the valuable feedback.  I see people are big fans of json 
here.


You can be a fan of JSON and still think it is not the correct way to 
store data in a relational database. When you do that you often end up 
with nested, possibly unstructured, data sets. That ends up with the 
exertion of more effort to get the data out in any meaningful form and 
in a timely manner then the time and effort it would take to enter it in 
a structured way.




On Thu, May 23, 2024 at 3:04 AM Laurenz Albe > wrote:


On Wed, 2024-05-22 at 22:38 -0500, Skorpeo Skorpeo wrote:
 > I was wondering if having unrelated columns in a table is a sound
approach when
 > using json.  In other words, if I have two collections of
unrelated json objects,
 > for example "Users" and "Inventory", would it be ok to have one
table with a
 > "Users" column and a "Inventory" column?  My concern is that from
a row
 > perspective the columns could be different lengths, such as more
inventory
 > items as users.  And for any given row the data in one column
would have no
 > relation to another column. I would only query a single column at
a time.
 >
 > Would this approach be ok or are there pitfalls such that it would be
 > advantageous/recommended to have a separate table for each column?

It doesn't matter much if you use one or two columns.
But the word "collection" makes me worry.  Perhaps this article can give
you some ideas:

https://www.cybertec-postgresql.com/en/json-postgresql-how-to-use-it-right/ 


Yours,
Laurenz Albe



--
Adrian Klaver
adrian.kla...@aklaver.com





Re: Json table/column design question

2024-05-23 Thread Skorpeo Skorpeo
Thank you for the valuable feedback.  I see people are big fans of json
here.

On Thu, May 23, 2024 at 3:04 AM Laurenz Albe 
wrote:

> On Wed, 2024-05-22 at 22:38 -0500, Skorpeo Skorpeo wrote:
> > I was wondering if having unrelated columns in a table is a sound
> approach when
> > using json.  In other words, if I have two collections of unrelated json
> objects,
> > for example "Users" and "Inventory", would it be ok to have one table
> with a
> > "Users" column and a "Inventory" column?  My concern is that from a row
> > perspective the columns could be different lengths, such as more
> inventory
> > items as users.  And for any given row the data in one column would have
> no
> > relation to another column. I would only query a single column at a time.
> >
> > Would this approach be ok or are there pitfalls such that it would be
> > advantageous/recommended to have a separate table for each column?
>
> It doesn't matter much if you use one or two columns.
> But the word "collection" makes me worry.  Perhaps this article can give
> you some ideas:
>
> https://www.cybertec-postgresql.com/en/json-postgresql-how-to-use-it-right/
>
> Yours,
> Laurenz Albe
>


Re: Json table/column design question

2024-05-23 Thread Laurenz Albe
On Wed, 2024-05-22 at 22:38 -0500, Skorpeo Skorpeo wrote:
> I was wondering if having unrelated columns in a table is a sound approach 
> when
> using json.  In other words, if I have two collections of unrelated json 
> objects,
> for example "Users" and "Inventory", would it be ok to have one table with a
> "Users" column and a "Inventory" column?  My concern is that from a row
> perspective the columns could be different lengths, such as more inventory
> items as users.  And for any given row the data in one column would have no
> relation to another column. I would only query a single column at a time.
> 
> Would this approach be ok or are there pitfalls such that it would be
> advantageous/recommended to have a separate table for each column?

It doesn't matter much if you use one or two columns.
But the word "collection" makes me worry.  Perhaps this article can give
you some ideas:

https://www.cybertec-postgresql.com/en/json-postgresql-how-to-use-it-right/

Yours,
Laurenz Albe




Re: Json table/column design question

2024-05-22 Thread Muhammad Salahuddin Manzoor
Greetings,
Storing unrelated JSON objects in the same table with distinct columns for
each type (e.g., "Users" and "Inventory") is generally not a sound good
approach may affect Query Performance and Optimization, Storage Efficiency,
scalability and Maintenance, Data Integrity.
Recommended approach is to have separate tables.

*Salahuddin (살라후딘*
*)*


On Thu, 23 May 2024 at 08:39, Skorpeo Skorpeo  wrote:

> Hi,
>
> I was wondering if having unrelated columns in a table is a sound approach
> when using json.  In other words, if I have two collections of unrelated
> json objects, for example "Users" and "Inventory", would it be ok to have
> one table with a "Users" column and a "Inventory" column?  My concern is
> that from a row perspective the columns could be different lengths, such as
> more inventory items as users.  And for any given row the data in one
> column would have no relation to another column. I would only query a
> single column at a time.
>
> Would this approach be ok or are there pitfalls such that it would be
> advantageous/recommended to have a separate table for each column?
>
> Any thoughts/inputs are greatly appreciated.
>
> Many thanks.
>


Re: Json table/column design question

2024-05-22 Thread David G. Johnston
On Wednesday, May 22, 2024, Skorpeo Skorpeo  wrote:

> Hi,
>
> I was wondering if having unrelated columns in a table is a sound approach
> when using json.  In other words, if I have two collections of unrelated
> json objects, for example "Users" and "Inventory", would it be ok to have
> one table with a "Users" column and a "Inventory" column?  My concern is
> that from a row perspective the columns could be different lengths, such as
> more inventory items as users.  And for any given row the data in one
> column would have no relation to another column. I would only query a
> single column at a time.
>
> Would this approach be ok or are there pitfalls such that it would be
> advantageous/recommended to have a separate table for each column?
>
> Any thoughts/inputs are greatly appreciated.
>

What do you expect to gain?  The relational model and normalization has
earned its longevity, I suggest you learn and apply those techniques.
Which generally means avoiding json as a data type. (The single table
abomination you describe isn’t even really on the table - you did a fine
job arguing against it yourself.)

David J.


Json table/column design question

2024-05-22 Thread Skorpeo Skorpeo
Hi,

I was wondering if having unrelated columns in a table is a sound approach
when using json.  In other words, if I have two collections of unrelated
json objects, for example "Users" and "Inventory", would it be ok to have
one table with a "Users" column and a "Inventory" column?  My concern is
that from a row perspective the columns could be different lengths, such as
more inventory items as users.  And for any given row the data in one
column would have no relation to another column. I would only query a
single column at a time.

Would this approach be ok or are there pitfalls such that it would be
advantageous/recommended to have a separate table for each column?

Any thoughts/inputs are greatly appreciated.

Many thanks.