מה המצב אנשים , אז ככה הרבה זמן לא הפגנתי נוכחות פה בפורום אז החלטתי להכניס מאמר ככה בישביל כולם כדי שתראו שאני עדיין חיי וקיים.
טוב אז הפעם אני "אחנך" אותכם קצת על יעילות במסדי נתונים ובשמירת אופציות קבועות.
טוב נגיד עכשיו יש לנו טופס שאנחנו רוצים לשמור , ויש בו נגיד רשימה של 40 תחביבים ( משהו שקשור לטופס נגיד הרשמה לאתר הכרויות ) , ואתם רוצים לשמור את ה 40 תחביבים האלה של הבנאדם.
עכשיו דבר ראשון שאתם תעשו זה בטוח ליסט של צ'ק בוקס וזה הדבר הנכון היעיל והכי נוח לעשות.
עכשיו מבחינת מסד הנתונים שלכם אתם מתחילים להסתבך קצת.
מה עכשיו לעשות 40 עמודות של כן ולא עם השם של התחביב?
להכניס סטרינג של ID של התחביב + כן ולא ?
אז זהו שלא אתם יכולים לעשות הכל פשוט וקל בתוך עמודה אחת ולשמור אותה בתור מספר.
אז אתם שואלים איך עושים את זה?
טוב אז אם מישהו מכם מכיר את הייצוג הבינארי שמחשב משתמש בו אז ההסבר יהיה פשוט וקל יותר.
המבנה הבינארי בנוי מ אחדים ואפסים , ואם אתם מסכימים איתי שניתן לייצג 1 ככן ו 0 כלא אז אנחנו בדרך הנכונה , ( מי שלא מסכים איתי שיחזור לכיתה ז ויתחיל להקשיב טוב טוב בשיעורים)
נגיד ויש לנו עכשיו רשימה של ה 40 תחביבים האלה ניתן לייצג אותם באופן הבא : 10011000000011000000011100000.... וכדומה עד 40 שכן 0 הוא לא נבחר התחביב ו 1 נבחר התחביב.
עכשיו מה שיפה פה שבנייה נכונה של מסד נתונים כמו שצריך ואתם לא תאמינו כמה גמישות אתם יכולים לקבל עם השיטה הזאת ( אתם יכולים גם ליצור מחולל טפסים עם השיטה הזאת בקלות ולהוסיף כמה צקים שאתם רוצים )....
עכשיו אנחנו נעשה הגדרה שכזאת:
בישביל ייצוג של מספר בינארי אנחנו נשתמש בנוסחה של :
עכשיו 2 בחזקת N זאת הדך לייצוג מספרים בינאריים בצורה של מספר דצימלי.
עכשיו נגדיר תחביב מספר 1 = 1
תחביב 2 = 2
תחביב 3 = 4
תחביב 4 = 8
תחביב 5 = 16
וכן הלאה.. אם אתם מבינים איך אני עובד פה בהקשר של החזקות.
נגיד עכשיו סימתי את תחביב 1, 3, ו 5 סבבה אם אני אחבר את התוצאות יצא לי המספר 1+4+16 = 21 שזה ביצוג בינארי : 10101 שזה 1 עבור מסומן ו 0 עבור לא מסומן.
עכשיו כל מה שנשאר לנו לתת זה לשמור את התוצאה המשכוללת של הצ'קים שלנו ולהכניס לתוך המסד נתונים ( בתור בינארי או מספר רגיל לבחירתכם) , ואחרי זה שרוצים לשלוף את הנתונים פשוט מאוד מבצעים פירוק לאחור.
מה שיפה פה שאם מוסיפים צקים בהמשך זה לא פוגע בשום תהליך ואאפשר פשוט להכניס אותם דינאמי לתוך הדף בלי לשנות שום דבר בתכנות.
אם רוצים לבצע חיפוש מדוייק לפי תחביבים פשוט מכניסיים מספר משוכלל של התוצאה שאתם רוצים במשפט פשוט ונוח וזה מוצא בלי להגיד משפטי SQL מורכבים.
ויש פה עוד המון , בעיקרון לדעתי זאת אחת השיטות הטובות ביותר שקיימות כדי לייצג מספר של מאפיינים בוליאנים.
שיהיה לכולם בהצלחה חג שמח ושנה טובה לכולם.