Download presentation
Presentation is loading. Please wait.
Published byCharity Sharp Modified over 9 years ago
1
File Systems Motivation SQL (Structured Query Language) MapReduce 1 תרגול 1
2
2 Data filesIndex filesSystem catalog Disk SQL interface Query evaluation engine : Transaction manager Lock manager Recovery manager Disk space manager Buffer manager File and access methods Plan executorOperator Evaluator ParserOptimizer
3
אי תלות במודל הנתונים יתרון חשוב של השימוש במערכת לניהול מסדי נתונים : אי תלות במודל הנתונים. מושג ע " י שלוש רמות של הפשטה : 3 רמה פיסית רמה לוגית מבטי משתמש ( views ) אי תלות באחסון הפיזי מעבר לכאן אי תלות בארגון הלוגי מעבר לכאן תאור המידע לפי המודל שלנו ( מאורגן לפי סכימה רלציונית )
4
4 מסדי נתונים ─ הרמות העליונות רמת משתמש הקצה : לכל משתמש מבט ( חלקי ) על המסד. משתמשים שונים יכולים לראות מבטים שונים, ואלו לא בהכרח משקפים את ארגון הנתונים הפיזי במסד.
5
5 SQL: מושגים טבלה, רלציה סכמה חיהגילצבע שורה, רשומה, n- יה חתול 23 ורוד עמודה, תכונה, שדה, אטריביוט שחור סגלגל ורוד
6
DBMS - 236363, שפות שאילתה : SQL6 Borrowed Cust_Id Book_Id From_Date To_Date Ordered Cust_Id Book_Id Order_Date Books Book_Id Book_Name Year Max_Time Faculty Pages Customers Cust_Id Cust_Name Faculty מסד נתונים של ספרייה דוגמא של מסד נתונים
7
7 פירוט הטבלאות ( המשך...) Books(Book_Id, Book_Name, Year, Max_Time, Faculty, Pages) –Book_Id: מס ' מזהה ( ייחודי לכל עותק ) –Book_Name: שם הכותר –Year: שנת הוצאה –Max_Time: משך השאלה מקס ' אפשרי ( בימים ) –Faculty: שם פקולטה –Pages: מס ' עמודים
8
8 הטבלה 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
9
9 פירוט הטבלאות ( המשך...) Ordered(Cust_Id, Book_Id, Order_Date) –Cust_Id: מס ' זהות של לקוח –Book_Id : מס ' מזהה ( ייחודי לכל עותק ) –Order_Date: תאריך הזמנת הכותר
10
10 טבלת Ordered Order_Date Book_Id Cust_Id 14-Oct-2002111112345 24-Oct-2002111245678 30-Oct-2002111312345 12-Oct-2002222245678
11
11 שאילתות ב -SQL: SELECT SELECT column1, col2, f(col3, col4), … FROM table;
12
12 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: 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 Book_Name, Pages FROM Books;
13
13 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 דוגמא - תוצאה
14
14 שליפת כל השדות לשליפת כל השדות, משתמשים בתו "*" ( כוכבית ). דוגמא : שליפת כל השדות של כל הספרים : * SELECT * FROM Books;
15
15 בחירת חלק מהרשומות Where - האופציה WHERE condition מאפשרת לבחור רק חלק מהרשומות. דוגמא : שליפת שמות כל הספרים שהוצאו אחרי השנה 1990: SELECT Book_Name FROM Books WHERE WHERE Year > 1990;
16
16 FacultyPage s Max_Tim e YearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge 2222 EE39071998Database And Knowledge 2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555 Books: דוגמא - המשך FacultyPage s Max_Tim e YearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge 2222 EE39071998Database And Knowledge 2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555 FacultyPage s Max_Tim e YearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge 2222 EE39071998Database And Knowledge 2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555 SELECT Book_Name FROM Books WHERE Year > 1990
17
17 Book_Name Database Systems Database And Knowledge Electronic Circuits דוגמא - תוצאה SELECT Book_Name FROM Books WHERE Year > 1990 :
18
18 WHERE ( המשך...) תנאים יותר מורכבים : – שימוש בסימני היחס : >, =,, =<... – שימוש בקשרים לוגיים : AND, OR, NOT. דוגמא : שליפת שמות כל הספרים שהוצאו בין השנים 1990 ו - 2000: SELECT Book_Name FROM Books >=AND = 1990 AND Year <= 2000;
19
19 השמטת כפילויות - DISTINCT האופציה DISTINCT משמיטה את הרשומות הכפולות מתוצאת השאילתא. דוגמא : שליפת כל שמות הספרים ושנות ההוצאה, ללא חזרות. DISTINCT SELECT DISTINCT Book_Name, Year FROM Books;
20
20 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: DISTINCT SELECT DISTINCT Book_Name, Year FROM 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
21
21 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 YearBook_Name 1998 Database Systems 1998 Database Systems 2001 Database Systems 1998Database And Knowledge 1998Database And Knowledge 1998Electronic Circuits 1985Genes 7 1988Anatomy
22
22 מיון - ORDER BY ORDER BY : מיון של הרשומות הנשלפות על פי הערכים של שדות או ביטויים נתונים. דוגמא : שליפת כל פרטי הספרים ממוינים לפי שנת ההוצאה : SELECT * FROM Books ORDER BY ORDER BY Year;
23
23 SELECT * FROM Books;SELECT * FROM Books ORDER BY Year; 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 דוגמא - תוצאה 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
24
24 פונקציות סטטיסטיות ב - SQL ישנן הפונקציות הסטטיסטיות הבאות : MIN – מינימום MAX – מקסימום AVG – ממוצע SUM – סכום COUNT – מספר הרשומות כל אחת מפונקציות אלה פועלת על קבוצת ערכים ומחזירה ערך אחד.
25
25 דוגמא דוגמא : חשב את מספר העמודים הממוצע והמקסימלי בין כל הספרים : פתרון : SELECT AVG(Pages), MAX(Pages) FROM Books;
26
26 דוגמא – המשך SELECT AVG(Pages), MAX(Pages) FROM 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
27
27 דוגמא – המשך SELECT AVG(Pages), MAX(Pages) FROM books; Pages 348 424 390 180 580 450 AVG(Pages)MAX(Pages) 389580
28
MapReduce מטרה : לחלק פעולה מורכבת למספר פעולות אותן ניתן לבצע במקביל. מאגר מפתח - ערך : לכל ערך ( תמונה, רשימת ציונים, מחרוזת כלשהי ) יש מפתח חד - ערכי. פעולות פשוטות : הוספת ערך לפי מפתח שאינו במאגר, הוצאת ערך לפי מפתח מהמאגר, עדכון ערך לפי מפתח מהמאגר, חיפוש ערך לפי מפתח. keyvalue “picture”pic.jpg “fs_hw”hw1.doc “grade”98
29
MapReduce דוגמא לפעולה מורכבת ( במסד נתונים של ספרייה ): לכל לקוח, יש לציין מהוא המספר המזהה הגדול ביותר של ספר שהוא הזמין או השאיל. שאילתא במודל MapReduce מוגדרת בשני שלבים : 1. map (k1, v1) → list (k2, v2) 2. reduce (k2, list(v2)) → list(v3) map: חלוקת הבעיה למספר תתי - בעיות קטנות יותר. reduce: פתרון כל תת - בעיה. כיצד נחלק את הבעיה הנתונה לנו לתתי - בעיות ?
30
MapReduce לכל לקוח, יש לציין מהוא המספר המזהה הגדול ביותר של ספר שהוא הזמין או השאיל. 1. map (k1, v1) → list (k2, v2) 2. reduce (k2, list(v2)) → list(v3) פתרון : כל מספר מזהה של לקוח יגדיר תת - בעיה. 1. map (name, value) → (cust_id, book_id) 2. reduce (cust_id, list(book_id)) → list (cust_id, book_id)
31
1. map (name, value) → (cust_id, book_id) 2. reduce (cust_id, list(book_id)) → list (cust_id, book_id) to_datefrom_ date book_idcust_id 20/0210/0275123 18/0215/0220222 05/0220/0170111 order_datebook_idcust_id 26/0250123 26/02100111 28/0260111 book_idcust_id 100111 60111 70111 book_idcust_id 50123 75123 book_idcust_id 20222
32
1. map (name, value) → (cust_id, book_id) 2. reduce (cust_id, list(book_id)) → list (cust_id, book_id) book_idcust_id 100111 60111 70111 book_idcust_id 50123 75123 book_idcust_id 20222 book_idcust_id 100111 75123 50222
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.