cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Fredrik Liden" <>
Subject Datamodel advice
Date Fri, 02 May 2008 19:14:13 GMT
Hi, I'm wondering what is the best way to implement this structure in

Let's say there is a list of users assigned to a client:
m:n between USER (userid) and CLIENT (clientid) and between CLIENT_USER
(userid,clientid) is the flattened table.

Now from that list of users in CLIENT_USER I want to one and assign to
say a certain languages. I believe the correct datamodel would be:

m:n between CLIENT_USER (userid,clientid) and LANGUAGE (languageid)
where ASSIGNMENT (userid,clientid,languageid) would be the between
(flattened) table.
Is it possible to have a flattened table (ASSIGNMENT) based on another
flattened table (CLIENT_USER)? Or should I unflatten CLIENT_USER and add
a cayenne generated id so it would be
CLIENT_USER(client_userid,userid,clientid) and ASSIGNEMENT
(client_userid,languaged) would be flattened.
I find that I'm often coming back to this situation so just wondering if
anyone has any suggestions.


View raw message