1 / 138

SQL (Structured Query Language) : מושגים

עמודה, תכונה, שדה, אטריביוט. טבלה, רלציה. סכמה. שורה, רשומה, n -יה. SQL (Structured Query Language) : מושגים. דוגמא של מסד נתונים. מסד נתונים של ספרייה. Ordered Cust_Id Book_Name Order_Date. Books Book_Id Book_Name Year Max_Time Faculty Pages0. Customers Cust_Id Cust_Name

breck
Download Presentation

SQL (Structured Query Language) : מושגים

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. עמודה, תכונה, שדה, אטריביוט טבלה, רלציה סכמה שורה, רשומה, n-יה SQL (Structured Query Language): מושגים DBMS - 236363, שפות שאילתה: SQL

  2. דוגמא של מסד נתונים מסד נתונים של ספרייה • Ordered • Cust_Id • Book_Name • Order_Date • Books • Book_Id • Book_Name • Year • Max_Time • Faculty • Pages0 • Customers • Cust_Id • Cust_Name • Faculty • Borrowed • Cust_Id • Book_Id • From_Date • To_Date DBMS - 236363, שפות שאילתה: SQL

  3. פירוט הטבלאות • Customers(Cust_Id, Cust_Name, Faculty) • Cust_Id: (ייחודי לכל לקוח)מס' זהות של לקוח • Cust_Name:שם לקוח • Faculty: שם פקולטה DBMS - 236363, שפות שאילתה: SQL

  4. הטבלה Customers DBMS - 236363, שפות שאילתה: SQL

  5. פירוט הטבלאות (המשך...) • Books(Book_Id, Book_Name, Year, Max_Time, Faculty, Pages) • Book_Id: מס' מזהה (ייחודי לכל עותק) • Book_Name: שם הספר • Year: שנת הוצאה • Max_Time: משך השאלה מקס' אפשרי (בימים) • Faculty: שם פקולטה • Pages: מס' עמודים DBMS - 236363, שפות שאילתה: SQL

  6. הטבלה Books DBMS - 236363, שפות שאילתה: SQL

  7. פירוט הטבלאות (המשך...) • Ordered(Cust_Id, Book_Name, Order_Date) • Cust_Id: מס' זהות של לקוח • Book_Name: שם הספר • Order_Date: תאריך הזמנת הספר DBMS - 236363, שפות שאילתה: SQL

  8. טבלתOrdered DBMS - 236363, שפות שאילתה: SQL

  9. פירוט הטבלאות (המשך...) • Borrowed(Book_Id, Cust_Id, From_Date, To_Date) • Book_Id: מס' מזהה של הספר • Cust_Id: מס' זהות של לקוח • From_Date: תאריך השאלת הספר • To_Date: תאריך החזרת הספר DBMS - 236363, שפות שאילתה: SQL

  10. טבלת Borrowed DBMS - 236363, שפות שאילתה: SQL

  11. שאילתות ב-SQL: SELECT SELECT [ALL | DISTINCT] {[table.]* | expr [alias], exp [alias], …} FROM table [alias], table [alias], … [WHERE condition] [GROUP BY expr, expr, … [HAVING condition]] [{INTERSECT | MINUS | UNION | UNION ALL } SELECT …] [ORDER BY expr [ASC | DESC ], expr [ASC | DESC],…]; DBMS - 236363, שפות שאילתה: SQL

  12. שאילתות ב-SQL: SELECT • השאילתה הפשוטה ביותר בוחרת שדות מסוימים מכל הרשומות בטבלה אחת. • SELECT column, column, … • FROM table; • דוגמא: שליפת כל הספרים ומספר העמודים בכל ספר: SELECT Book_Name, Pages FROM Books; DBMS - 236363, שפות שאילתה: SQL

  13. דוגמא - המשך Books: DBMS - 236363, שפות שאילתה: SQL

  14. דוגמא - תוצאה SELECT Book_Name, Pages FROM Books: DBMS - 236363, שפות שאילתה: SQL

  15. שליפת כל השדות לשליפת כל השדות, משתמשים בתו "*" (כוכבית). דוגמא: שליפת כל השדות של כל הספרים: SELECT * FROM Books; DBMS - 236363, שפות שאילתה: SQL

  16. דוגמא - תוצאה SELECT * FROM Books: DBMS - 236363, שפות שאילתה: SQL

  17. ביטויים אריתמטיים • ניתן לשלוף ביטויים אריתמטיים המשתמשים בשדות הטבלה. • דוגמא: שליפת שמות ומספרי זיהוי של כל הספרים ומשך ההשאלה בשבועות. SELECT Book_Id, Book_Name, Max_Time/7 FROM Books; DBMS - 236363, שפות שאילתה: SQL

  18. דוגמא - המשך Books: DBMS - 236363, שפות שאילתה: SQL

  19. דוגמא - תוצאה SELECT Book_Id, Book_Name, Max_Time/7 FROM Books : DBMS - 236363, שפות שאילתה: SQL

  20. בחירת חלק מהרשומות Where - • האופציה WHERE condition מאפשרת לבחור רק חלק מהרשומות. • דוגמא: שליפת שמות כל הספרים שהוצאו אחרי השנה 1990: SELECT Book_Name FROM Books WHERE Year > 1990; DBMS - 236363, שפות שאילתה: SQL

  21. דוגמא - המשך Books: DBMS - 236363, שפות שאילתה: SQL

  22. דוגמא - תוצאה SELECT Book_Name FROM Books WHERE Year > 1990 : DBMS - 236363, שפות שאילתה: SQL

  23. WHERE (המשך...) • תנאים יותר מורכבים: • שימוש בסימני היחס: >, =, <, <>, =< ... • שימוש בקשרים לוגיים: AND, OR, NOT. • דוגמא: שליפת שמות כל הספרים שהוצאו בין השנים 1990 ו 2000: SELECT Book_Name FROM Books WHERE Year > 1990 AND Year < 2000; DBMS - 236363, שפות שאילתה: SQL

  24. דוגמא - המשך Books: DBMS - 236363, שפות שאילתה: SQL

  25. דוגמא - תוצאה SELECT Book_Name FROM Books WHERE Year > 1990 AND Year < 2000 : DBMS - 236363, שפות שאילתה: SQL

  26. אופרטור BETWEEN • בעזרת האופרטור BETWEEN אפשר לכתוב ביטוי זה בצורה יותר קריאה: SELECT Book_Name FROM Books WHERE Year BETWEEN 1990 AND 2000; DBMS - 236363, שפות שאילתה: SQL

  27. עוד דוגמא • דוגמא: שליפת שמות כל הספרים שהוצאו לא בין השנים 1990 ו 2000: SELECT Book_Name FROM Books WHERE NOT (Year BETWEEN 1990 AND 2000); או: WHERE Year NOT BETWEEN 1990 AND 2000; DBMS - 236363, שפות שאילתה: SQL

  28. בחירה מרשימה של ערכים • דוגמא: שליפת כל הספרים שהוצאו בשנים 1992, 1995 או 1999: SELECT Book_Name FROM Books WHERE Year=1992 OR Year=1998 ORYear=2001; DBMS - 236363, שפות שאילתה: SQL

  29. בחירה מרשימה של ערכים - IN • שימוש באופרטור IN: SELECT Book_Name FROM Books WHERE Year IN (1992, 1998, 2001); • שימוש באופרטור NOT IN: SELECT Book_Name FROM Books WHERE Year NOTIN (1992, 1998, 2001); DBMS - 236363, שפות שאילתה: SQL

  30. האופרטור LIKE • האופרטור LIKE בודק התאמה של מחרוזת לתבנית נתונה (wildcards). • התו "_" מתאים לתו בודד. • התו "%" מתאים לסדרת תווים כלשהי, באורך 0 או יותר. • דוגמא: שליפת כל הספרים ששמם מכיל את המחרוזת Database והאות לפני אחרונה היא m: SELECT Book_Name FROM Books WHERE Book_Name LIKE ‘%Database%m_’; DBMS - 236363, שפות שאילתה: SQL

  31. דוגמא - המשך Books: DBMS - 236363, שפות שאילתה: SQL

  32. דוגמא - תוצאה SELECT Book_Name FROM Books WHERE Book_Name LIKE ‘%Database%m_’ : DBMS - 236363, שפות שאילתה: SQL

  33. ערכים חסרים – NULL • NULL – ערך מיוחד המציין ערך חסר ("משבצת ריקה") • דוגמאות: • תאריך החזרה של ספר שעדיין לא הוחזר • פקולטה של לקוח חיצוני • השוואה ל-NULL: • expr IS NULL – מחזיר true אם expr הוא ערך NULL • expr IS NOT NULL • דוגמא: שליפת כל הספרים שעוד לא הוחזרו. SELECT Book_Id FROM Borrowed WHERETo_Date IS NULL; DBMS - 236363, שפות שאילתה: SQL

  34. ערכי NULL (המשך) • מוטיבציה: קביעת "ברירת מחדל" עבור ערך שיכול להיות :NULL COALESCE(value, default) • סיבה נוספת: ערך של ביטוי אריתמטי המכיל NULL תמיד יהיה NULL. • דוגמא: הצגת משך ההשאלה בשבועות של כל הספרים (עבור ספרים שעדיין לא הוחזרו יש להציג 0). SELECT Book_Id , COALESCE(To_Date – From_Date, 0) / 7 FROM Borrowed; • בצורה כללית: COALESCE(expr1,expr2,…) מחזיר את הערך הראשון השונה מ- NULL DBMS - 236363, שפות שאילתה: SQL

  35. השמטת כפילויות - DISTINCT • האופציה DISTINCT משמיטה את הרשומות הכפולות מתוצאת השאילתא. • דוגמא: שליפת כל שמות הספרים ושנות ההוצאה, ללא חזרות. SELECT DISTINCT Book_Name, Year FROM Books; DBMS - 236363, שפות שאילתה: SQL

  36. דוגמא - המשך Books: DBMS - 236363, שפות שאילתה: SQL

  37. דוגמא - תוצאה ללאDISTINCT אחריDISTINCT DBMS - 236363, שפות שאילתה: SQL

  38. מיון - ORDER BY • ORDER BY : מיון של הרשומות הנשלפות על פי הערכים של שדות או ביטויים נתונים. • דוגמא: שליפת כל הספרים ממוינים לפי שנת ההוצאה: SELECT * FROM Books ORDER BY Year; DBMS - 236363, שפות שאילתה: SQL

  39. דוגמא - תוצאה SELECT * FROM BooksORDER BY Year : DBMS - 236363, שפות שאילתה: SQL

  40. מיון בסדר הפוך -DESC SELECT * FROM Books ORDER BY Year DESC; DBMS - 236363, שפות שאילתה: SQL

  41. מיון לפי כמה ביטויים • מיון ראשוני ומשני. • דוגמא: שליפת פרטי הספרים ממוינים לפי שנת ההוצאה , ולפי מספר העמודים (בין הספרים שהוצאו באותה שנה). SELECT * FROM Books ORDER BY Year, Pages; DBMS - 236363, שפות שאילתה: SQL

  42. מיון (המשך...) • ניתן לציין את מס' השדה שלפיו יש למיין. • דוגמא: שליפת פרטי הספרים ממוינים לפי השדה השלישי: SELECT * FROM Books ORDER BY 3; DBMS - 236363, שפות שאילתה: SQL

  43. פונקציות סטטיסטיות • ב- SQL ישנן הפונקציות הסטטיסטיות הבאות: • MIN – מינימום • MAX – מקסימום • AVG – ממוצע • SUM – סכום • COUNT – מספר הרשומות • כל אחת מפונקציות אלה פועלת על קבוצת ערכים ומחזירה ערך אחד. DBMS - 236363, שפות שאילתה: SQL

  44. דוגמא • דוגמא: חשב את מספר העמודים הממוצע והמקסימלי בין כל הספרים: • פתרון: SELECT AVG(Pages), MAX(Pages) FROM Books; DBMS - 236363, שפות שאילתה: SQL

  45. דוגמא – המשך Books: DBMS - 236363, שפות שאילתה: SQL

  46. דוגמא – המשך DBMS - 236363, שפות שאילתה: SQL

  47. פונקציות סטטיסטיות – המשך • ניתן לחשב פונקציות סטטיסטיות רק על חלק מרשומות הטבלה ע"י שימוש באופציה WHERE. • לדוגמא: SELECT COUNT (Book_Name) FROM Books WHERE Year = 1998; DBMS - 236363, שפות שאילתה: SQL

  48. פונקציות סטטיסטיות – המשך • Books: DBMS - 236363, שפות שאילתה: SQL

  49. דוגמא – המשך • Book_Name: WHERE COUNT DBMS - 236363, שפות שאילתה: SQL

  50. פונקציות סטטיסטיות -השמטת כפילויות • השמטת כפילויות בזמן חישוב הפונקציה: ע"י הוספת המילהDISTINCT לפני הפרמטר. • דוגמא: SELECT COUNT (DISTINCT Book_Name) FROM Books WHERE Year = 1998; DBMS - 236363, שפות שאילתה: SQL

More Related