confusing inheritance

Поиск
Список
Период
Сортировка
От Andreas F.
Тема confusing inheritance
Дата
Msg-id 3C835EA6.8010409@gmx.net
обсуждение исходный текст
Ответы Re: confusing inheritance  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
Список pgsql-sql
I'm trying to get going with this objekt oriented concept but managed to 
get confused right from the start.
Basically I know what it's all about with OO from programming languages 
but look:

I started pgAdmin and entered something like

TABLE myObjects (   ObjectID         int4 PRIMARY KEY,   createdOn        timestamp,   createdByUserID  int4
)

then

TABLE myTerminatedObjects (   validFrom   timestamp,   validUntil  timestamp
) INHERITS myObjects


I inserted an object with ObjectID = 0 into myOjects.
Then I inserted a record in myTerminatedObjects again with ObjectID=0 
since I supposed that myTerm... only inherited the structure of myObjects.

As expected myTerm... had one record.
But myObjects held 2 records both with 0 in the ObjectID column, which I 
thought to be impossible because it is the primary key of myObjects.

Obviously myTerminatedObjects stores it's values of inherited fields in 
the tablespace of myObjects breaking myObjects integrity without 
PostgreSQL complainig about.
Am I right ?

And myTerm... inherits the field "ObjectID" but not in the function as 
primary key so it has no key at all ?
At least MS-Access 2K told me so.


May someone give me a pointer to whats going on, please ?

... Andreas


System:
Win 2K
PostgreSQL 7.2.2 as service
Access 2K as client
pgAdminII 1.2.0 as client



В списке pgsql-sql по дате отправления:

Предыдущее
От: Thomas Good
Дата:
Сообщение: Re: \d+ and \dd
Следующее
От: Stephan Szabo
Дата:
Сообщение: Re: confusing inheritance