עבור לתוכן

צריך עזרה בתכנון דאטה בייס (מסד נתונים) פשוט יחסית.

Featured Replies

פורסם

היי אנשים, אני הסתבכתי עם מסד נתונים פשוט למדי. בעקרון המסד עצמו הוא של מכירה קנייה נניח שאני קונה פריט ואז מוכר אותו. אני צריך לשמור את פרטי הקנייה , את פרטי המכירה כמובן שאת הפרטים של הפריט שקניתי ואת פרטי האדם שממנו קניתי או אליו מכרתי לכן כמובן שתהיה טבלת לקוחות.

הצורך שלי הוא לחשב את הרווח על כל קניה , וכך גם לחשב רווח קלפי תקופת זמן (לכן אולי צריך לשמור היסטוריה מסויימת).

לכל פריט יכולים להיות מספר תתי פריטים שיכולים להמכר בנפרד אני צריך גם איכשהו לטפל בזה.

הפתרון שהגעתי אליו הוא:

טבלת פריטים -> זיהוי פריט + כל שאר הפרטים בנוגע לאותו פריט

טבלת לקוחות -> פרטי לקוח

טבלת עיסקה -> זיהוי עסקה + פרטי עסקה + זיהוי לקוח + זיהוי פריט (יכול להיות מכירה או קניה וצריך להבדיל בין ה-2 כפי שאמרתי קודם)

טבלת תתי-פריטים - > זיהוי תת פריט + זיהוי פריט האב + כל שאר הפרטים בנוגע לתת פריט

שכמובן יש קשרים בניהם. האם זה הגיוני ? האם חסר משהו ? או יש יותר מדי ?

תודה לעוזרים!

פורסם

נראה הגיוני.

פורסם

אני אישית לא חושב שצריכה להיות טבלת תת פריטים, הרי כל תת פריט לפי מה שאני רואה הוא פריט בפני עצמו, לכן בטבלת פריטים צריכה להיות עמודה של פריט אב, שיכול להיות או מספר הפריט בטבלה או null.. זה לפי דעתי

פורסם

אני אישית לא חושב שצריכה להיות טבלת תת פריטים, הרי כל תת פריט לפי מה שאני רואה הוא פריט בפני עצמו, לכן בטבלת פריטים צריכה להיות עמודה של פריט אב, שיכול להיות או מספר הפריט בטבלה או null.. זה לפי דעתי

אני גם חושב שזה מיותר.

פורסם
  • מחבר

אוקיי שיערתי שזה מה שיקרה כי ניסיתי להיות כמה שיותר כללי. אבל בואו נניח שהפריט הוא דיסק ובתוך דיסק יש שירים, ואני רוצה מידע מפורט על כל שיר ושיר.

זה יותר מתקרב למה שאני צריך.

נגיד קניתי דיסק , יש לי בו שירים , ביצעתי את העסקה עכשיו הדיסק הזה במלאי. היום אני מוכר אותו , ביצעתי עיסקת מכירה עכשיו אני צריך לזהות שהדיסק לא במלאי וגם לא כל השירים שבו. אבל אני כן רוצה שזה ישמר בהיסטורי מסויים כדי שאני אוכל לבצע שחזור מידע נניח או שאם אני ארצה לעשות דוח.

[אני יודע שזה נשמע לא הגיוני לקנות דיסק אחד ולמכור אותו, זה לשם דוגמה בלבד. כל דיסק חייב להקנות ולהמכר. אין ספקים הכל מאנשים פרטיים. כמו מגרש גרוטאות של מכוניות , בערך]

פורסם

אוקיי.. אני לא בטוח שאני מבין אותך לחלוטין, היסטוריית העברות תהיה אז בטבלה שונה...

אבל שלכל פריט ותת פריט שיהיה מספר יחודי... ואם הוא חלק מפריט אב אז עמודה שמובילה באותה טבלה לפריט האב..

פורסם

אני לא רואה בעיה בטבלה אחת עדיין.

פשוט תוסיף עמודה של פריט אב כמו שאמרו מעלי. העמודה יכולה להכיל NULL או את המספר סידורי של הפריט.

חבל לעשות עוד בטבלה בשביל זה, זה סתם כפילות מידע. אתה לפי דעתי חושב יותר על הסדר בעיניים שיהיה לך אם תהיה עוד טבלה מאשר על היעילות של המסד נתונים. זה בהתחלה נורא מבלבל.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים