תכנון מסד - לאחד טבלאות או לפצל?
-
יש לי טבלה בשם Favorites שמקשרת מוצרים ליוזרים, כשהיוזר מוסיף מוצר למועדפים זה נרשם בטבלה
כעת מנהל המערכת רוצה פונקציה נוספת, שהוא עצמו יוכל לסמן על מוצר שהוא שייך ליוזר, כדי שהמוצר יופיע ברשימה מיוחדת של מומלצים עבור היוזר.
הדרישה היא שזה יהיה מסומן בצבע שונה או באיזור שונה במערכת.אם כך יש לי שתי אפשרויות, להשתמש בטבלה הקיימת Favorites ולהוסיף עמודה שתגדיר האם זה נוסף למועדפים ע"י היוזר עצמו או שזה שיוך של מנהל, או ליצור טבלה חדשה עם אותם עמודות של הטבלה Favorites ורק עם שם שונה.
מה נכון לעשות? אודה לכל תשובה
-
האפשרות הראשונה חוסכת בתחזוקה עתידית, ובמעקב אחרי באגים.
-
@יוסף-בן-שמעון
העמודה צריכה להיות לדעתי INT, שתמיד תוכל להוסיף סוגי התאמות (כגון, בחירת USER, בחירת מנהל, בחירת מערכת AI וכן הלאה) -
@יוסף-בן-שמעון
זה כבר שאלה של יעילות מסד נתונים.בעיקרון ENUM עושים עם INT, זה כל העניין שלו. ו ORM טוב יודע לחבר לך את ה ENUM למידע מהטבלה.
אבל למען האמת פעמים רבות חורגים מזה וכותבים תוכן טקסטואלי.
זה פתח לטעויות וכמובן מוריד מיעילות. תלוי בפרוייקט.