Presentation is loading. Please wait.

Presentation is loading. Please wait.

הקדמה היתרון במודל הטבלאי: המודל כקבוצה של יחסים (טבלאות)

Similar presentations


Presentation on theme: "הקדמה היתרון במודל הטבלאי: המודל כקבוצה של יחסים (טבלאות)"— Presentation transcript:

1 הקדמה היתרון במודל הטבלאי: המודל כקבוצה של יחסים (טבלאות)
אפשרות להציגו בצורה מתמטית בניית הוכחת משפטים המודל כקבוצה של יחסים (טבלאות) נתן לבצע פעולות על איברי הקבוצה

2 בסיס הנתונים לשיעור זה customer customer-city customer-street
customer-name Harrison Main Jones Rye North Smith Hayes Curry Pittsfield park Lindsay Stamford Putnam Turner Princeton Nassau Williams Spring Adams Palo Alto Alma Johnson Woodside Sand Hill Glenn Brooklyn Senator Brooks Walnut Green customer

3 בסיס הנתונים לשיעור זה borrower depositor loan-number customer-name
Jones L-23 Smith L-15 Hayes L-14 Jackson L-93 Curry L-11 Williams L-16 Adams account -number customer-name A-101 Johnson A-215 Smith A-102 Hayes A-305 Turner A-201 A-217 Jones A-222 Lindsay

4 הפעולות הבסיסיות בחירה select הטלה project איחוד union
הפרש set difference מכפלה קרטזית Cartesian Product כינוי rename פעולות אונריות פעולות בינאריות פעולה אונרית

5 בחירה select, σ צורת כתיבה: σp(R)
הפעולה: בחירת ה-n-יות המקיימות את הפרדיקט p מיחס R התוצאה: מתקבל יחס בעל אותן עמודות ואתן שורות או פחות

6 בחירה - דוגמא שאילתא: בחירת הלקוחות הגרים בעיר Harrison מהיחס customer
פתרון: σcustomer-city = ‘Harrison’ (customer) היחס המוחזר: customer-city customer-street customer-name Harrison Main Jones Hayes

7 בחירה - המשך בפרדיקט p שבשאילתות מותר להשתמש ב: עבור ערך אלפא - בתי:
סימני שוויון: < , >, ≤, ≥, ≠, = קשרים לוגיים: V, Λ, - עבור ערך אלפא - בתי: ההשוואה נעשית לפי סדר לקסיקוגרפי נכתבים מוקפים בגרש

8 דוגמאות בחירת פרטי ההלוואות שמספרם גדול מ-L-23 מיחס borrower
הצגת פרטי הלקוחות שגרים ברחוב Main שבעיר Harrison

9 הטלה project, π צורת כתיבה: πa(R) הפעולה: בחירת עמודות a מיחס R

10 הטלה - דוגמא שאילתא: שמות הלקוחות הקיימים בבנק
פתרון: πcustomer-name (customer) היחס המוחזר: customer-name Jones Smith Hayes Curry Lindsay Turner Williams Adams Johnson Glenn Brooks Green

11 הטלה - המשך הערות: שורות זהות מושמטות
כאשר רוצים לבחור מספר עמודות רושמים את שמותיהן מופרדים בפסיקים

12 דוגמאות שמות הרחובות והערים בהם גרים לקוחות הבנק
הצגת שמות הלקוחות שגרים בעיר Harrison

13 איחוד union, U צורת כתיבה: R2 U R1
הפעולה: פעולה בינארית הבוחרת את ה-n-יות המופיעות לפחות באחד מהיחסים R1, R2 דוגמא: שמות הלקוחות שלקחו הלוואה או יש להם חשבון בבנק (πcustomer-name (borrower)) U (πcustomer-name (depositor))

14 איחוד - המשך הערות: התוצאה: מוחזר יחס עם סכמה בלתי מוגדרת
היחסים R1, R2 צריכים להיות בעלי אותו מבנה אותו מספר עמודות תחום של תכונה i ב- R1 זהה לתחום של תכונה i ב- R2 שורות זהות מופיעות פעם אחת בתוצאה התוצאה: מוחזר יחס עם סכמה בלתי מוגדרת לעמודות אין שמות א"א לבצע פעולת על היחס המוחזר (מלבד איחוד והפרש)

