Re: A situation with one parent table and 3 child tables

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: JORGE MALDONADO <jorgemal1960(at)gmail(dot)com>, "pgsql-sql(at)postgresql(dot)org" <pgsql-sql(at)postgresql(dot)org>
Subject: Re: A situation with one parent table and 3 child tables
Date: 2023-10-03 03:10:12
Message-ID: CAKFQuwa6-C9V8nVB6CkX8P0y_b675HZRjp4uqiMqLWD0x1=TFA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Monday, October 2, 2023, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> "David G. Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> writes:
> > On Monday, October 2, 2023, JORGE MALDONADO <jorgemal1960(at)gmail(dot)com>
> wrote:
> >> I have one parent table (*table_p*) with 3 child tables (*table_ch1*,
> *table_ch2
> >> *and *table_ch3*). Each record of the parent table can be associated
> with
> >> 1 and only 1 child table records. This means that:
> >>
> >> * Some records of the *table_p* will link to records of *table_ch1*
> >> * Some records of the *table_p* will link to records of *table_ch2*
> >> * Some records of the *table_p* will link to records of *table_ch3*
> >>
> >> At first look, this does not make very much sense to me. I thought about
> >> considering 3 parent tables, one for each child table. However, the 3
> >> parent tables would have the same exact structure and I would like to
> know
> >> if there is a workaround for this issue.
>
> > You are thinking of it backwards. Your chN tables will have FK pointing
> > back to the p table. I suggest adding some kind of type column to the p
> > table indicating which chN table the row belongs to.
>
> Do you need that? I was wondering about converting the 3 child tables
> into a partitioned table. Then you can query them separately when
> you need to, but you can also treat them as one table --- and you
> can set up one FK constraint between that and the parent table.
>

This sounds like a typical subclassing (animal -> {dog,cat,moose})
structure where I am assuming the children have different subtype-specific
columns.

David J.

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Rob Sargent 2023-10-03 03:14:16 Re: A situation with one parent table and 3 child tables
Previous Message Tom Lane 2023-10-03 03:03:04 Re: A situation with one parent table and 3 child tables