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