שאלה של מתחיל ב SQL | ייצוג של קבוצת גיל בטבלת "אדם"
-
בס"ד
שלום
אני ייצרתי טבלה עם פרטי ה PERSON ובגלל שכנראה בהרשמה לא ימסרו תאריך לידה או גיל מדויק, אז יצרתי שדה שנקרא AgeGroup
השאלה איך אני אייצג שם נתונים דהיינו אם בשאילתא אני ארצה לדעת האם האדם שייך לקבוצת גיל א' ומגיע לו פריבילגיה או לא לדוגמא.אם אני יחזיק שם int וסתם יקבע ש 1= עד גיל 20 נניח וכדו'
אז בשאילתא המתכנת יצטרך לזכור מה כל מספר מייצג? לא נראה לי.
אפשרות נוספת היא טבלה מקשרת עם מפתח זר שלה אצל האיש, אבל עדיין מה היא תכיל?תודה רבה הן על היוזמה של הפורום החרדי והן על העזרה מראש.
פורסם במקור בפורום CODE613 ב18/11/2014 12:45 (+02:00)
-
י.
אפשרות נוספת היא טבלה מקשרת עם מפתח זר שלה אצל האיש, אבל עדיין מה היא תכיל?זה דוקא קל: טבלה בעלת שלושה שדות Key From To, השדה Key מקושר לשדה AgeGroup בטבלת האנשים. כעת בINSERT כותבים WHERE שלוקח את השורה שמתאימה.
תודה רבה הן על היוזמה של הפורום החרדי והן על העזרה מראש.
ברוך הבא והמעודד!
בתקוה שתאהב את המקום.פורסם במקור בפורום CODE613 ב18/11/2014 17:24 (+02:00)
-
@דוד ל.ט.
זה דוקא קל: טבלה בעלת שלושה שדות Key From To, השדה Key מקושר לשדה AgeGroup בטבלת האנשים. כעת בINSERT כותבים WHERE שלוקח את השורה שמתאימה.
זה רק בתנאי שבעתיד עשויים לשנות את הנתונים, כלומר מדובר בנתונים דינמיים שאמורים להשפיע על כל המוקשרים, אבל אם זה נתון סטטי, זה לא נכון בעליל לפתוח טבלה נוספת.
וסתם ככה אסור שתהיה אצבע קלה על ההדק לפתוח טבלה חדשה בדטה בייס, המחיר שתשלם על זה בעתיד הוא יקר, אז אם אתה מתחיל, תתחיל ברגל ימין, אל תהיה פזיז בפתיחת טבלאות, והיצמד ללוגיקה של הנתונים שתהיה קריאה גם בעתיד.
בהצלחה.פורסם במקור בפורום CODE613 ב18/11/2014 17:40 (+02:00)
-
וסתם ככה אסור שתהיה אצבע קלה על ההדק לפתוח טבלה חדשה בדטה בייס, המחיר שתשלם על זה בעתיד הוא יקר, אז אם אתה מתחיל, תתחיל ברגל ימין, אל תהיה פזיז בפתיחת טבלאות, והיצמד ללוגיקה של הנתונים שתהיה קריאה גם בעתיד.
בהצלחה.לפעמים אי פתיחת טבלה יותר לא קריא ובזבזני - הכל לפי העניין
ושוב (ואני שונא להישמע פלצן) יש תיאוריות שלמות בעניין הנורמליזציה וחשוב להכיר אותם
באותו קורס מפורסם . . .פורסם במקור בפורום CODE613 ב18/11/2014 22:52 (+02:00)
-
בס"ד
וואו תודה רבה לכולם על התשובות.
בכל אופן בחרתי באפשרות של טבלה נוספת ובה עשיתי שתי שדות AgeGroupId ו AgeGroupName כאשר AgeGroupName מכיל תיאור של קבוצת הגיל
ו AgeGroupId נמצא כמפתח זר אצל ה אדם.תודה רבה בכל אופן
פורסם במקור בפורום CODE613 ב19/11/2014 12:00 (+02:00)