I am going to be have a many-to-many relationship across three tables, but the relationship will be between only one table (say TableA) and only one of the other two tables (say TableB and TableC) at a time. That is, I can have either one junction table
id | TableA_id | TableB_id | TableC_id
with a constraint to make sure that either TableB_id is null or TableC_id is null, or two junction tables
id | TableA_id | TableB_id
id | TableA_id | TableC_id
What would be good criteria to determine which of these two possibilities I should use?