[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