Curt Sampson wrote:
> On Wed, 31 Jul 2002, Christopher Kings-Lynne wrote:
> 
> > > I highly doubt that. Relating two tables to each other via a key, and
> > > joining them together, allows you to do everything that inheritance
> > > allows you to do, but also more. If you have difficulty with keys and
> > > joins, well, you really probably want to stop and fix that problem
> > > before you do more work on a relational database....
> >
> > I'm still not convinced of this.  For example, my friend has a hardware
> > e-store and every different class of hardware has different properties.  ie
> > modems have baud and network cards have speed and video cards have ram.  He
> > simply just has a 'products' table from which he extends
> > 'networkcard_products', etc. with the additional fields.  Easy.
> 
> And what's the problem with networkcard_products being a separate table
> that shares a key with the products table?
> 
>     CREATE TABLE products (product_id int, ...)
>     CREATE TABLE networkcard_products_data (product_id int, ...)
>     CREATE VIEW networkcard_products AS
>       SELECT products.product_id, ...
>       FROM products
>       JOINT networkcard_products_data USING (product_id)
> 
> What functionality does table inheritance offer that this traditional
> relational method of doing things doesn't?

You can add children without modifying your code.  It is classic C++
inheritance;  parent table accesses work with the new child tables
automatically.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Reply via email to