דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. טבלת תנועות בSQL

טבלת תנועות בSQL

מתוזמן נעוץ נעול הועבר ארכיון code613m
4 פוסטים 3 כותבים 305 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • A מנותק
    A מנותק
    avr416
    כתב ב נערך לאחרונה על ידי
    #1

    יצרתי מסד נתונים בSQL עבור תורמים.
    כתבתי טבלה של נתוני התורמים, טבלה של נתוני התרומה, טבלה של נתוני חשבון בנק (למי שמשלם באמצעות ה"ק) וטבלה של פרטי כרטיס אשראי (כנ"ל, כמובן ללא שמירת פרטי הכרטיס אלא שמירת הטוקן).
    הבעיה שלי היא שכיון שאפשר לשלם ב4 דרכים (ה"ק, אשראי, מזומן, צ'יק) אני צריך לשמור מס' מזהה של האמצעי שדרכו שולמה התרומה. וכיון שיש כמה אפשרויות, אז נוצרת לי בעיה איך אדע לאן שייך המזהה של אמצעי התשלום: האם זה ID של אשראי או של חשבון בנק?
    חשבתי על 2 אפשרויות: א' לאחד את חשבונות הבנק והאשראי בטבלה אחת, אך נראה לי פחות טוב כיון שאין קשר אמיתי בין 2 הדברים.
    ב' לעשות 2 עמודות בטבלה: 1. של סוג אמצעי התשלום, 2. של מזהה אמצעי התשלום. כמובן שאז אינני יכול לקשר בין הID של אמצעי התשלום לטבלה הנכונה כי יש לי 2 אפשרויות, אלא רק מאחורי הקלעים לאחר שהמשתמש יבחר בסוג אוכל להציג לו את רשימת הID המתאימה למה שבחר.
    זה נראה לי יותר הגיוני, אבל האם זה לא יצור יותר בעיות אח"כ שאצטרך להפעיל שאילתות וחיפושים?
    אשמח לשמוע כיצד אתם נוהגים, ואם יש לכם עצות אחרות..
    דבר נוסף, היכן לשמור זאת בטבלת נתוני התרומה (כדי שאדע כשיגיע הזמן מהיכן לגבות), או בטבלת התנועות (כי אולי חודש אחד הוא ירצה לשלם בצורה שונה?) או גם וגם?

    פורסם במקור בפורום CODE613 ב12/07/2015 21:35 (+03:00)

    תגובה 1 תגובה אחרונה
    0
    • clickoneC מנותק
      clickoneC מנותק
      clickone
      כתב ב נערך לאחרונה על ידי
      #2

      נושא ארוך (וטעון... <!-- s:-) --><img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":-)" title="מחייך" /><!-- s:-) -->)
      אין לי זמן עכשיו, אבל אתה יכול להתחיל כאן
      http://code.613m.org/viewtopic.php?f=1&t=231

      פורסם במקור בפורום CODE613 ב12/07/2015 21:54 (+03:00)

      אין טסט כמו פרודקשן.

      המייל שלי urivpn@gmail.com

      תגובה 1 תגובה אחרונה
      1
      • A מנותק
        A מנותק
        avr416
        כתב ב נערך לאחרונה על ידי
        #3

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

        פורסם במקור בפורום CODE613 ב12/07/2015 22:02 (+03:00)

        תגובה 1 תגובה אחרונה
        0
        • S מנותק
          S מנותק
          softs
          כתב ב נערך לאחרונה על ידי
          #4

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

          לגבי בעייתיות בהמשך עם שאילתות:
          העיקרון הוא שאין שום מקום לפשרות כשהתוצאה היא bad design - (נתרגם לארכיטקטורה גרועה?)
          תאמין לי ארכיטקטורה גרועה היא היא זו שתסבך אותך הכי הרבה, אתה תתקע בכל מיני פינות וגם בחיפושים אחרי פתרון באינטרנט תחוש בודד, כי אף אחד לא עשה את הדברים עקום כמוך, וממילא לא תמצא פתרון, תיאלץ לפתור לבד - מה שיגרום לך לסבך עוד ועוד את התוכנה עד אין קץ.

          אתן לך דוגמה: אתה יכול לפתור את הבעיה בעזרת פתרון פשוט - בכרטיס הלקוח לשמור בעמודה אחת את אמצעי התשלום ולתת לכל כרטיסי האשראי מזהה אי זוגי ולכל ההו"ק מזהה זוגי, ככה אתה גם יכול לדעת בחישוב פשוט איזה אמצעי תשלום זה וגם לאחד אותם לשדה אחד. נפלא, נכון?
          זהו שלא. מה קורה אם מחר הוא ירצה להוסיף תשלום באמצעות paypal? תעשה כפולות של 3? אה, רגע, זה אי זוגי! אז מהיום, ועל העבר נעשה UPDATE, בעצם זה PK.. וככה נראה הפתח לכל הצרות. . . למעשה, גם אז תוכל לפתור את הבעיה אבל ברמת סיבוכיות שתדרוש ממך עבודה רבה מאוד.

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

          פורסם במקור בפורום CODE613 ב12/07/2015 22:03 (+03:00)

          תגובה 1 תגובה אחרונה
          2

          בא תתחבר לדף היומי!
          • התחברות

          • אין לך חשבון עדיין? הרשמה

          • התחברו או הירשמו כדי לחפש.
          • פוסט ראשון
            פוסט אחרון
          0
          • דף הבית
          • קטגוריות
          • פוסטים אחרונים
          • משתמשים
          • חיפוש
          • חוקי הפורום