15 (πcustomer-name (customer)) - (πcustomer-name (borrower))
הפרש set difference, - צורת כתיבה: R2 - R1 הפעולה: פעולה בינארית הבוחרת את ה-n-יות המופיעות ביחס R1 ולא מופיעות ביחס R2 דוגמא: שמות הלקוחות שלא לקחו הלוואה (πcustomer-name (customer)) - (πcustomer-name (borrower))

16 הפרש - המשך הערות: התוצאה: מוחזר יחס עם סכמה בלתי מוגדרת
היחסים R1, R2 צריכים להיות בעלי אותו מבנה אותו מספר עמודות תחום של תכונה i ב- R1 זהה לתחום של תכונה i ב- R2 התוצאה: מוחזר יחס עם סכמה בלתי מוגדרת לעמודות אין שמות א"א לבצע פעולת על היחס המוחזר (מלבד איחוד והפרש)

17 מכפלה קרטזית cartesian product, x
צורת כתיבה: R1 x R2 הפעולה: פעולה בינארית המשלבת מידע בין שני יחסים R1, R2 בלי הגיון. מחזירה יחס עם n-יות המקיימות: { t, s | t R1, s R2} התוצאה: מתקבל יחס עם העמודות מ-R1 ומ-R2. השורות הן כל הצלבות של השורות ב-R1 עם אלו ב-R2

18 מכפלה קרטזית - דוגמא נתונים היחסים: הפעולה R1xR2 תחזיר: R2 R1 w v 3 4
5 Z y x 1 2 W v Z y x 3 1 4 5 2 R1xR2

19 מכפלה קרטזית - המשך מתקיים:
מספר שורות ב-R1xR2 = מספר שורות ב-R1 * מספר שורות ב-R2 מספר עמודות ב-R1xR2 = מספר עמודות ב-R1 + מספר עמודות ב-R2 הערה: אם בשני היחסים יש עמודות עם שם זהה אזי בתוצאת המכפלה הקרטזית שמות העמודות המתאימות יהיו: שם העמודה.שם היחס

20 מכפלה קרטזית - דוגמא customer x borrower … Loan-number
borrower. customer-name customer-city customer-street customer. customer-name L-17 Jones Harrison Main L-23 Smith L-16 Adams Stamford Walnut Green

21 דוגמא הכתובת (רחוב ועיר) של בעלי הלוואה L-20

22 כינוי rename, ρ צורת כתיבה: ρx(R)
הפעולה: פעולה אונרית שלוקחת יחס R ומשנה את שמו ל-x הערה: שם היחס משתנה עבור אותה שאילתה בלבד

23 כינוי - דוגמא נתון יחס R: R x ρr(R) R x R y x 2 1 4 3 r.y r.x R.y R.x

24 דוגמא שמות האנשים הגרים בעיר של Jones

25 פעולות נוספות צירופים חיתוך intersection חילוק division
צירוף θ – theta join צירוף טבעי – natural join חיתוך intersection חילוק division

