if tb1 and tb2 is "many to many" relationship, i will use tb3 to hold the tb1 and tb2 keys to set up the link between tb1 and tb2.
but if tb1 and tb2 is "1 to many", I should just use one field in tb2 to hold tb1's key, right? the database structure will be much simple. specially for 2 layers or more layers of "1 to many" relationship, for example category->sub-category->products.
but if for very rare cases, that someone want to assign certain products to several sub-categories, such as if he want to assign children sport shoes both to sports sub-cateogry and children shoes sub-category, then it breaks the "1 to many" relation, make it to "many to many" relation.
my questions are if 98% it is "1 to many" relations, and only 2% "many to many" relations. Should I design the database as "many to many" or should I design it as "1 to many" but handle the rest 2% specially, such as use a special tb3 only handle these 2% "many to many" relation.
Thanks!