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

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


Da-Funk

Recommended Posts

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

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

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

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

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

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

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

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

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

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

קישור לתוכן
שתף באתרים אחרים

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

קישור לתוכן
שתף באתרים אחרים

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

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

קישור לתוכן
שתף באתרים אחרים

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

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

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

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

קישור לתוכן
שתף באתרים אחרים

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

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

קישור לתוכן
שתף באתרים אחרים

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

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

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

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...