Menu
עברית Русский
מכללת פרקטיקיו
- מתחילים ללמוד חינם -
קורסי תכנות / סייבר / ניהול רשת

פונקציות מתקדמות - Grouping

קורסים למנהלי רשת מסלול מנהלי רשת
עם התמחות בשרתי מיקרוסופט
מסלול סייבר והאקינג - Hacking מסלול תקשורת ואבטחת מידע
Cisco CCNA & FortiGate & Checkpoint
מומחה ווירטואליזציה
VMware & Hyper-V
מסלול לינוקס ו-DevOps מומחה ענן של אמזון - AWS מומחה ענן של מיקרוסופט - Azure מומחה ענן של גוגל - GCP מומחה שרתי SCCM - System Center
של מיקרוסופט לארגונים גדולים
קורסי תכנות מסלול Full Stack דוט-נט
יסודות התכנות
מסלול Full Stack דוט-נט
צד שרת - Backend
מסלול Full Stack דוט-נט
צד לקוח - Frontend
מסלול Full Stack Node.JS קורסי תכנות נוספים
Java / Python / PHP
מפתח אפליקציות - אנדרואיד - אייפון מפתח משחקי מחשב - Unity מפתח תוכנות לוונדוס - WinForms מסלול DBA - דטה אנליסט
התמחות במסדי נתונים – SQL
בדיקות תוכנה - QA בדיקות תוכנה - QA - אוטומציה בדיקות תוכנה - QA - בדיקות ידניות בדיקות תוכנה - QA - קורסים נוספים המלצות תלמידים על PracticU
סיכום על פונקציות Grouping ו Grouping_ID

בשיעור זה לומדים על הפונקציות GROUPING ו GROUPING_ID, שבאות לפתור את הקושי בזיהוי שורות הסיכום בתוצאות של ROLLUP ו CUBE: בשורות אלה העמודות המסוכמות מקבלות NULL, אבל גם הנתונים עצמם יכולים להכיל NULL אמיתי, ואין דרך להבחין בין המקרים ללא עזרה. הפונקציות מוסיפות עמודת מחוון שמסמנת באילו עמודות ה NULL נוצר מהסיכום. ההדגמות רצות מול בסיס הנתונים Northwind.

נושאי הסיכום המוצגים בשיעור:
1. פתיחה: פותחים חלון שאילתא חדש מול Northwind, ומציגים את נושא השיעור: הפונקציות GROUPING ו GROUPING_ID שמלוות את הרחבות הסיכום של group by ומאפשרות לדעת בוודאות אילו שורות בתוצאה הן שורות סיכום ואילו ערכי NULL בהן אמיתיים.
2. חזרה קצרה על ROLLUP: מריצים מחדש את שאילתת ה rollup מהשיעור הקודם על טבלת ההזמנות Orders, עם סיכום לפי עובד ולקוח ועם סינון לשני לקוחות ולשלושה עובדים, ומתקבלות 9 שורות: 5 שורות פירוט, שלוש שורות סיכום אחת לכל עובד שבהן עמודת הלקוח היא NULL, ושורת הסכום הכללי שבה שתי העמודות NULL.
3. טבלת projects: יוצרים טבלה חדשה בשם projects עם העמודות department_name, employees_count, budget ו mydate, ומזינים אליה 11 שורות: שלוש שורות של מחלקת Research, ארבע של Accounting וארבע של Marketing. מציגים את תוכן הטבלה עם "select * from projects", ובשורות הראשונות רואים "Research 5 50000 2007-01-01", "Research 10 70000 2007-02-01" ו "Research 5 65000 2007-07-01". שימו לב שבאחת משורות Marketing מספר העובדים הוא NULL אמיתי בנתונים, ולא NULL שנוצר מסיכום, נקודה חשובה להמשך.
4. ROLLUP על projects: כותבים הערה שמטרתה להציג את התקציב עבור כל מחלקה, ואחריה שאילתא עם "SELECT department_name, employees_count, SUM(budget) 'SUM'", עם "WHERE department_name IN ('Accounting', 'Marketing')" שמצמצמת את הבדיקה לשתי מחלקות, ועם "GROUP BY ROLLUP (department_name, employees_count)". מריצים, ומתקבלות 10 שורות: שלוש שורות פירוט של Accounting שסכומן 120000, שורת סיכום ל Accounting, שורת הנתונים "Marketing NULL 120000", שלוש שורות פירוט של Marketing שסכומן 500000, שורת סיכום ל Marketing, ושורת הסכום הכללי "NULL NULL 620000". מסומנות באדום שני זוגות שורות דומות למראה: "Accounting NULL 120000" מול "Marketing NULL 120000", שבהן ערך ה NULL שונה במשמעותו, ו "Marketing NULL 500000" מול "NULL NULL 620000", שבהן קשה לדעת מי סיכום מחלקה ומי סכום כללי.
5. פונקציית GROUPING: מוסיפים לשאילתא עמודה נוספת עם "GROUPING(employees_count) 'Grouping Indicator'" ומריצים, ומתקבלות אותן 10 שורות ולצדן עמודת מחוון: בכל שורות הפירוט המחוון 0, בשתי שורות סיכום המחלקה המחוון 1, בשורת הנתונים "Marketing NULL 120000" המחוון 0 כי ה NULL אמיתי, ובשורת הסכום הכללי המחוון 1. כלומר הפונקציה מחזירה 1 כאשר ערך ה NULL בעמודה נוצר על ידי הסיכום ו 0 כאשר הוא קיים בנתונים עצמם. אחר כך מחליפים את העמודה בתוך הפונקציה לעמודת שם המחלקה ומריצים שוב, והפעם כל השורות מקבלות 0 למעט שורת הסכום הכללי שמקבלת 1, כי רק בה עמודת שם המחלקה עצמה סוכמה, ובשורות סיכום המחלקה שם המחלקה עדיין קיים.
6. פונקציית GROUPING_ID: מנסים להחליף את GROUPING ב GROUPING_ID עם עמודה אחת בלבד, אבל שם הפונקציה מסומן בקו אדום וההרצה נכשלת בהודעת שגיאה, כי הפונקציה מחייבת קבלת רשימת עמודות. מתקנים ל "GROUPING_ID(department_name, employees_count) 'Grouping ID Indicator'" ומריצים מול אותה שאילתת ROLLUP, ומתקבלות אותן 10 שורות עם מחוון משולב: 0 בשורות הפירוט ובשורת הנתונים האמיתית, 1 בשתי שורות סיכום המחלקה, ו 3 בשורת הסכום הכללי. הסיפרה מקודדת ביט אחד לכל עמודה: עמודת מספר העובדים תורמת ביט 1, עמודת שם המחלקה תורמת ביט 2, ולכן הסכום הכללי מקבל 3.
7. CUBE עם מיון לפי המחוון: מחליפים את ROLLUP ב "GROUP BY Cube (department_name, employees_count)" ומריצים, ומתקבלות 15 שורות לא ממוינות. מסבירים את שורת ההפתעה "NULL NULL 120000 2": היא נראית כמו סכום כללי אבל איננו, כי המחוון 2 אומר שרק עמודת שם המחלקה סוכמה, והשורה מסכמת את כל הפרויקטים שבהם מספר העובדים הוא NULL בכל המחלקות יחד, וסכומה 120000 כי רק שורת הנתונים של Marketing תורמת לה. לבסוף מוסיפים "order by 'Grouping ID Indicator'" ומריצים שוב, והתוצאה מתמיינת ל 7 שורות פירוט עם מחוון 0, שתי שורות סיכום מחלקה עם 1, חמש שורות עם 2, שהן ארבע שורות סיכום לכל ערך של מספר העובדים ועוד שורת ה NULL האמיתית, ושורת הסכום הכללי עם 3 בסוף.

