On Mon, Apr 20, 2009 at 08:13:15AM -0300, Robson Fidalgo wrote:
> Hi David,
>
> Thanks for your help, but I want a relational-object solution.
You can have one without denormalizing. Just use VIEWs and rewrite
RULEs for INSERTs, UPDATEs and DELETEs on them.
> The solution presented by Tom Lane (Thanks Tom!!!!) runs very well
> and it is a relational-object implementation (I suggest put a
> similar example in postgresql 8.3X documentation).
The docs already contain an example:
http://www.postgresql.org/docs/current/static/rules-update.html
There are excellent reasons not to encourage people to do only half
the job. One part, the smaller part, is presenting an interface which
one part of your OO code can talk to. The other part, and the much
larger one, is having a well-indexed, normalized data store
underneath.
Example: Under the store-the-compound system you're proposing, how do
you find all the people who have a common prefix? Answer: Normalize.
If you need that answer quickly, you're looking at down time and DDL
changes. The questions you ask about the data are impossible to know
in advance, so normalized data helps you deal with that.
Cheers,
David.
--
David Fetter <david@fetter.org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david.fetter@gmail.com
Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate