Hi Frank Although you are thinking in OOP, the SQL is itself one definition model that you should not ignore and, IMHO, try to follow the normalization statements. You can build a robust and normalized schema (table primarylocation , table secondlocation that have a idprimarylocation, etc.) and later you could build your OOP software translating this to the proper classes (in Java you could use a DAO-POJO class or hibernate-jpa, for example). With this solution you can obtain all the benefits of DBRMS besides a OOP robust software :) Best regards El 17/05/2013, a las 13:46, Frank Lanitz <frank@xxxxxxxxxxxxxx> escribió: > Hi folkes, > > I'm looking for a nice way to build this scenario: > I've got a lot of locations with some special types. For example I've > got workplaces, places like real laboratories and virtual places like > maybe parcel service. For each of the different types I need to store > some common attributes as well as some special ones. Having OOP in mind > I came to the point of inherit tables. so I've create something like > that (just a minimal example): > > CREATE TABLE locations( > id SERIAL PRIMARY KEY, > name varchar(50) > ); > CREATE TABLE workplaces( > workers integer > ) INHERITS (locations); > > But now I got stuck with the primary key thing. As described in the > documentation it is not supported. And now I'm looking for the best way > on having at table workplaces also the unique constraint from locations > etc. so e.g. I can do something like that: > > INSERT INTO workplaces (name, workers) VALUES ('My Place', 5); > > having the incrementation and the uniqueness. I was thinking off > creating a number of triggers doing this for me but wondering whether > there might be a better way. > > Cheers, > Frank > > BTW: Using Postgres 9.2 and up > > > -- > Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general Alfonso Afonso (personal) -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general