בסיום השיעור למדנו להשתמש בפונקציות GROUPING ו GROUPING_ID כדי לסמן בעמודת מחוון אילו מהערכים המופיעים כ NULL נוצרו מהסיכום ואילו קיימים בנתונים עצמם, לקרוא את המחוון המשולב של GROUPING_ID כמספר בינארי, ולמיין את תוצאות CUBE לפי המחוון כדי להפריד את שורות הפירוט משורות הסיכום. השיעור הבא עוסק בסוגי משתנים.SR942GRP
סקר שוק נכון לתאריך – 01/09/2011

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

צילמנו בסרטונים את כל ההרצאות של הקורס, כי ללמוד בכיתה לא נוח וגם יקר.
קורס בכיתה עולה מעל מ-17 אלף ₪ ואצלנו בסרטונים רק 350 ש"ח לחודש.
אם משהו לא ברור בסרטון תמיד אפשר להתקשר למרצה ולדבר איתו ישירות בטלפון.
המרצה זמין גם בווטסאפ וגם בצ'אט באתר המכללה.


חשוב לציין שבסוף כל התלמידים, מכל המכללות, כולם ביחד ניגשים לאותה בחינה חיצונית של סיסקו / מיקרוסופט / לינוקס ומקבלים בדיוק אותה תעודה.
את החברות הגדולות האלו בכלל לא מעניין איפה ואיך למדת וכמה שילמת על הלימודים.
יש מבחן אחיד לכולם, המתבצע במרכז בחינות מורשה של חברת Pearson VUE. הם עושים את הבחינות בפועל עבור החברות הגדולות בשוק.
כל שבוע יש מבחן ומי שעובר אותו מקבל תעודת הסמכה בינלאומית.

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


מה לעשות אם לא מבינים משהו בסרט?

פשוט מאוד, מתקשרים למכללה ומדברים ישירות עם המרצה. אפשר גם להתכתב עם המרצה במייל או בווטסאפ או בצ'אט באתר.


האם יש לכם כיתות לימוד רגילות?

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



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

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

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


מידע כללי:
1. חומר הלימוד מורכב ממאגר עצום ומסודר מאוד של סרטים מקצועיים, הניתנים לצפיה מהבית. מאגר זה כולל הרצאות מוקלטות בעברית בצורה מסודרת ע"י המרצים הטובים ביותר. רשימת הסרטים המלאה נמצאת בתפריט בצד ימין.
2. כל סטודנט במכללה מקבל שם וסיסמה לצורך גישה לשרת הקבצים שלנו.
השרת מכיל את כל התוכנות הדרושות ללימוד וכן חומר עזר
3. הקורסים מועברים בהתאם לסילבוסים של החברות המובילות: Microsoft, Cisco

מנתח מערכות מידע

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



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



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



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