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

LINQ ל- SQL

קורסים למנהלי רשת מסלול מנהלי רשת
עם התמחות בשרתי מיקרוסופט
מסלול סייבר והאקינג - 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
סיכום ב-3 דקות - LINQ ל- SQL

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

שלבי העבודה המוצגים בשיעור:

1. הקדמה: בשקף הפתיחה מוצגת שוב משפחת ה-LINQ עם חמשת הגרסאות שלה, והפעם הדגש הוא על LINQ to SQL שפועל ישירות מול מסד הנתונים.
2. הפתרון: בפתרון שני פרויקטים, ספריית BusinessLogic שבה מחלקת BaseLogic ואתר TestLINQ עם דף HomePage, ובספרייה נוספת הפניה לרכיב System.Data.Linq.
3. קובץ המיפוי: מוסיפים לספרייה קובץ dbml בשם Northwind, נפתח משטח המיפוי של ה-Object Relational Designer, וב-Server Explorer מחוברים אל מסד הנתונים Northwind המקומי ורואים את רשימת הטבלאות שלו.
4. גרירת טבלאות: גוררים את הטבלאות Category, Supplier ו-Products אל משטח המיפוי, ונוצרות מחלקות עם כל השדות של כל טבלה וקווי קשר בין הטבלאות.
5. הקוד שנוצר: בקובץ הקוד שנוצר אוטומטית מוגדרת המחלקה Product עם מאפיין Table שמצביע על שם הטבלה במסד הנתונים, שדות פרטיים בטיפוסים הנכונים כולל טיפוסים שמאפשרים ערך ריק, ומנגנון הודעות על שינויים במאפיינים.
6. הבסיס החדש: מחלקת BaseLogic מתוקנת ומכילה שדה פרטי אחד מטיפוס NorthwindDataContext שנוצר פעם אחת, והוא נחשף לכל המחלקות היורשות באמצעות מאפיין מוגן בשם Dc.
7. הוספת מוצר: במחלקת ProductsLogic היורשת נכתבת פונקציית AddProduct שיוצרת אובייקט Product חדש, מציבה בו את השם והמחיר, מוסיפה אותו אל אוסף המוצרים של ה-DataContext באמצעות InsertOnSubmit ומבצעת SubmitChanges שמפעיל את הפעולה בפועל במסד הנתונים.
8. ממשק ובדיקה: באתר מוסיפים שדות לשם מוצר ולמחיר עם כפתור הוספה, ב-handler קוראים לפונקציה עם הערכים מהמסך, וב-SQL Server Management Studio רואים שטבלת המוצרים עברה משמונים שורות לשמונים ואחת עם המוצר החדש.
9. עדכון מוצר: בפונקציית UpdateProduct נכתבת תחילה שאילתה רגילה עם from ותנאי על מזהה המוצר, התוצאה מומרת לאובייקט בודד ב-SingleOrDefault, ואם הוא לא ריק מעדכנים את שמו ומחירו ומבצעים SubmitChanges, ואחר כך מקצרים את כל זה לקריאה אחת ל-First עם ביטוי למדה שמשווה את המזהה, והגרסה המלאה נשארת בהערה להשוואה.
10. מחיקת מוצר: פונקציית DeleteProduct מאתרת את המוצר באותה צורה של First עם ביטוי למדה, ואם הוא נמצא מוסיפה אותו למחיקה באמצעות DeleteOnSubmit ומבצעת SubmitChanges.
11. שליפה לפי קטגוריה: בפונקציית GetProductsByCategory נכתבת שאילתה עם תנאי על מזהה הקטגוריה, וב-select new נבנה טיפוס אנונימי שמכיל את שם המוצר ואת שם הקטגוריה, ובזכות הקשר בין הטבלאות אפשר להגיע מהמוצר ישירות לשם הקטגוריה שלו, והתוצאה מוצגת ב-GridView בלחיצת כפתור.
12. ניקוי הקוד: בסיום מנוקה גוף ההוספה והוא הופך לקריאה בודדת לפונקציית AddProduct שנמצאת על אובייקט ה-DataContext עצמו, כך שהלוגיקה המפורטת עוברת לשכבה של ה-DataContext והגרסה הקודמת נשארת בהערה.

בשיעור הבא נלמד על LINQ ל- Dataset.
סקר שוק נכון לתאריך – 01/09/2011

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

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


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

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


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

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


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

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



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

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

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


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

מעט על SQL
בס"ד

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

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

ובכן אחרי שהזכרנו מהו שרת באופן כללי, אנחנו צעד אחד קרובים יותר להבין מהו שרת SQL. ראשית בואו נדבר על סוגי שרתים שונים שקיימים. השרת המפורסם ביותר (או לפחות בין המפורסמים) הוא שרת DC מבית מייקרוסופט. שרת זה מאפשר שליטה בכל סביבת הארגון על ידי יצירת Domain. ניהול השרת הנ"ל נלמד בהרחבה בקורס MCITP. סוג אחר של שרתים הם שרתים שנועדו לתפקידים ספציפיים יותר, כגון שרת DHCP שמחלק כתובות והגדרות IP למחשבים, ושרת DNS שיודע למפות שמות של אתרים לכתובות ה-IP המתאימות להם וכו'. אחד מסוגי השרתים הנ"ל הם שרתי מאגרי נתונים, או במלים מקצועיות: Data-Base Servers.

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

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

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

בהצלחה!
קורס SQL - יומן דמיוני (חלק 1)
בס"ד

(שלום כולם, את הרעיון של מהו יומן דמיוני תוכלו לראות בדף של CCNA).

יומן יקר,

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

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

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

למדנו בשיעור את הבסיס של מה זה שרתים ולמה חברה זקוקה בכלל למאגרי מידע. חשבתי שאני מבין בדברים האלה, אבל מסתבר של-קורס SQL היה הרבה מה לחדש לי. למשל, ידעת יומן יקר שגם מחשב XP פשוט יכול להיות שרת? אני חשבתי עד היום ששרת זה מחשב שמותקנת עליו תוכנה של שרת, אבל זה לא מדויק. המדריך ב-קורס SQL לימד ששרת הוא מי שנותן שירות, ולמה הכוונה? הוא נתן דוגמא על עצמו. הוא אמר ככה: "בשיעור הזה אתם לומדים ממני נכון? אז אני השרת ואתם מקבלי השירות (Clients), אבל אחרי השיעור אני הולך ללמוד תכנות ושמה המדריך שלי הוא השרת ואני הופך להיות Client. אז מה אני בעצם?" התשובה לשאלה שלו פשוטה, הוא שניהם! תלוי מול מי הוא נמצא!! ככה גם מחשב XP למשל, כשהוא גולש לאינטרנט נניח אז הוא מקבל שירות משרתים באינטרנט, אבל אם אני מתקין עליו שרת קבצים קטן (FTP), אז פתאום הוא הוא הופך להיות שרת. בקיצור, שרת ה-XP הוא שניהם, תלוי מול מי!!

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

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

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

אני מאוד מרוצה מ-קורס SQL!!