26 צירוף θ theta join, ⋈ צורת כתיבה: R1 ⋈ R2
הפעולה: פעולה המשלבת מכפלה קרטזית עם בחירה R1 ⋈ R2 = σθ(R1 x R2) הגדרת θ: גימום ("וגם) של אחד או יותר יחסי שוויון כלשהם (< , >, ≤, ≥, ≠, =) מבצע שוויון בין תכונה ב-R1 לתכונה ב-R2 θ θ

27 דוגמא מספרי החשבונות של הלקוחות שגרים ב-Harrison

28 צירוף טבעי natural join, ⋈
צורת כתיבה: R1 ⋈ R2 הפעולה: פעולה המשלבת מכפלה קרטזית עם בחירת ה-n-יות בעלות המשמעות והטלה כך שכל עמודה תופיע פעם אחת

29 צירוף טבעי – הגדרה פורמלית
נתונים שני יחסים והסכמות שלהם: R1(S1), R2(S2) R1 ⋈ R2 = πS1US2(σR1.A1 = R2.A1 ∩ ∩ R1.An = R2.An (R1 xR2) כאשר: S1 ∩ S2 = {A1, …, An}

30 צירוף טבעי - דוגמא נתונים היחסים: הפעולה R1 ⋈ R2 תחזיר: R2 R1 z y 5 2
9 7 6 y x 2 1 4 3 העמודה y תופיע פעם אחת בלבד z y x 5 2 1 6 יופיעו כל ה-n-יות בהן מתקיים: R1.y = R2.y

31 עוד טבלה בבסיס הנתונים... branch assets branch-city branch-name
Brooklyn Downtown Palo Alto Redwood Horseneck Perryridge 400000 Mianus Round Hill 300000 Bennington Pownal Rye North Town Brighton

32 ועוד אחת... account balance account-number branch-name 500 A-101
Downtown 700 A-215 Mianus 400 A-102 Perryridge 350 A-305 Round Hill 900 A-201 Brighton A-222 Redwood 750 A-217

33 ועוד... loan amount loan-number branch-name 1000 L-17 Downtown 2000
Redwood 1500 L-15 Perryridge L-14 500 L-93 Mianus 900 L-11 Round Hill 1300 L-16

34 דוגמא שמות הלקוחות שבסניף הבנק שלהם ערך הנכסים גבוה מ-4,000,000

35 צירוף טבעי - הבעייתיות הבעיה: מידע עלול להיאבד הפתרון:
למשל בשאילתא: πcustomer-name(customer ⋈ borrower) שמו של לקוח שלא לקח הלוואה לא יופיע הפתרון: צירוף טבעי עם שמירת מידע

36 צירוף טבעי עם שמירת מידע
סימון: שמירת מידע מ-R1: R R1 שמירת מידע מ-R2: R R2 שמירת מידע משני הייחסים: R R2 הפעולה: מתבצע צירוף טבעי. אם קיימת שורה בטבלה ממנה רוצים לשמו מידע שאינה מיוצגת בצירוף הטבעי, היא נוספת. שאר העמודות בשורה זאת מתמלאות ב- null

37 צירוף טבעי עם שמירת מידע - דוגמא
R1 y x 2 1 4 3 6 5 z y 3 2 7 6 9 8 R2 איך יראו היחסים הבאים? R1 R2 R1 R2 R1 R2

38 חיתוך intersection, ∩ צורת כתיבה: R2 ∩ R1
הגדרה פורמלית: R1 ∩ R2 = R1 – (R1 – R2) R1 ∩ R2 = R2 – (R2 – R2)

39 חיתוך - המשך הערות: התוצאה: מוחזר יחס עם סכמה בלתי מוגדרת
היחסים R1, R2 צריכים להיות בעלי אותו מבנה אותו מספר עמודות תחום של תכונה i ב- R1 זהה לתחום של תכונה i ב- R2 שורות זהות מופיעות פעם אחת בתוצאה התוצאה: מוחזר יחס עם סכמה בלתי מוגדרת

40 דוגמא שמות הערים בהן גם גרים לקוחות וגם קיים סניף בנק (2 פתרונות)

41 פעולת החילוק (מנה) division, ÷
פעולה זאת מתאימה לשאילתות המכילות את המילה "כל" הרעיון: נתונים היחסים R1(S1), R2(S2). S2 S1 . החילוק R1 ÷ R2 יחזיר יחס R(S), S = S1 – S2. הערכים שיופיעו הם ה-n-יות מ-R1 המופיעות עם כל אחת מה-n-יות ב-R2. U {לכל R1 ÷ R2 = {x | xy R1, y R2

42 פעולת החילוק - המשך הגדרה פורמלית: יהיו R1(S1), R2(S2) יחסים כך ש- S2 S1 . היחס R1 ÷ R2 הוא יחס בעל הסכמה S1-S2. n-יה t תמצא ב- R1 ÷ R2 אם ורק אם מתקיים: t נמצאת ב-πS1-S2(R1) . לכל n-יה t2 ב- R2 יש n-יה t1 ב- R1 המקיימת את שני התנאים: 1. t1 [S2] = t2 [S2] 2. t1 [S1-S2] = t [S1-S2] U

43 דוגמא שמות הלקוחות שיש להם חשבון בכל אחד מהסניפים שנמצאים בעיר Brooklyn

44 דוגמאות נוספות יתרה מקסימאלית בין כל חשבונות הבנק
שמות האנשים שמהווים סיכון שמא לא יפרעו את חובם: בעלי לא יותר מחשבון אחד שלוו יותר מפעמיים הסכום שהחשבון הבנק שלהם


Download ppt "הקדמה היתרון במודל הטבלאי: המודל כקבוצה של יחסים (טבלאות)"

Similar presentations


Ads by Google