מסד שמורכב מטבלת יוזרים, וטבלה של אינטרקציה בין היוזרים.
הטבלה של האינטרקציה נראית כך:
ID
UserID
UserSideBID
Type ENUN('sale','buy','question','interest')
ה Type מכיל מידע על סוג האינטרקציה, ועל פיו אמור להיקבע האם השורה הזו נוגעת לשני הצדדים או רק לצד א.
לדוגמה אם צד א ביצע מכירה או קניה, הפעילות הזו אמורה להרשם עבור שני הצדדים, כי פעילות כזו מחייבת אינטרקציה דו צידית, אבל אם צד א רק התעניין במוצר של צד ב לא היתה כאן תקשורת הדדית, ולכן פעילות כזו תרשם רק על שם צד א.
הנתון הזה חשוב ובא לידי שימוש ברבה וריאציות ברחבי האפליקציה, בדוחות שימוש וכדומה.
כרגע כשאני רוצה דוח עבור יוזר, אני מבצע שאילתה שבודקת האם המזהה שלו מופיע בצד א, או שמופיע בצד ב וה Type מכיל את המידע שנוגע לשני הצדדים, משהו כזה
WHERE UserID=123 OR (UserSideBID=123 AND Type IN('sale', 'buy'))
אבל השאילתות מורכבות לתחזוקה ולא אינטואיטיביות
נפשי בשאלתי מהי הדרך הנכונה לתחזק טבלה שכזו, כל הצעה תתקבל בברכה