קורס פיתוח בסביבת SQL Server

כתיבת פונקציות, פרוצדורות וטריגרים בשפת Transact-SQL

אודות הקורס

בנוסף לשפת ה-SQL המשמשת אותנו לתחקור ושליפת הנתונים שנמצאים במסדי הנתונים עצמם, ניתן לייצר תכניות בסביבת  SQL Server באמצעות שפת התכנות Transact (או T-SQL).
שפה זו מספקת מעטפת המרחיבה את יכולות SQL Server ואת מרחב הפעולה שלנו בסביבה זו. ניתן להקל על עבודתנו השוטפת בעזרת יצירת פונקציות משתמש, לנהל את מסד הנתונים עם פרוצדורות ולבצע אוטומציות שונות. מדובר בכלי חובה לכל מי שרוצה לנהל מסדי נתונים בסביבת SQL Server או לקחת את עבודתו בסביבה זו לשלב הבא.

פלטפורמות רלוונטיות:  SQL Server

קהל היעד

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

יעדי הקורס

בסיום הקורס יכירו המשתתפים לעומק את הנושאים הבאים:

  • הבנת עקרונות בסיסיים בתכנות וכיצד הם מיושמים בסביבת SQL Server.

  • הבנת מנגנון הטרנזקציות של SQL Server.

  • יצירת משתנים המכילים מידע דינמי, פיתוח לוגיקה

  • שימוש בכלי עזר כגון משתנים טבלאיים וקרסורים כתחליף למערכים

  • יצירת פונקציות, פרוצדורות וטריגרים לביצוע חישובים ופעולות שונות על גבי השרת.

  • התייחסות למקרי קצה וניהול שגיאות

  • יצירה ושימוש באובייקטים נוספים כגון Views, Sequences, Synonyms

הקורס נלמד בסביבת SQL Server ולכן היכרות עם המערכת וסביבת העבודה חשובה להבנה.

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

דרישות קדם

סילבוס 

מבוא לשפת Transact-SQL

  • למה לתכנת ב-SQL Server?

  • עקרונות אוניברסליים בתכנות

  • מבנה בסיסי של תכניות ב-Transact SQL
     

משתנים

  • מה זה משתנה?

  • כיצד משתנים עובדים בסביבת SQL Server

  • הגדרת משתנים

  • הקצאת ערכים סטטיים ודינמיים למשתנה

לוגיקה

  • הגדרת תנאים

  • תנאים מורכבים וקינון תנאים

  • לולאות WHILE

  • לולאות GOTO

  • שינוי אופן ריצה של לולאה באמצעות הפקודות CONTINUE ו- BREAK

קרסורים

  • מהו קרסור

  • הגדרת קרסורים

  • הזנה ושליפת נתונים מקרסורים

  • קרסורים VS טבלאות זמניות VS משתנים מסוג טבלה

טרנזקציות

  • מהי טרנזקציה

  • כיצד פוכלות טרנזקציות בסביבת SQL Server

  • פתיחה וניהול של טרנזקציות

  • נעילות ומצבי Deadlock

 

ניהול שגיאות

  • היתרונות בניהול שגיאות מובנה

  • יצירת בלוקים של TRY / CATCH

  • קבלת מידע מהמערכת אודות שגיאות בזמן אמת

  • התאמת תוכנית פעולה לסוג שגיאה

  • הפעלת מנגנון שגיאה באופן יזום

  • הגדרת שגיאות משתמש באופן קבוע

פונקציות

  • מבנה ותחביר של פונקציות ב-SQL Server

  • הגדרת פרמטרים וברירות מחדל

  • שימוש בפונקציות משתמש

  • יצירה של פונקציות טבלה ואופן השימוש בהן

פרוצדורות

  • ההבדל בין פונקציות לפרוצדורות

  • יצירת פרוצדורות

  • קריאה לפרוצדורות והעברת פרמטרים

  • חילוץ מידע מתוך פרוצדורה באמצעות פרמטר OUTPUT

טריגרים

  • מטרת הטריגר

  • הגדרת טריגרים, מחיקה ו"כיבוי" זמני

  • טריגר AFTER מול טריגר INSTEAD OF, שימושים פרקטיים לכל סוג

  • שימוש בנתונים מטבלאות וירטואליות (INSERTED / DELETED)

  • טריגרים מסוג DML מול טריגרים מסוג DDL

אובייקטים נוספים

  • שימוש ב-Views

  • שימוש ב- Sequences

  • טבלאות זמניות

  • הגדרת Synonyms

  • אינדקסים