פקודות לטיפול בנתונים (data manipulation )
DESCRIPTION
פקודות לטיפול בנתונים (Data Manipulation ). הפקודה : SELECT. 2 המשפטים הראשונים הינם חובה וארבעת הנוספים-רשות. משפט ה SELECT -. מגדיר את שמות העמודות שיש לשלוף ולהציג שמות של עמודות מטבלה אחת או יותר ניתן להגדיר חישובים על עמודות - PowerPoint PPT PresentationTRANSCRIPT
1
פקודות לטיפול בנתוניםפקודות לטיפול בנתונים( ( Data ManipulationData Manipulation))
2
SELECTSELECTהפקודה: הפקודה:
המשפטים הראשונים הינם חובה וארבעת 2 •הנוספים-רשות
3
- -SELECTSELECTמשפט המשפט ה
מגדיר את שמות העמודות שיש לשלוף ולהציג•
שמות של עמודות מטבלה אחת או יותר•
ניתן להגדיר חישובים על עמודות•
ניתן להגדיר פונקציות הפועלות על עמודה • )חישוב ממוצע של גיל(
ניתן להגדיר שם נוסף לעמודה•
הסדר שבו שמות העמודות רשומות • הוא הסדר שבו הן תוצגנה
4
WHEREWHERE משפטמשפט
הגדרת תנאי לוגי לשליפת שורות•<=>, =, <, >, ><, מכיל אופרטורים השוואתיים: =•NOT, OR, ANDמכיל אופרטורים לוגיים: •בדיקת קיום ערך בתוך קבוצה סגורה של ערכים •
-IN ע”י שימוש ב בדיקת קיום ערך בתוך טווח ערכים ע”י שימוש •
BETWEEN ב- בדיקת קיום מחרוזת תווים בתוך ערכים של עמודה •
LIKEע”י שימוש ב-
5
משפטים נוספים בפקודת ה- משפטים נוספים בפקודת ה- SELECTSELECT
- מאפשר הקבצת GROUPED BY משפט•שורות שבהם מופיעים בעמודה/ות מסוימת/ות
ערכים זהים
מגדיר תנאי לוגי - HAVING משפט• אותו יקיימו השורות המקובצות בלבד
מגדיר סדר המיון - ORDER BY משפט• שבו תוצגנה השורות הנשלפות
6
מול מול SQLSQL של שפתשל שפת SelectSelect הפקודההפקודהשל האלגברה של האלגברה SelectSelect פקודתפקודת
הטבלאיתהטבלאית של שפת Select הפקודה•
SQL האופרטורים של 3מכילה בתוכה את האלגברה הטבלאית:
•?
7
מול מול SQLSQL של שפתשל שפת SelectSelect הפקודההפקודהשל האלגברה של האלגברה SelectSelect פקודתפקודת
הטבלאיתהטבלאית•Join, Project, Select
8
בסיס הנתוניםבסיס הנתונים
9
בסיס הנתוניםבסיס הנתונים
STUDENTS סטודנטים
STUDENT_ID NAME CITY
מס. סטודנט שם סטודנט עיר
105 MOSHE HAIFA
210 DAN HAIFA
107 EYAL TEL-AVIV
110 RAN HAIFA
245 YOEL HAIFA
240 AYELET TEL-AVIV
200 DAVID TEL-AVIV
310 TOVA JERUSALEM
10
בסיס הנתוניםבסיס הנתוניםGrades ציונים
STUDENT_ID COURSE_ID SEMESTER TERM GRADE
מס. סטודנט מס. קורס סמסטר מועד ציון
105 C-55 SUM2007 A 70
210 M-100 AUT2008 A 90
105 M-100 SUM2007 B 50
105 C-200 AUT2008 A 85
210 C-200 AUT2008 A 80
210 B-10 WIN2008 A 50
105 B-40 WIN2008 B 70
245 M-100 AUT2008 A 80
245 B-10 AUT2008 A 70
200 C-200 AUT2008 B 50
200 B-10 AUT2008 A 65
245 B-40 WIN2007 A 95
200 M-100 SUM2007 B 90
310 M-100 SUM2007 A 100
11
שליפת כל העמודות וכל השורות - טבלה שליפת כל העמודות וכל השורות - טבלה אחתאחת
12
שליפת שורות ועמודות מסוימותשליפת שורות ועמודות מסוימות
13
שינוי שם עמודהשינוי שם עמודה
14
שליפת שורות ללא הצגת שורות שליפת שורות ללא הצגת שורות כפולותכפולות
15
בחירת שורות - בדיקת השוואהבחירת שורות - בדיקת השוואה
16
בחירת שורות - בדיקת השוואהבחירת שורות - בדיקת השוואה
17
בחירת שורות - בדיקת השוואה עם תנאי בחירת שורות - בדיקת השוואה עם תנאי בוליאניבוליאני
18
בחירת שורות - בדיקת טווח ערכים בחירת שורות - בדיקת טווח ערכים רציףרציף
19
בחירת שורות - בדיקת קיום ערך בתוך קבוצת בחירת שורות - בדיקת קיום ערך בתוך קבוצת ערכיםערכים
20
בחירת שורות - בדיקת מחרוזתבחירת שורות - בדיקת מחרוזת
Wild
21
בחירת שורות - בדיקת מחרוזתבחירת שורות - בדיקת מחרוזת
22
Calculated Calculatedעמודות מחושבות )עמודות מחושבות )columnscolumns))
‘AUT2008’
2008
23
הוספת כיתוב קבועהוספת כיתוב קבוע
2008
‘AUT2008’
24
((Build-In FunctionBuild-In Functionפונקציות מובנות )פונקציות מובנות )
פועלות על עמודה כל שהיא ומחזירות ערך יחיד•
אם רוצים שהפונקציה תתעלם מערכים כפולים •לפני שם העמודה Distinctבעמודה נשתמש ב-
רשימת הפונקציות הינה:•
25
תחביר הפקודהתחביר הפקודה
26
דוגמאותדוגמאות
27
דוגמאותדוגמאות
2007
‘SUM2007’
28
((Order ByOrder Byמיון התוצאה )מיון התוצאה )
29
Grouped Groupedשאילתות מקובצות- שאילתות מקובצות- QueriesQueries
מאפשר הקבצה של שורות בעלות ערך זהה•
הצגת שורה אחת עבור אוסף של שורות •המכילות אותו ערך בעמודות מסוימות
מגדיר תנאי על השורות Havingמשפט ה- •המקובצות
חייב Group By כל שם עמודה המופיע במשפט•ובאותו הסדר Selectלהופיע קודם במשפט ה-
30
Grouped QueriesGrouped Queriesשאילתות מקובצות - שאילתות מקובצות -
31
Grouped Groupedשאילתות מקובצות - שאילתות מקובצות - QueriesQueries
desc
32
שאילתות עם מספר טבלאותשאילתות עם מספר טבלאות
מתבסס על הקשרים הלוגיים בין הטבלאות•
מתבצע ע”י הגדרת תנאי כל ( Joinהצירוף )•שהוא בין העמודות של הטבלאות
או ( Equi Joinהתנאי יכול להיות: שוויון )•( Theta Join תנאי לוגי אחר )
מספרמערכות מסחריות קובעות מגבלות לגבי •8הטבלאות המשתתפות -
33
דוגמאדוגמא
הצג את שמות הסטודנטים ואת עיר מגוריהם •c-200 עבור כל הסטודנטים שלמדו בקורס
34
שאילתות עם מספר טבלאותשאילתות עם מספר טבלאות
INNER
35
שאילתות עם מספר טבלאותשאילתות עם מספר טבלאות
36
שאילתות עם מספר טבלאותשאילתות עם מספר טבלאות
37
סטודנטים בקורסים עם ציון ממוצע גבוה מציון הממוצע של הקורס
•SELECT • course_name,student_id,student_name,c_avg.course_avg,avg)grade( as
student_avg•FROM grades g, students s, courses c, )SELECT course_id,
avg)grade( as course_avg FROM grades GROUP BY course_id( c_avg•WHERE s.student_id = g.student_id •and c.course_id = g.course_id •and c_avg.course_id = g.course_id •GROUP BY course_name,student_id,student_name,c_avg.course_avg•HAVING avg)grade( < c_avg.course_avg •ORDER BY s.student_id,student_name
38
Outer JoinOuter Join צירוף טבלאות ע”י צירוף טבלאות ע”י
מעביר Inner Join הצירוף הרגיל הנקרא גם• 2לטבלת התוצאה רק זוגות של שורות מ-
טבלאות עבורן מתקיים תנאי הצירוף
מעביר אל טבלת Outer Join הצירוף החיצוני•התוצאה את כל השורות של אחת או שתי
הטבלאות המשתתפות בצירוף:
39
Outer JoinOuter Join צירוף טבלאות ע”י צירוף טבלאות ע”י
• Left Outer Join לטבלת התוצאה עוברות - השמאלית כל השורות מהטבלה
• Right Outer Join לטבלה התוצאה עוברות -כל השורות מהטבלה הימנית
• Full Outer Join לטבלת התוצאה עוברות - הטבלאות2כל השורות מ-
40
- -Outer JoinOuter Join צירוף טבלאות ע”יצירוף טבלאות ע”יתחביר הפקודהתחביר הפקודה
41
- - Outer JoinOuter Join צירוף טבלאות ע”יצירוף טבלאות ע”ידוגמא:דוגמא:
הצג את רשימת ראשי המחלקה, שם המחלקה •שבראשם הם עומדים ושמות הקורסים
המוצעים ע”י אותה מחלקה
42
צירוף טבלה אל עצמהצירוף טבלה אל עצמה( ( Reflexive Join, Self JoinReflexive Join, Self Join))
מאפשר התייחסות מספר פעמים אל אותה •טבלה
43
תת שאילתאתת שאילתא
להיקרא שפה מובנית SQL יכולת הקינון מאפשרת לשפת•
סדר ביצוע השאילתות הוא מתת השאילתא הפנימית ביותר ועד •לשאילתא הראשית
WHERE תת השאילתא מוקפת בסוגריים ומופיעה בתוך משפט• של השאילתא הראשית
תת השאילתא יוצרת טבלת תוצאה המכילה עמודה אחת בלבד •או ערך בודד
תת השאילתא אינה יכולה להכיל מיון•
של תת-שאילתא יכול להכיל בעצמו תת WHERE משפט•
מקונןשאילתא נוספת - מבנה
44
תת שאילתא - דוגמאתת שאילתא - דוגמא
45
תת שאילתאתת שאילתא
כאשר תת שאילתא מחזירה קבוצת ערכים ניתן •לבדוק אם הערכים של עמודה מהשאילתא
הראשית מופיעים בתוך קבוצת הערכים המוחזרים ע”י תת השאילתא באמצעות
IN האופרטור
46
תת שאילתא - דוגמאותתת שאילתא - דוגמאותומספר הקורס
47
תת שאילתא - דוגמאותתת שאילתא - דוגמאות
NAME, CITY
48
נקודות והציונים שלהם 4סטודנטים שלא לקחו קורסים עם 75 מעל
•SELECT student_id, student_name, course_name, points, grade
•FROM students s, grades g, courses c •WHERE g.student_id=s.student_id
• and c.course_id =g.course_id
• and not exist )SELECT * from courses WHERE points=4(
• and grade < 75
49
איחוד תוצאות של שאילתות איחוד תוצאות של שאילתות ((UnionUnion ) )
50
( ( IntersectIntersectחיתוך תוצאות של שאילתות )חיתוך תוצאות של שאילתות )
51
פקודות לעדכון בסיס הנתונים - הוספה פקודות לעדכון בסיס הנתונים - הוספה ((Single Row InsertSingle Row Insertשל שורה בודדת )של שורה בודדת )
מאפשרת הוספת שורה חדשה לטבלה קיימת•
52
הוספה של שורה בודדתהוספה של שורה בודדת
מאחר ואנו קובעים ערכים לכל העמודות, ניתן •גם:
53
((Multi-Row InsertMulti-Row Insertהוספת מספר שורות )הוספת מספר שורות )
חדשה
Using course_id
54
((UpdateUpdateעדכון שורות )עדכון שורות )
55
דוגמאותדוגמאות
.2007
‘SUM2007’
56
((DeleteDeleteבטול שורות )בטול שורות )
57
בטול שורות - דוגמאותבטול שורות - דוגמאות
58
)ת.ז ,
59
תרגיליםתרגילים
60
תרגיליםתרגילים
61
תרגיליםתרגילים