Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 1 סכמה SQL: מושגים טבלה, רלציה שורה, רשומה, n- יה עמודה, תכונה, שדה, אטריביוט."— Presentation transcript:

1 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 1 סכמה SQL: מושגים טבלה, רלציה שורה, רשומה, n- יה עמודה, תכונה, שדה, אטריביוט

2 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 2 דוגמא של מסד נתונים מסד נתונים של ספריה המסד מכיל את הטבלאות הבאות : Customers(Cust_Id, Cust_Name, Faculty) –Cust_Id: מס ' זהות של לקוח –Cust_Name: שם לקוח –Faculty: שם פקולטה

3 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 3 הטבלה Customers FacultyCust_NameCust_Id CSMoshe Cohen12345 EEAvi Barak23456 MEDAvi Barak34567 EELior Edri45678 EEMoshe Cohen56789 EEMoshe Cohen67890

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

5 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 5 הטבלה Books FacultyPagesMax_TimeYearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge2222 EE39071998Database And Knowledge2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555

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

7 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 7 טבלת Ordered Order_DateBook_NameCust_Id 14-Oct-2002 Database Systems 12345 24-Oct-2002Anatomy45678 30-Oct-2002Database And Knowledge12345 12-Oct-2002Electronic Circuits45678

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

9 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 9 טבלת Borrowed To_DateFrom_DateCust_IdBook_Id 13-Oct-2002567895555

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

11 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 11 FacultyPagesMax_TimeYearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge2222 EE39071998Database And Knowledge2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555 דוגמא - המשך Books:

12 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 12 דוגמא - תוצאה SELECT Book_Name, Pages FROM Books: PagesBook_Name 348 Database Systems 348 Database Systems 424 Database Systems 390Database And Knowledge 390Database And Knowledge 180Electronic Circuits 580Genes 7 450Anatomy

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

14 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 14 FacultyPagesMax_TimeYearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge2222 EE39071998Database And Knowledge2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555 דוגמא - תוצאה SELECT * FROM Books:

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

16 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 16 FacultyPagesMax_TimeYearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge2222 EE39071998Database And Knowledge2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555 דוגמא - המשך Books:

17 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 17 Max_Time/7Book_NameBook_Id 1 Database Systems 1111 2 Database Systems 1112 1 Database Systems 1113 0Database And Knowledge2222 1Database And Knowledge2223 3Electronic Circuits3333 1Genes 74444 1Anatomy5555 דוגמא - תוצאה SELECT Book_Id, Book_Name, Max_Time/7 FROM Books :

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

19 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 19 FacultyPagesMax_TimeYearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge2222 EE39071998Database And Knowledge2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555 דוגמא - המשך Books:

20 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 20 Book_Name Database Systems Database And Knowledge Electronic Circuits דוגמא - תוצאה SELECT Book_Name FROM Books WHERE Year > 1990 :

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

22 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 22 FacultyPagesMax_TimeYearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge2222 EE39071998Database And Knowledge2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555 דוגמא - המשך Books:

23 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 23 Book_Name Database Systems Database And Knowledge Electronic Circuits דוגמא - תוצאה SELECT Book_Name FROM Books WHERE Year > 1990 AND Year < 2000 :

24 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 24 אופרטור BETWEEN בעזרת האופרטור BETWEEN אפשר לכתוב ביטוי זה בצורה יותר קריאה : SELECT Book_Name FROM Books WHERE Year BETWEEN 1990 AND 2000;

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

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

27 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 27 שימוש באופרטור IN: SELECT Book_Name FROM Books WHERE Year IN (1992, 1998, 2001); שימוש באופרטור NOT IN: SELECT Book_Name FROM Books WHERE Year NOT IN (1992, 1998, 2001); בחירה מרשימה של ערכים - IN

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

29 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 29 FacultyPagesMax_TimeYearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge2222 EE39071998Database And Knowledge2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555 דוגמא - המשך Books:

30 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 30 Book_Name Database Systems דוגמא - תוצאה SELECT Book_Name FROM Books WHERE Book_Name LIKE ‘%Database%m_’ :

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

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

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

34 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 34 FacultyPagesMax_TimeYearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge2222 EE39071998Database And Knowledge2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555 דוגמא - המשך Books:

35 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 35 YearBook_Name 1998 Database Systems 1998 Database Systems 2001 Database Systems 1998Database And Knowledge 1998Database And Knowledge 1998Electronic Circuits 1985Genes 7 1988Anatomy דוגמא - תוצאה YearBook_Name 1998 Database Systems 2001 Database Systems 1998Database And Knowledge 1998Electronic Circuits 1985Genes 7 1988Anatomy ללא DISTINCT אחרי DISTINCT

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

37 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 37 FacultyPagesMax_TimeYearBook_NameBook_Id MED58071985Genes 74444 MED45071988Anatomy5555 CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS39011998Database And Knowledge2222 EE180211998Electronic Circuits3333 EE39071998Database And Knowledge2223 CS42472001 Database Systems 1113 דוגמא - תוצאה SELECT * FROM Books ORDER BY Year :

38 חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 38 מיון בסדר הפוך -DESC SELECT * FROM Books ORDER BY Year DESC;

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

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


Download ppt "חורף תשס " ג DBMS - 236363, שפות שאילתה : SQL ( א ') 1 סכמה SQL: מושגים טבלה, רלציה שורה, רשומה, n- יה עמודה, תכונה, שדה, אטריביוט."

Similar presentations


Ads by Google