On Fri, 2007-07-20 at 19:18 -0500, Perry Smith wrote: > > The relational model handles inheritance and polymorphism very well if > > you don't store types as values. > > What if I have just an id for an item? This will happen when another > table references an item. How do I know what type it is? Are you > suggesting I look in companies, people, etc, etc to find the type? > It would seem better to have a table that tells me the type. Then > retrieve the item from the specified table. Why do you need to know the type? The purpose of polymorphism is that, if you are looking to access a set of polygons, you don't care whether an individual shape is a triangle or a square, all you care is that it's a polygon. If you want to access triangles specifically, you join polygons to triangles. > > You can use a constraint trigger. The current docs say that's "not > > intended for general use," but it will be available for general use in > > 8.3. And those can be deferred. > > I saw those but where scared away from them because of the "not for > general use". > I only mentioned it because in 8.3 it will be useful for general use. I don't know what's changing about it between now and then, but it's becoming "un-deprecated". It's probably wise to stay away from them until 8.3. Regards, Jeff