PracticU

שליפת כל המוצרים מתוך MySQL

בלי כתוביותעם כתוביות
PracticU › קורס NodeJS › שליפת כל המוצרים מתוך MySQL
מילון מושגים:
MySQL - מערכת ניהול מסדי נתונים יחסיים בקוד פתוח, נפוצה מאוד באתרים וביישומי אינטרנט.
עמודה - שדה בטבלת מסד נתונים שמחזיק ערך מסוג מסוים עבור כל שורה, למשל שם או תאריך.
שאילתה - בקשה למסד נתונים לשלוף, להוסיף, לעדכן או למחוק נתונים, לרוב בשפת SQL.
Postman - כלי לבדיקת API: שליחת בקשות HTTP לשרת ובחינת התגובות, נפוץ בפיתוח ובבדיקות.
GET - שיטת HTTP לבקשת מידע מהשרת בלי לשנות אותו. הפרמטרים מועברים בדרך כלל בכתובת.
רשומה - שורה בטבלת מסד נתונים שמרכזת את כל השדות של פריט אחד, למשל כל הפרטים של לקוח יחיד.
JSON - פורמט טקסט קריא לייצוג נתונים מובְנים כזוגות מפתח-ערך, נפוץ להחלפת מידע בין שרת ללקוח.
JavaScript - שפת תכנות שרצה בעיקר בדפדפן ומוסיפה אינטראקטיביות לדפי אינטרנט. רצה גם בצד השרת באמצעות Node.js.

שליפת כל המוצרים מתוך MySQL
השיעור מראה איך השכבה העסקית שולפת את כל המוצרים מ-MySQL בעזרת שאילתת SELECT, ואיך משנים את שמות העמודות לפני שהם יוצאים ללקוח.
שליפת כל המוצרים
1. שאילתה: בשכבה העסקית כותבים את השאילתה בתוך הפונקציה שמתארת את הפעולה, ומעבירים אותה לפונקציה של הגישה לנתונים.
2. בדיקה: בעזרת Postman שולחים בקשת GET לנתיב המוצרים, ומקבלים את כל הרשומות כ-JSON.
3. בעיה: השמות שחזרו הם השמות המקוריים של הטבלה, וכל העמודות נשלחות.
שינוי שמות וצמצום עמודות
1. כינוי: בשאילתה כותבים את שם העמודה המקורית, ואחריה AS והשם שרוצים ללקוח.
2. בחירה: רושמים רק את העמודות הנדרשות, במקום כוכבית.
3. הסיבה: לפי השיעור, שמות אמיתיים של העמודות שנחשפים ללקוח עלולים לתת לתוקף מידע על מבנה המסד. בנוסף, שמות בסגנון JavaScript, שמתחילים באות קטנה, מתאימים יותר לצד הלקוח.
שימו לב
1. השינוי בשאילתה בלבד: הכינוי משנה רק את התוצאה, ולא את שם העמודה בטבלה עצמה.
עכשיו אפשר לשלוף מוצרים מ-MySQL, ולהחזיר ללקוח את השמות שמתאימים לו.
השיעור הבא בקורס: שליפת מוצר בודד מתוך MySQL

פרקי ההרצאה: שליפת כל המוצרים מתוך MySQL

  1. 00:00

    מה עושה שכבת הלוגיקה העסקית

  2. 00:39

    איפה נמצאות שאילתות ה-SQL

  3. 01:16

    שאילתת SELECT להחזרת כל המוצרים

  4. 02:16

    הרצת השאילתה דרך שכבת הנתונים

  5. 02:53

    בדיקת הראוט בפוסטמן

  6. 03:53

    למה לא לחשוף את שמות העמודות

  7. 04:31

    הסתרת שמות העמודות מהלקוח

תמלול ההרצאה: שליפת כל המוצרים מתוך MySQL

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

  1. 00:02

    אחרי שהתחברנו ל-MySQL דרך הדל, אנחנו יכולים לסגור את הדל. אנחנו רוצים ללכת ולטפל ב-Business Logic, Products Logic.

  2. 00:14

    כאן הפונקציה הזאת של ה-Get All Products Async פשוט פנתה לדל ואמרה לו תביא לי בבקשה את הפונקציה Get All Products Async, אבל אין לנו פונקציה כזאת בדל כמובן.

  3. 00:28

    יש לנו רק פונקציה אחת שמוציאה לפועל כל שאילתה על MySQL. אוקיי, אז בואו נתקן את זה. אנחנו רוצים עכשיו בכל ה-Business Logic שלנו לטפל בפעילות העסקית שיש לנו. מה זאת אומרת הפעילות העסקית, הלוגיקה העסקית?

  4. 00:51

    מהם הפעולות הלוגיות שקשורות ספציפית לאפליקציה הזאת? ומי שמתאר את הפעולות הלוגיות במערכת זה ה-Business Logic והוא עושה את זה.

  5. 01:02

    בגישה למסד נתונים רלציוני, relational database, על ידי שאילתות SQL. אז השאילתות SQL נמצאות רק באזור הזה של ה-products logic. כל פונקציה תכיל את שאילתת ה-SQL שמתארת את הפעולה שלה, כל פונקציה, הכוונה, תכיל את שאילתת ה-SQL שמתארת את הפעולה שלה, ואנחנו נוציא את זה לפועל על ידי הדל.

  6. 01:31

    אז בואו נבנה const sql ובואו נתחיל לשלוח את השאילתות. אז אנחנו רוצים קודם כל בסרטון הזה להביא את כל המוצרים. מה זה אומר תביא לי את כל המוצרים?

  7. 01:47

    סלקט, ושימו לב שאני אוהב לכתוב את הפקודות של mysql, את הפקודות של, סליחה, של שפת sql באותיות גדולות, אבל זה לא נדרש, אתם יכולים לכתוב את הכל באותיות קטנות.

  8. 02:02

    זה פשוט קצת יותר ברור לראות את זה מול העיניים. Select all from products. זה אומר, תביא לי את הכל. אוקיי, בואו ננסה להריץ את הפקודה הזאת.

  9. 02:16

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

  10. 02:48

    ואז אנחנו נחזיר את כל המוצרים as is לקונטרולר, קונטרולר מקבל אותם ושולח אותם כג'ייסון בחזרה ללקוח.

  11. 03:00

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

  12. 03:12

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

  13. 03:34

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

  14. 04:17

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

  15. 04:36

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

  16. 04:56

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

  17. 05:13

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

  18. 05:25

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

לקורס המלא: קורס NodeJS אונליין בעברית

ההרצאה הקודמת: חיבור של NodeJS למסד נתונים MySQL

ההרצאה הבאה: שליפת מוצר בודד מתוך MySQL

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

  • הרצאה על Azure MySQL
  • התקנה של mysql
  • שליפת מידע עם Azios
  • פקודות בסיסיות ב-MySQL

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

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React