[Zope3-dev] Re: [DRAFT] local portlets and perspectives
Jean-Marc Orliaguet
jmo at ita.chalmers.se
Thu Aug 25 07:01:54 EDT 2005
Olivier Grisel wrote:
> Jean-Marc Orliaguet wrote:
>
>> If you use a primary key to collect all the dyadic relations into a
>> unique relation, then you have implicitly created a triadic relation
>> (identified by the key), except that you also explicitly enumerate the
>> underlying relations. So in the end you'll have to store: the primary
>> key + 3 dyadic relations between 6 elements.
>
>
> Yes, I was just saying that is possible to use only binary relations
> throutgh projections on a pure expressive power viewpoint by using
> theprimary key trick. In practice, this might seriously impact the
> perfomance of the data model since it implies a lot of join operations
> where a single select should be sufficient.
>
> Furthermore, using binary projections instead of n-ary predicates make
> it much harder to a human to quickly understand the model.
>
> Regards,
>
> --
> Olivier
>
the thing is that even logically there *is* a triadic relation created
by the fact that there is a primary key. Just as when you write:
<adapter
for=".ISomeInterface"
factory=".SomeFactory"
provides=".ISomeOtherInterface"
/>
the adapter is registered with a discriminator, isn't it? that's what
you call the "primary key".
the "primary key trick" is not a trick, because you have actually
created a triadic relation by connecting 3 elements together. Without
this key, you couln't build a triadic relation with help of the dyadic
relations only because the unity of the relation would be missing.
/JM
More information about the Zope3-dev
mailing list