I can imagine two options: ( -----< means "one to many" )
Operas----<Performances-------<Performance_Singer>-----Singers-----<Castings>------Roles>------Performances 2>----Operas 2
You'd need to decide if the roles are specific to the specific opera or a particular performance of the opera.
The Exploring the use of a $Path Variable in Scripts names shown with a "2" are a second occurrence of the same table (Operas and Operas 2 have the same data source table)
Thanks so much! I created everything and it's set up according to your first method. However, I still can't quite get it to work. I read your post on the topic and made the sample database but can't quite comprehend how it applies here. This is what I have set up so far. I entered a couple roles to try to link them back to the opera through a portal, but I can't quite figure it out. Do I have to use separate layouts? Ideally, I'd just like a portal on the main Opera layout that lists all the roles for that specific opera with their voice-type. The roles table would be used to record role name, voice-type, range, etc. Does that make sense? Thanks again for pointing me in the right direction.