Microsoft Dynamics CRM Entity Relationships come in many flavors, but many to many relationship types has some interesting options.
Consider the N:N or Many to Many relationship. If you use the Out of the Box (OOB) N:N relationship option the system will create a hidden in between table. This works wonderful for many situations, but it does not handle situations where you want to track a long list of fields and information about the relationship.
Take for instance if you want to track people who attend one of your provided classes. So for any given contact that you have they might attend one or many of the classes you offer.
You want to track not only that a specific person was in a specific class, but also what grade they received in the class and if they were an actively engaged member of the class.
In order to you to do this you can setup an entity called "Class Participation" and you can then setup relationships to that entity to mimic many to many as follows
Setup a 1:N relationship between Contact and Class Participation (for any given contact they might participate in many classes)
Now setup am N:1 relationship between Class Participation and Class (for any given class participation it might be related to any number of classes.
The steps above setup a many to many relationship with full configurability for the Class Participation entity. You can add fields to the class participation entity and you can display and use this entity for many different purposes.