Topic: Schema/model design for "parts in general" vs "parts in system"

I'm trying to figure out the best model choice for a system design application. My basic models:

System has_many Amplifiers
Amplifier has_many Speakers

I'd like a drop-down list to appear when created a System that allows selection of existing amplifier parts. Each amplifier has a drop-down list for adding speakers. To populate these drop down lists, I've created two more models:


These models will contain all the information related to the part in isolation. In addition to part selection, some information will be recorded regarding the performance of each amplifier in a particular system installation. This means that the Amplifier model in System will contain a) a reference to an Amplifier_part and b) a few stored values related to in-system performance.

My question: is this the most straightforward way to achieve this? It feels a bit odd creating separate "Part type" vs "Part instance" models.

Last edited by asfarley (2012-12-09 15:48:00)