Re: Inheritance vs child tables (Was Domains) - Mailing list pgsql-general

From Ron Johnson
Subject Re: Inheritance vs child tables (Was Domains)
Date
Msg-id 1059861033.24817.57.camel@haggis
Whole thread Raw
In response to Domains (Was [PERFORM] Views With Unions)  (Francisco J Reyes <fran@natserv.net>)
Responses Re: Inheritance vs child tables (Was Domains)
List pgsql-general
On Sat, 2003-08-02 at 13:22, Francisco J Reyes wrote:
> On Fri, 1 Aug 2003, Ron Johnson wrote:
>
> > On Fri, 2003-08-01 at 12:26, Francisco J Reyes wrote:
> > > On Fri, 1 Aug 2003, Tom Lane wrote:
> > [snip]
> > >  Currently I used inheritance to enforce the consitency
> > > since a good number of fields needed to be common among the tables AND the
> > > inheritted tables are basically a supperset of the data, so some times I
> > > would want to access the inheritted tables and other times the parent/main
> > > table.
> >
> > Isn't this when you'd really want child tables, instead?
>
>
> I think both ways can accomplish the same (if not very simmilar
> functionality), however I find using inherittance easier.
> Not really sure about efficiency though.
>
> A simple example of the type of design I am planning to do would be:
>
> Table A
> Userid
> date entered
> last changed
>
>
> Table B inherited from A(additional fields)
> person name
> birthday
>
> Table C inherited from A(additional fields)
> book
> isbn
> comment
>
> I plan to keep track of how many records a user has so with inherittance
> it's easy to do this. I can count for the user in Table A and find out how
> many records he/she has or I can count in each of the inheritted tables
> and see how many there are for that particular table.
>
> Inheritance makes it easier to see everything for a userid or just a
> particular type of records.

But isn't this what LEFT OUTER JOIN is for?

Attached is a zip of the sql and results of what I mean.

Plain inner joins or LOJ with "WHERE {B|C}.whatever IS NOT NULL"
also pare things dawn.

Of course, just yesterday, in a post on -general or -performance,
I read that LEFT OUTER JOIN isn't particularly efficient in PG.

Also, wouldn't it be odd to have a userid without a name?  So,
why isn't table_b combined with table_a?  But all circumstances
are different, I guess...

--
+-----------------------------------------------------------------+
| Ron Johnson, Jr.        Home: ron.l.johnson@cox.net             |
| Jefferson, LA  USA                                              |
|                                                                 |
| "I'm not a vegetarian because I love animals, I'm a vegetarian  |
|  because I hate vegetables!"                                    |
|    unknown                                                      |
+-----------------------------------------------------------------+


Attachment

pgsql-general by date:

Previous
From: Ron Johnson
Date:
Subject: Re: How to do?
Next
From: Ron Johnson
Date:
Subject: Re: Domains (Was [PERFORM] Views With Unions)