300 likes | 513 Views
פרק 6: אלגברה טבלאית Relational Algebra. אלגברה טבלאית. שפה תיאורטית לשליפת מידע מתוך המודל הטבלאי , תוך שימוש באוסף של אופר ט ורים מהווה תשתית תיאורטית עליה מתבססות שפות טבלאיות רבות עוצמה כגון שפת SQL
E N D
אלגברה טבלאית • שפה תיאורטית לשליפת מידע מתוך המודל הטבלאי, תוך שימוש באוסף של אופרטורים • מהווה תשתית תיאורטית עליה מתבססות שפות טבלאיות רבות עוצמה כגון שפתSQL • שפה טבלאית הינה שפה לאפרוצדורלית שאינה מנווטת בבסיס הנתונים מרשומה לרשומה לצורך שליפת נתונים
אלגברה טבלאית • להדגמה - נשתמש בבסיס נתונים טבלאי המורכב מ- 3 טבלאות
בחירת שורות Select - • אופרטור “בחירה” מאפשר שליפת שורות מסוימות מתוך טבלה ובניית טבלהחדשה המכילה רק את השורות העונות על תנאי השליפה
דוגמא: הצג את כל הסטודנטים אשר קבלו ציון גבוה מ- 70 בקורס M-100 • SELECT GRADES WHERE GRADE >70 AND COURSE_ID=‘M-100’
בחירת עמודות – היטל (Project) • אופרטור ההיטל מאפשר שליפת עמודות מסוימות מטבלה ובניית טבלה חדשה המכילה רק את העמודות המבוקשות • אינו מאפשר קיום שורותכפולות בטבלת התוצאה • סדר העמודות בטבלת התוצאה נקבע ע”פ סדר הופעת שמות העמודות באופרטור
דוגמא: הצג את הסמסטרים בהם נבחנו סטודנטים במועד א' וקבלו ציון גבוה מ- 60 • SELECT GRADES WHERE TERM=‘A’ AND GRADE >60 GIVING TEMP PROJECT TEMP OVER (SEMESTER) GIVING RESULT
צירוף טבלאות (Join) • אופרטור הצירוף בונה טבלה חדשה מתוך 2טבלאות ע”פ עמודה אחת או יותר המשותפות לשתי טבלאות • האופרטור מנצל את הקשרים בין הטבלאות
צירוף טבלאות (Join) • דוגמא: הצג את שמות הסטודנטים שלמדו בקורס M-100
איחוד טבלאות (Union) • אופרטור האיחוד מחבר 2 טבלאות ובונה מהן טבלת תוצאה אחת ע”פ כללי האיחוד מתורת הקבוצות • שורותזהות תופענה פעם אחת בלבד • פועל על 2 טבלאות “תואמותאיחוד” (זהות מבחינת המבנה שלהן - אותם עמודות עם אותם מרחבי ערכים( • איןחשיבותלסדר הופעת הטבלאות באופרטור האיחוד
חיסור טבלאות (Minus) • אופרטור החיסור מאפשר להחסיר מטבלה אחת את כל השורותהזהות המופיעות בטבלה השנייה • רק השורות הנותרות מועברות לטבלת התוצאה • הטבלאות חייבות להיות תואמותאיחוד • סדר הופעת הטבלאות באופרטור - חשוב
חיתוך טבלאות (Intersection) • אופרטור החיתוך מאפשר חיתוך בין שתי טבלאות לפי כללי תורת הקבוצות • רקשורות המופיעות בשתי הטבלאות גם יחד יועברו לטבלת התוצאה • איןחשיבותלסדר הופעת הטבלאות באופרטור
מכפלה קרטזית (Product) • אופרטור זה מאפשר לצרף לכל אחת מהשורות של טבלה R1 את כל השורות של טבלה R2 • אם לטבלה R1 ישnשורות ולטבלה R2 ישmשורות כי אז לטבלת התוצאה תהיינהm x nשורות • הטבלאות לא חייבות להיות תואמותאיחוד
חילוק טבלאות (Division) • אופרטור החילוק מוצא בטבלה מסוימת (טבלת המונה) את כל השורות המופיעות גם בטבלתהשנייה(טבלת המכנה) לפי ערך השוואה המופיע בעמודה מסוימת/עמודות מסוימות • שתי הטבלאות לאחיבות להיות תואמותאיחוד • ישחשיבותלסדר
סיכום • כל פעולה בבסיס הנתונים ניתנת לביצוע בעזרת 5 אופרטורים בסיסיים בלבד: • Select • Project • Union • Minus • Product
סיכום • לדוגמא: פעולת האופרטור Joinדומה לשילוב בין האופרטוריםproduct וSelect -