PracticU

פונקציות למתקדמים

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

פונקציות למתקדמים
השיעור מציג שתי פונקציות שמשוות מחרוזות לפי הצליל שלהן ולא לפי הכתיב: SOUNDEX ו-DIFFERENCE. הן שימושיות כשלא בטוחים איך השם נכתב בטבלה.
השלבים העיקריים
1. SOUNDEX: מקבלת מחרוזת ומחזירה קוד שמייצג את צליל המילה: אות ראשונה ושלוש ספרות. בדוגמה השם Nancy מקבל את הקוד N520.
2. חיפוש לפי צליל: משווים את SOUNDEX של העמודה FirstName לקוד של השם שמכתיבים, והשאילתה מחזירה את הרשומה גם אם הכתיב בטבלה שונה.
3. גישור על הבדלי כתיב: השם סטיבן נשלף גם כשכותבים אותו בכתיב שונה, כי הקוד קרוב או זהה.
4. DIFFERENCE: מקבלת שתי מחרוזות ומחזירה ערך בין 0 ל-4 לפי מידת הדמיון הצלילי. 4 מציין שוויון מלא בצליל.
5. סינון לפי רמת דמיון: בדוגמה דורשים דמיון של 3 ומעלה, והשאילתה מוצאת את השם הרצוי גם כשהכתיב שונה.
6. מגבלה: מדובר בדמיון צלילי בלבד, לא בדקדוק. מילים שנשמעות שונה מקבלות ערך נמוך, כמו 1.
שימו לב
אי אפשר להחליף את השימוש בצלילים ב-LIKE, כי לא ידוע אילו כתיבים קיימים בטבלה. לכן הדרך הנכונה היא SOUNDEX או DIFFERENCE בתנאי הסינון.
בסיום תוכלו לחפש שמות לפי איך שהם נשמעים, ולקבוע את רמת הדמיון הנדרשת.
השיעור הבא בקורס: פקודות RollUp עם Cube

פרקי ההרצאה: פונקציות למתקדמים

  1. 00:00

    פונקציות למתקדמים: SOUNDEX ו-DIFFERENCE

  2. 00:36

    פונקציית SOUNDEX והגייה דומה

  3. 01:30

    חיפוש שמות לפי צליל עם SOUNDEX

  4. 02:12

    קוד SOUNDEX ומשמעותו

  5. 02:45

    בדיקת חיפוש לשם שלא קיים בטבלה

תמלול ההרצאה: פונקציות למתקדמים

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

  1. 00:19

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

  2. 00:45

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

  3. 01:16

    בגין כל first name שהתקבל כפרמטר לפי ה-soundX אנחנו קיבלנו איזושהי מכרוזת המציינת ברמה הווקאלית כיצד נשמעת המילה ננסי, ז'ננט, מרגריט, סטיבן וכו' וכו' וכו'.

  4. 01:30

    במה זה עוזר לנו אם אני ניגש לתוך טבלת employees ואני לא יודע בדיוק כיצד רושמים את ננסי יש לי אפשרות ללשון את הדבר הבא Select all from employees where sound x של first name שווה בעצם אני לא יודע כיצד נקראת ננסי אבל אני יודע שלכתוב פחות או יותר כיצד זה נשמע אני יכול לכתוב ננסי אני לא יודע אם זה נרשם עם I או האם זה נרשם עם Y, כפי שאנחנו יודעים שזה בפועל בטבלה.

  5. 02:10

    אני לא יודע אם זה נרשם עם C או עם S, אני רק יודע שזה נשמע כך, Nen C. אז הדאטאבס בעצם סורק את כל ה-first name, נותן עבור כל שורה ושורה בערך first name, נותן להם ערך של Soundex N520, כאשר האות הראשונה מציינת את האות הראשונה של תחילת המילה, 520 והמספר הייצוגי של המחרוזת, ובמקום שבו ימצא הסאונדקס של פרסטנר יהיה שווה לסאונדקס,

  6. 02:40

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

  7. 02:52

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

  8. 03:15

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

לקורס המלא: קורס SQL ו‑DBA אפליקטיבי

ההרצאה הקודמת: פונקציות מערכת - המרה

ההרצאה הבאה: פקודות RollUp עם Cube

הרצאות קשורות מקורסים אחרים

  • Powershell למתקדמים
  • VLAN - למתקדמים
  • קבוצות למתקדמים
  • פונקציות - Functions (חלק 1)

קורסים נוספים במסלול

  • קורס NoSQL - MongoDB
  • קורס SSIS
  • קורס BI - ניתוח מסדי נתונים - Qlik Sense
  • קורס Power BI