תכנון מסד נתונים
-
גם אצל בעל החנות לא אמור להיות מוצרים משתנים. וכמו שאמרו כל מוצר יש לו את המהות שלו ואי"צ לגדיר מהות מוצר (לאותו ID) יותר מפעם אחת
-
@upsilon01 אמר בתכנון מסד נתונים:
@chagold
כשהמוצר הוא שירות אז הפרטים כן משתניםצודק.
אבל נר"ל שא"כ עדיף לעשות טבלה נפרדת לversion's (וודאי שלא להחזיק באותה טבלה ID כפול). -
פתרון קצת יותר מסובך:
בטבלה של המוצרים תוסיף עמודה של version לדוגמא:id | version | name | price | size | enabled | ----------------------------------------------- 101| 01 | abc | 100 | 15 | false 101| 02 | def | 150 | 30 | true
כל פעם שיש עריכה של המוצר תשנה את enabled ל false
ותיצור רשומה חדשה עם version +1 ו enabled = trueובטבלת הקניות תוסיף את הערך של version
כשתרצה להציג את רשימת המוצרים תסנן לפי הערך של enabled
@upsilon01 אמר בתכנון מסד נתונים:
בטבלה של המוצרים תוסיף עמודה של version לדוגמא:
רעיון מעניין, רק שזה מסרבל את הרשומה וגורם לכפילות נתונים.
-
@upsilon01 אמר בתכנון מסד נתונים:
@chagold
כשהמוצר הוא שירות אז הפרטים כן משתניםצודק.
אבל נר"ל שא"כ עדיף לעשות טבלה נפרדת לversion's (וודאי שלא להחזיק באותה טבלה ID כפול). -
@upsilon01 אמר בתכנון מסד נתונים:
@chagold לא הבנתי איך
(לא הבנתי מה כוונת @מנצפך על זמן, אז אני עונה רק על מה שכתבתי לפני כן)
לעשות טבלה שתעסוק בגרסאות מוצרים, ויהיה שם שדה ID של מוצר ועוד שדה של מס' גרסה. (ועוד מס' שדות לפי הנתונים הדינמיים).
ותמיד כשיגשו למוצרים יהיה אפשר להעלות את כל הגרסאות עם JOIN.
(ואפשר לעשות שבטבלת מוצרים יהיה ג"כ שדה של 'מס' גרסה נוכחית' דהיינו שיכיל id של השדה המתאים מטבלת הגרסאות (ולייבא אותם תמיד עם join), וכך יהיה אפשר להחזיק גרסה נוכחית של כל מוצר) -
המוצר הוא: זמן.
ולכן יכול להשתנות בין 30 דקות ל 35 דקות, נניח.
ואין זה מהות אחרת.אני יכול לא לאפשר עריכת מוצר.
זו דווקא אפשרות שלא נראית לי הזויה בכלל.השינויים לא מתבצעים בתדירות גבוהה, אם בכלל.
@מנצפך
תעשה מוצר שנקראת דקת עבודה (לפי חישוב יחסי)
ובכמות תשים לפי מספר הדקות.
בכלל, כמות + סכום ליחידה + סכום כולל (אם יש) חייב להישמר בDB בכל עסקה מחדש.
אף פעם אל תסמוך על הגדרות המוצר בזה.גם לגבי הטוטל וסכום המעמ אם יש, תמיד תשמור את זה בDB אפילו שאתה יכול לחשב את זה ברגע האמת.
(אני כותב את זה מנסיון ארוך..... ולא משנה כמה נכון וקשיח תאפיין את המוצר שלך. אלו נתונים שאמורים פשוט להישמר גם ביחס לכל עסקה) -
@מנצפך
תעשה מוצר שנקראת דקת עבודה (לפי חישוב יחסי)
ובכמות תשים לפי מספר הדקות.
בכלל, כמות + סכום ליחידה + סכום כולל (אם יש) חייב להישמר בDB בכל עסקה מחדש.
אף פעם אל תסמוך על הגדרות המוצר בזה.גם לגבי הטוטל וסכום המעמ אם יש, תמיד תשמור את זה בDB אפילו שאתה יכול לחשב את זה ברגע האמת.
(אני כותב את זה מנסיון ארוך..... ולא משנה כמה נכון וקשיח תאפיין את המוצר שלך. אלו נתונים שאמורים פשוט להישמר גם ביחס לכל עסקה) -
@clickone אמר בתכנון מסד נתונים:
תעשה מוצר שנקראת דקת עבודה (לפי חישוב יחסי)
ובכמות תשים לפי מספר הדקות.הבעיה שאם לקוח קונה כנה מוצרים של זמן, עדיין לא נדע את ההתפלגות בין המוצרים.
-
אבל נותן השרות מוכר חבילות של דקות במחיר משתנה
דקת פיתוח = 1 שח
15 דקות = 6 שח
שעה = 15 שח@upsilon01 אז עושים הנחה.
כמו במכולת 3 ב 10 -
@upsilon01 אז עושים הנחה.
כמו במכולת 3 ב 10