שלום ליאור.להל"ן האפשרויות שיש לך לטפל בעניין הזה.
אם כל מה שאתה רוצה זה שהלקוח יחפש לפי תנאים שהוא מגדיר (צבע/ים של עיניים,שיער וכו'..) הרי מדובר רק בשאילתות AND ו OR פשוטות למדיי.
לאומת זאת, אם אתה רוצה לשמור את דרישות הלקוח (האפשרות הזאת עונה ביתר דיוק למה שאני הבנתי מהשאלה שלך) והכן כמו שאמרת הוא יכול לבקש כמה צבעי עיניים וכו', תצטרך לטפל בזה באחת הדרכים הבאות:
הדרך הנכונה כמובן היא ליצור יחס של רבים לרבים בין טבלת לקוח לטבלת עיניים למשל. הרי שלקוח אחד יכול לבקש כמה סוגי עיניים וסוג עיניים אחד יכול להתבקש על ידי כמה לקוחות.
הדרך שאתה ציינתה על ידי כתיבת מספר קודים של עיניים לאותו שדה היא גם אפשרית אך הרבה יותר מורכבת לטיפול שוטף. אתה יכול למשל להפריד בין כל סוג עיניים בנקודה פסיק ";" לדוגמה. אבל שוב זהו שיטה מסורבלת ותדרוש הרבה כתיבת קוד לטיפול במשהו שהוא יחסית פשוט על ידי יצירת קשרים נכונים במסד נתונים, בשפה המקצועית "נרמול".
כמובן שאתה יכול גם להגביל את זה נגיד לשלושה סוגי עיניים שהוא יכול לבחור ואז תבנה בטבלת הדרישות שלך שלוש שדות לצבע עיניים וכו'... גם שיטה זו אינה מומלצת הרי שהוא יכול לבקש סוג אחד והוא יכול לרצות גם ארבעה סוגים. גם שיטה זו איננה בנייה נכונה של מסד נתונים ושיטה זו אינה מנורמלת.
אני מקוה שהבנתי נכון את השאלה שלך ובנחה שכן הבנתי, אני מקוה שגם עזרתי.
אם יש לך שאלות נוספות, אני אשמח לענות. נרשמתי לעדכונים באשכול כדי שאדע אם הוספתה עוד תגובות לאשכול זה.
שמח לעזור.
א.