How to Correctly Define Many-To-Many Relationships in Database Design