יום שני, 8 בדצמבר 2008

שמירה של תעודת זהות בבסיס הנתונים

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

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


מכאן מה שבצענו הוא-

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

המערכת עובדת הרבה יותר מהר, כפילויות נמנעות.

המלצה והנחיה:

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

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