Re: Inheritance vs child tables (Was Domains)
От | Ron Johnson |
---|---|
Тема | Re: Inheritance vs child tables (Was Domains) |
Дата | |
Msg-id | 1059861033.24817.57.camel@haggis обсуждение исходный текст |
Ответ на | Domains (Was [PERFORM] Views With Unions) (Francisco J Reyes <fran@natserv.net>) |
Ответы |
Re: Inheritance vs child tables (Was Domains)
|
Список | 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 | +-----------------------------------------------------------------+
Вложения
В списке pgsql-general по дате отправления: