+ Start a Discussion

How to build the following object structure?

Greetings all, 


I'm building an application with a modestly more interesting object structure that I've attempted in the past, and would love your thoughts about how to accomplish it. The database will help us develop free math learning tools for elementary and middle school kids (we're a SF Foundation-supported 501(c)(3)).




Here's a simple schematic [pdf link], and what follows is a description:


Mathematical Operations: Has a many-to-many connector with Concepts, Relations, Properties.  


Mathematical Concepts:Has a many-to-many connector relation with Operations.


Mathematical Relations: Has a many-to-many connector relation with Operations. 


Mathematical Properties: Has a many-to-many connector relation with Operations. 


Test Scores: Currently has a lookup relation to Operations, Concepts, Relations and Properties.  


Bugs: Currently has a lookup relation to Operations, Concepts, Relations and Properties.



Our Challenge:


It turns out that we also need for Test Scores to have a many-to-many relationship with all core objects (Operations, Concepts, Relations, Properties). However, it seems that each object can only have a single Master-Detail relationship -- is this the case?


If so, is there any way we can accomplish this diagram?







One way is to create seperate objects and then set up triggers on each object to autopopulate ids for other objects. Basically, you'll be creating a visual force application. The default salesforce functionality does not allow this.




Hrmm, thanks.... maybe there's a better way to accomplish this than the method I've diagrammed out above... any suggestions for modifying the structure around?


I don't want to get too non-standard, since eventually, we'll have to create reports on the data. The weirder the workaround...  


The object structure is based on the underlying business needs.


You can start with the reports that you'll be producing on the data...based on which you can modify the relationships.