При поломке отношения, его легче отследить, ибо нарушается конструктивность.

Сходу пример на суд:


отношение:
type = traffic_sign
traffic_sign = give_way, stop, ... (считаю не обязательным, ибо есть линк на знак)

участники:
Точка  sign   кол-во = 1, пой знака
Вей     via     кол-во = 1, хайвей, на который распространяется знак
Точка  from  кол-во = 0..1, задает направление движения действия знака, в случае если to не является концом вея.
Точка  to      кол-во = 1, точка на вее, в направлении которой действует знак, для рассматриваемых знаков, идеал - точка перекресток

Хайте, вместе найдем наилучшее решение.
Или, все же, ПОИ знака оставить в покое, пусть будет сам по себе, и вот это:


traffic_sign = give_way, stop, ...

оставить, такая конструктивность уже стала стандартом для отношений, и вот это:


Точка  sign   кол-во = 1, пой знака

из отношения выкинуть