1 / 36

אלגברת היחסים

אלגברת היחסים. R elational Algebra. אלגברת היחסים. אלגברת היחסים הנה אוסף של פעולות על יחסים התוצאה של כל פעולה הנה יחס לפיכך אפשר להפעיל פעולות של אלגברת היחסים על תוצאות של פעולות קודמות, כלומר ניתן ליצור ביטויים מורכבים

Download Presentation

אלגברת היחסים

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. אלגברת היחסים Relational Algebra

  2. אלגברת היחסים • אלגברת היחסים הנה אוסף של פעולות על יחסים • התוצאה של כל פעולה הנה יחס • לפיכך אפשר להפעיל פעולות של אלגברת היחסים על תוצאות של פעולות קודמות, כלומר ניתן ליצור ביטויים מורכבים • ההגדרה של אלגברת היחסים משמשת בסיס פורמלי להגדרתן של שפות שאילתה אחרות

  3. הפעולות של אלגברת היחסים • לאלגברת היחסים הפעולות הבאות • הטלה • בחירה • מכפלה קרטזית • איחוד • הפרש • ניתן גם להשתמשבפעולה של "שינוי שם" • פעולות נוספות ניתנות להגדרה בעזרת הפעולות הבסיסיות

  4. יחסים לדוגמה SR T S – Students T – Teachers R – Students, their courses, and their teachers

  5. הטלהProjection • פעולת ההטלה הנה אונרית (פועלת על יחס אחד) • פעולת ההטלה מוחקת חלק מהעמודות • רשומות שונות יכולות להיעשות שוות כתוצאה ממחיקת העמודות • מכיוון שיחס הוא קבוצה של רשומות, בתוצאה נשאר רק עותק אחד מכל רשומה, ולפיכך מספר הרשומות יכול לקטון • אופרטור ההטלה מסומן ע"י ומוסיפים לו כאינדקס את רשימת העמודות בתוצאה

  6. הטלה (המשך) • כדי לבצע הטלה של יחס R על העמודות tid ו- course רושמים את הביטוי: • התוצאה:

  7. Selectionבחירה • פעולת הבחירה הנה אונרית (פועלת על יחס אחד) • פעולת הבחירה בוחרת חלק מן הרשומות • בתוצאה יש בדרך כלל (אבל לא תמיד) פחות רשומות מאשר ביחס המקורי • כל רשומה בתוצאה זהה לאחת הרשומות מהיחס המקורי • אופרטור הבחירה מסומן ע"יומוסיפים לו כאינדקס את התנאי לפיו מתבצעת הבחירה

  8. בחירה (המשך) • כדי לבחור מהיחס R את הרשומות של המורה שה-id שלו הוא 20, רושמים את הביטוי: • התוצאה:

  9. שילוב פעולות • הביטוי הבא מחשב את רשימת הקורסים שמלמד המורה שה-id שלו הוא 20 • התוצאה:

  10. התנאי של פעולת הבחירה • הצורה הכללית של פעולת הבחירה הנה , כאשר C הנו התנאי • התנאי מורכב מהשוואות שמקושרות ע"י פעולות לוגיות של ו- (אין צורך בשלילה) • השוואה היא מהצורה • attribute1 op attribute2או • attribute1 op constant

  11. פעולות ההשוואה • פעולות ההשוואה (op) הן • שלילה אפשר לבטא ע"י היפוך ההשוואה • אם הקבוע מורכב מאותיות (char string), אזי רושמים אותו בין צמד גרשיים, לדוגמה

  12. הערה • באלגברה הטהורה אין פעולות אריתמטיות או פעולות אחרות, כגון substring, אבל בשפות שאילתה מעשיות יש פעולות כאלה ולכן אפשר לכתוב תנאים מהצורה

  13. מכפלה קרטזית Cross Product • מכפלה קרטזית היא פעולה בינארית, שמסומנת ע"י , והיא מחברת כל רשומה של יחס אחד עם כל רשומה של היחס השני • מספר העמודות בתוצאה שווה לסכום מספרי העמודות ביחסים המקוריים • מספר הרשומות בתוצאה שווה למכפלת מספרי הרשומות ביחסים המקוריים

  14. יחסים לדוגמה (שנית) SR T S – Students T – Teachers R – Students, their courses, and their teachers

  15. סכמת התוצאה היא איחוד הסכמות של היחסים המקוריים. מכיוון שלשתי הסכמות המקוריות יכולים להיות אטריביוטים משותפים, חייבים לשנות את שמות האטריביוטים האלה. בדוגמה, המופעים של האטריביוט המשותף מוקפים סוגריים, כדי לציין שלמעשה אין לעמודות אלה שם. לחלופין, אפשר להתייחס למיקום העמודות, ואם עושים כך, חשוב לשמור על הסדר המקורי של העמודות ולזכור שבתוצאה העמודות השמאליות הן של Rוהימניות של T.

  16. שינוי שם Renaming • הפעולה מסומנת ע"י • לדוגמה, נרשום את הביטוי • ביטוי זה יוצר את המכפלה הקרטזית ונותן לתוצאה את הסכמה:P(tid1,sid,course,tid2,tname,dept) • שם הסכמה של התוצאה הוא P ובסוגריים מצוינים שמות האטריביוטים

  17. לחלופין • אפשר למחוק את אחת משתי העמודות בעלות אותו השם ע"י הפעולה הבאה • בפעולת ההטלה (הרשומה לעיל) מתייחסים למיקום העמודות ולא לשמותיהן • התוצאה של ההטלה היא יחס עם סכמה מוגדרת היטב (קרי, אין שתי עמודות עם אותו שם)

  18. דוגמה נוספת • למעשה, סביר שהשאילתה שבה באמת מעוניינים היא • גם התוצאה במקרה הזה הנה סכמה מוגדרת היטב

  19. הערה • אם בפעולת הבחירה משתמשים במספרי עמודות, אז צריך לסמן קבועים ע"י גרשיים • השוואת עמודות 1 ו- 4: • השוואת עמודה 1 לקבוע: • לחלופין, לפעמים נהוג לסמן עמודות ע"י 1$, 4$ וכד', לדוגמה:

  20. איחודUnion • יחסים הנם קבוצות וניתן לאחד אותם, בתנאי שהם תואמים, כלומר • לשני היחסים אותו מספר עמודות ואותם שמות לעמודות, ובנוסף • עמודות בעלות אותו שם הנן בעלות אותו type (תנאי זה משמעותי אם הוגדר type לכל עמודה) • אם לא מתייחסים לשמות של העמודות (או שאין שמות), אז התנאים הנם: • לשני היחסים אותו מספר עמודות, ובנוסף • עמודות בעלות אותו מיקום הנן בעלות אותו type

  21. דוגמה

  22. הפרשDifference • יחסים הנם קבוצות ולכן ניתן לבצע פעולת הפרש בין יחסים, בתנאי שהם תואמים, כפי שהוגדר במקרה של פעולת האיחוד

  23. דוגמה

  24. חיתוך Intersection • באופן דומה ניתן להגדיר חיתוך של יחסים • אבל למעשה פעולת החיתוך ניתנת לביטוי בעזרת פעולות אחרות

  25. דוגמה

  26. צירוף Join • פעולת הצירוף היא למעשה שילוב של מכפלה קרטזית ובחירה (ובמקרים מסוימים גם הטלה) • שלושה סוגים • condition join או theta join (הכללי ביותר) • equi-join (שתי גרסאות) • natural join

  27. Condition Join • צירוף מותנה הנו פעולה מהצורה הבאה • Cהנו ביטוי המורכב מפעולות לוגיות ( , ) ומהשוואות מהצורה: • כלומר כל השוואה היא בין אטריביוט כלשהו Aשל R לבין אטריביוט כלשהו B של S • מסמן את אחד מששת האופרטורים של ההשוואה, קרי • ההגדרה:

  28. הסבר להגדרה • ההגדרה: • מדוע התנאי המקורי (בצירוף) הוא C, בעוד שבהגדרת הצירוף (באגף ימין של השיוויון)התנאי הוא C’? • אם ב- Cמופיעה ההשוואה • אז ב- C’ צריכה להופיע ההשוואה • iהוא המיקום של העמודה A ב- R • k=j+n, כאשר jהוא המיקום של העמודה B ב- S ו- nהוא מספר העמודות ב- R

  29. Equi-Join • צירוף שיוויון הנו פעולה מהצורה הבאה • כאשר Cהנו גימום (קוניונקציה) של השוואות מהצורה: • כלומר, כל השוואה היא שוויון בין אטריביוט כלשהו Aשל R לבין אטריביוט כלשהו B של S • ההגדרה:

  30. ההגדרה בספר של Equi-Join • צירוף שוויון הנו פעולה מהצורה הבאה • כאשר Cהוא גימום (קוניונקציה) של השוואות מהצורה: • R.A מציין אטריביוט A של R, ו- S.A מציין אטריביוט A של S(לשני האטריביוטים אותו השם) • ההגדרה:

  31. הסבר להגדרה • ההגדרה: • הקשר בין Cלבין C’הוא כמו בהסבר הקודם • Lכוללת רק עותק אחד (קרי, עמודה אחת) מכל זוג אטריביוטים שמושווים ב- C; בנוסף, Lכוללת את כל האטריביוטים האחרים (קרי, אלה שלא מופיעים בתנאי Cשל הצירוף)

  32. דרך נוספת לסימון (לפי הספר) • צירוף שוויון אפשר גם לרשום בצורה הבאה: • Lהוא רשימת האטריביוטים שמופיעים בתנאי C; כלומר, אם אטריביוט A מופיע ברשימה L, אז התנאי Cשל הצירוף כולל את ההשוואה

  33. צירוף טבעי Natural Join • אם ברשימה Lמופיעים כל האטריביוטים המשותפים ל- R ול- S, אז הפעולה נקראת natural join, ורושמים אותה ללא שום אינדקס: • כלומר, בצירוף טבעי משווים את כל זוגות האטריביוטים המשותפים ל- Rול- Sומשאירים רק עותק אחד מכל זוג עמודות שהושוו

More Related