חוקי הפורום

חישוב סכום ריצה עבור נקודת פתיחה בחשבונאות - SQL


  • תכנות

    שלום לכולם ושבוע טוב עם בשורות טובות.

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

    מה הדרך הנכונה כדי לקבל בכל שאילתה מהטבלה את נקודת הפתיחה של אותו מקבץ שורות שחזרו?

    האם בכל שאילתה אני אמור לבצע שאילתת צבירה של הסכום הרץ עד לאותה שורה?
    האם זה ניתן בכלל מכיוון שהסכום באותו עמודה יכול להיות חיבור ויכול להיות חיסור?
    אם לחלק את הסכום לשני עמודות שוב צריך לבצע חישוב כולל לכל עמודת החיבור ולכל עמודת החיסור.
    מה הדרך? ואשמח להדרכה על כך?
    או האם יש דרך יעילה יותר לניהול היתרה?
    (בכל שורה לשמור יתרה לא נראה לי נכון מכיוון שאני בעצם מייצר מצב שעל כל שינוי יהיה צורך לשנות את כל השורות המאוחרות מהנקודת השינוי...)

    תודה מראש.


  • תכנות

    @ש-ב-ח

    (בכל שורה לשמור יתרה לא נראה לי נכון מכיוון שאני בעצם מייצר מצב שעל כל שינוי יהיה צורך לשנות את כל השורות המאוחרות מהנקודת השינוי...)

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

    מסתמא התרחיש של מחיקת שורה אמצעית נדיר יחסית (רק במקרה של טעות שלא עלו עליה בזמן)

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

    אני הייתי משתמש בעמודה אחת לסכום הפעולה, ועמודה שניה לסוג התנועה, ובחישוב מכפיל ב 1- במקרה של משיכה


  • תכנות

    1. למה באותה שורה יש גם סכומים שיכולים להיות + ויכולים להיות -?
      לא יותר טוב לעשות את הסכום הנכון ואם הוא החסרה אז פשוט לכתוב את הסכום במינוס ואח"כ רק לעשות שאילתת sum בסינון השורות הרלוונטיות? (לא משנה איך אתה מציג את זה לקליינט(שתוכל להציג לו ב-2 עמודות, אחד להכנסות ואחד להוצאות), כאן מדובר רק על הDB.
      כמו"כ, בנוגע לסוג הפעולה, לא הבנתי. אם לדוגמא זה 'הלואה'. אז התכונת שיהיה 2 אופציות 1 + ואחד -?
    2. בנוגע לגוף השאלה אני סבור כ@OdedDvir. אבל יותר מזה, במערכות מסודרות (לדוגמא קבלות מוכרות ע"י רשות המסים) אין כזה דבר מחיקת שורה, אלא שורת ביטול. ותוכל שמה לשים ג"כ את היתרה העדכנית נכון לעת הביטול.
      עכ"ז אכן במקרה והביטול מחוייב שיתייחס לנקודת זמן מוקדמת יותר, תצטרך לעשות עדכון על הסיכום.

התחבר כדי לפרסם תגובה