אין לי רעיון פצצה, סבורני שלאור עניות דעתי הייתי עושה אותו דבר גם אחרי הרבה מחשבה.
אני מנחש שמדובר במשל, והנמשל מסובך בהרבה, אחרת לא היית אומר שזה מורכב וקשה לתחזוקה.
אם מדובר בנמשל מסובך, סביר להניח גם שיש מידע נוסף על צד א' וצד' ב', בעמודות נוספות או בטבלה נוספת.
אם הספקולציות שלי נכונות, יכולה להיות הצעה לעשות טבלה שמכילה רק צד בודד, ככה:
InteractionID, UserID, Type, Role
הType נדרש רק אם אין מקום אחר שמכיל מידע על האינטראקציה,
הRole יהיה הסאבטייפ של הצד, למשל במכירה יהיה מוכר מוכר או קונה וכן הלאה.
מבחינת מסד נתונים זה נראה לי מנורמל יותר.