בין ישויות שונות יש יחסים שונים, התלויים בבעיה ובהקשר.כאשר היחס בין הישויות הוא many to many, מממשים פתרון של many to many ובמקרה שלא, אז לא. גם הפתרון של one to many הוא מאד דומה.
בד"כ היחס הזה ממומש באמצעות טבלת הצמדה בין זוג עמודות שמקיים יחס many to many. במקרים מסוימים אפשר לעשות משהו שהוא מעט יותר יעיל, לדוגמה יש לנו טבלה של קבצים ולכל קובץ יש מספר דגלים (למשל READ ONLY, HIDDEN, ENCRYPTED). היחס הוא many-to-many כי לכל קובץ יכולים להיות מותאמים מספר דגלים ומן הסתם לכל דגל יכולים להיות המון קבצים שהוא דולק בהם. נניח שמעניין אותנו להחזיק לכל קובץ איזה דגלים יש בו (וכך להבחין בין קובץ שהוא רק HIDDEN לקובץ שהוא למשל READ ONLY ו-ENCRYPTED), ז"א לממש יחס של one to many בהקשר של קבצים. במקרה הזה אני יכול לייצג באמצעות ביטים אילו דגלים דולקים לקובץ, נניח הביט השמאלי יהיה אינדיקטור האם הקובץ הוא HIDDEN והביט אחריו יהיה אינדיקטור האם הקובץ הוא READ ONLY. בסופו של דבר יהיה לי מספר שייצג בצורה בינארית את הביטים הדולגים, וכדי לעדכן ערכים בקובץ אני אבצע פעולה של XOR.
בכל אופן, אין כאן תורה מסיני. במקרים מסוימים אפשר לעשות טריקים מגניבים, אבל כנראה שהם לא ישפרו את הביצועים בצורה משמעותית.
