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

36
1 םםםםםם םםםםםםRelational Algebra

Upload: declan-harding

Post on 01-Jan-2016

38 views

Category:

Documents


7 download

DESCRIPTION

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

TRANSCRIPT

Page 1: אלגברת היחסים

1

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

Relational Algebra

Page 2: אלגברת היחסים

2

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

אלגברת היחסים הנה אוסף של פעולות על יחסים

התוצאה של כל פעולה הנה יחסלפיכך אפשר להפעיל פעולות של אלגברת

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

ההגדרה של אלגברת היחסים משמשת בסיס פורמלי להגדרתן של שפות שאילתה אחרות

Page 3: אלגברת היחסים

3

הפעולות של אלגברת היחסים

לאלגברת היחסים הפעולות הבאותהטלה

בחירה

מכפלה קרטזית

איחוד

הפרש

בפעולה של "שינוי שם" ניתן גם להשתמש

פעולות נוספות ניתנות להגדרה בעזרת הפעולות הבסיסיות

Page 4: אלגברת היחסים

4

יחסים לדוגמה

S R

T

tidsidcourse

20202os

10450calculus

20202db

20240dbtidtnamedept

10cohenmath

20levycs

sidsnameyear

240white 3

202jones 3

450adams1

S – Students T – Teachers R – Students, their courses,

and their teachers

Page 5: אלגברת היחסים

5

Projection הטלה

פעולת ההטלה הנה אונרית )פועלת על יחס אחד(פעולת ההטלה מוחקת חלק מהעמודות

רשומות שונות יכולות להיעשות שוות כתוצאה ממחיקת העמודות

מכיוון שיחס הוא קבוצה של רשומות, בתוצאה נשאר רק עותק אחד מכל רשומה, ולפיכך מספר הרשומות

יכול לקטון

ומוסיפים לו אופרטור ההטלה מסומן ע"י כאינדקס את רשימת העמודות בתוצאה

Page 6: אלגברת היחסים

6

הטלה )המשך(

tid על העמודות Rכדי לבצע הטלה של יחס רושמים את הביטוי: courseו-

התוצאה:

)(, Rcoursetidtidcourse

20os

10calculus

20db

tidsidcourse

20202os

10450calculus

20202db

20240db

Page 7: אלגברת היחסים

7

Selection בחירה

פעולת הבחירה הנה אונרית )פועלת על יחס אחד(

פעולת הבחירה בוחרת חלק מן הרשומות

בתוצאה יש בדרך כלל )אבל לא תמיד( פחות רשומות מאשר ביחס המקורי

כל רשומה בתוצאה זהה לאחת הרשומות מהיחס המקורי

ומוסיפים לו אופרטור הבחירה מסומן ע"י כאינדקס את התנאי לפיו מתבצעת הבחירה

Page 8: אלגברת היחסים

8

בחירה )המשך(

את הרשומות של Rכדי לבחור מהיחס , רושמים את 20 שלו הוא idהמורה שה-

הביטוי:

התוצאה:

)(20 Rtid tidsidcourse

20202os

20202db

20240db

tidsidcourse

20202os

10450calculus

20202db

20240db

Page 9: אלגברת היחסים

9

שילוב פעולות

הביטוי הבא מחשב את רשימת הקורסים 20 שלו הוא idשמלמד המורה שה-

התוצאה:

))(( 20 Rtidcourse course

os

db

tidsidcourse

20202os

10450calculus

20202db

20240db

Page 10: אלגברת היחסים

10

התנאי של פעולת הבחירה

הצורה הכללית של פעולת הבחירה הנה הנו התנאיC, כאשר

התנאי מורכב מהשוואות שמקושרות ע"י פעולות לוגיות של ו- )אין צורך

בשלילה(

השוואה היא מהצורהattribute1 op attribute2 או

attribute1 op constant

C

Page 11: אלגברת היחסים

11

פעולות ההשוואה

( הןopפעולות ההשוואה )

שלילה אפשר לבטא ע"י היפוך ההשוואה

(, אזי char stringאם הקבוע מורכב מאותיות )רושמים אותו בין צמד גרשיים, לדוגמה

,,,,,

)('' Tcohentname

Page 12: אלגברת היחסים

12

הערה

באלגברה הטהורה אין פעולות אריתמטיות , אבל substringאו פעולות אחרות, כגון

בשפות שאילתה מעשיות יש פעולות כאלה ולכן אפשר לכתוב תנאים מהצורה

CBA

Page 13: אלגברת היחסים

13

Cross Productמכפלה קרטזית

מכפלה קרטזית היא פעולה בינארית, שמסומנת ע"י , והיא מחברת כל רשומה

של יחס אחד עם כל רשומה של היחס השני

מספר העמודות בתוצאה שווה לסכום מספרי העמודות ביחסים המקוריים

מספר הרשומות בתוצאה שווה למכפלת מספרי הרשומות ביחסים המקוריים

Page 14: אלגברת היחסים

14

יחסים לדוגמה )שנית(

S R

T

tidsidcourse

20202os

10450calculus

20202db cross

20240dbtidtnamedept

10cohenmath

20levycs

sidsnameyear

240white 3

202jones 3

450adams1

S – Students T – Teachers R – Students, their courses,

and their teachers

Page 15: אלגברת היחסים

15

(tid)sidcourse(tid)tnamedept

20202os10cohenmath

10450calculus10cohenmath

20202db 10cohenmath

20240db10cohen math

20202os20levycs

10450calculus20levycs

20202db20levycs

20240db20levycs

TR

Page 16: אלגברת היחסים

16

(tid)sidcourse(tid)tnamedept

20202os10cohenmath

10450calculus10cohenmath

20202db 10cohenmath

20240db10cohen math

20202os20levycs

10450calculus20levycs

20202db20levycs

20240db20levycs

TR

סכמת התוצאה היא איחוד הסכמות של היחסים המקוריים.

מכיוון שלשתי הסכמות המקוריות יכולים להיות אטריביוטים משותפים, חייבים לשנות את שמות

האטריביוטים האלה.

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

לחלופין, אפשר להתייחס למיקום העמודות, ואם עושים כך, חשוב לשמור על הסדר המקורי של העמודות ולזכור

.Tוהימניות של Rשבתוצאה העמודות השמאליות הן של

Page 17: אלגברת היחסים

17

Renamingשינוי שם

הפעולה מסומנת ע"י לדוגמה, נרשום את הביטוי

ביטוי זה יוצר את המכפלה הקרטזית : ונותן לתוצאה את הסכמה

P)tid1,sid,course,tid2,tname,dept( ובסוגריים Pשם הסכמה של התוצאה הוא

מצוינים שמות האטריביוטים

)),24,11(( TRtidtidP TR

Page 18: אלגברת היחסים

18

לחלופין

אפשר למחוק את אחת משתי העמודות בעלות אותו השם ע"י הפעולה הבאה

בפעולת ההטלה )הרשומה לעיל( מתייחסים למיקום העמודות ולא לשמותיהן

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

)(6,5,3,2,1 TR

Page 19: אלגברת היחסים

19

tidsidcoursetnamedept

20202oscohenmath

10450calculuscohenmath

20202db cohenmath

20240dbcohen math

20202oslevycs

10450calculuslevycs

20202dblevycs

20240dblevycs

)(6,5,3,2,1 TR

Page 20: אלגברת היחסים

20

דוגמה נוספת

למעשה, סביר שהשאילתה שבה באמת מעוניינים היא

גם התוצאה במקרה הזה הנה סכמה מוגדרת היטב

))(( 416,5,3,2,1 TR

Page 21: אלגברת היחסים

21

tidsidcoursetnamedept

10450calculuscohenmath

20202oslevycs

20202dblevycs

20240dblevycs

))(( 416,5,3,2,1 TR

Page 22: אלגברת היחסים

22

אם בפעולת הבחירה משתמשים במספרי עמודות, אז צריך לסמן קבועים ע"י גרשיים

:4 ו- 1השוואת עמודות

לקבוע:1השוואת עמודה

לחלופין, לפעמים נהוג לסמן עמודות ע"י וכד', לדוגמה:4$, 1$

)(41 TR)('4'1 TR

)(4$1$ TR

)(41$ TR

הערה

Page 23: אלגברת היחסים

23

Unionאיחוד

יחסים הנם קבוצות וניתן לאחד אותם, בתנאי שהם תואמים, כלומר

לשני היחסים אותו מספר עמודות ואותם שמות לעמודות, ובנוסף

)תנאי typeעמודות בעלות אותו שם הנן בעלות אותו לכל עמודה(typeזה משמעותי אם הוגדר

אם לא מתייחסים לשמות של העמודות )או שאין שמות(, אז התנאים הנם:

לשני היחסים אותו מספר עמודות, ובנוסףtypeעמודות בעלות אותו מיקום הנן בעלות אותו

Page 24: אלגברת היחסים

24

דוגמה

sidsnameyear

240white 3

202jones 3

450adams1

sidsnameyear

240white 3

202jones 3

701katz 1

820sapir2

450adams1

sidsnameyear

701katz 1

202jones 3

820sapir2

GS

G

S

Page 25: אלגברת היחסים

25

Differenceהפרש

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

שהוגדר במקרה של פעולת האיחוד

Page 26: אלגברת היחסים

26

דוגמה

sidsnameyear

240white 3

202jones 3

450adams1

sidsnameyear

240white 3

450adams1

sidsnameyear

701katz 1

202jones 3

820sapir2

GS

G

S

Page 27: אלגברת היחסים

27

Intersection חיתוך

באופן דומה ניתן להגדיר חיתוך של יחסים

אבל למעשה פעולת החיתוך ניתנת לביטוי בעזרת פעולות אחרות

)( SRRSR

Page 28: אלגברת היחסים

28

דוגמה

sidsnameyear

240white 3

202jones 3

450adams1

sidsnameyear

202jones 3

sidsnameyear

701katz 1

202jones 3

820sapir2

GS

G

S

Page 29: אלגברת היחסים

29

Joinצירוף

פעולת הצירוף היא למעשה שילוב של מכפלה קרטזית ובחירה )ובמקרים מסוימים

גם הטלה(

שלושה סוגיםcondition join או theta join)הכללי ביותר(

equi-join)שתי גרסאות(

natural join

Page 30: אלגברת היחסים

30

Condition Join

צירוף מותנה הנו פעולה מהצורה הבאה

C ) , ( הנו ביטוי המורכב מפעולות לוגיותומהשוואות מהצורה:

Aכלומר כל השוואה היא בין אטריביוט כלשהו S של B לבין אטריביוט כלשהו Rשל

מסמן את אחד מששת האופרטורים של ההשוואה, קרי

ההגדרה:

ScR

)('

SRc

ScR

BSAR ..

,,,,,

Page 31: אלגברת היחסים

31

הסבר להגדרה

ההגדרה: בעוד ,Cמדוע התנאי המקורי )בצירוף( הוא

שבהגדרת הצירוף )באגף ימין של השיוויון(?’Cהתנאי הוא

מופיעה ההשוואה Cאם ב- צריכה להופיע ההשוואה ’Cאז ב-

i הוא המיקום של העמודהA -ב Rk=j+n , כאשרj הוא המיקום של העמודהB -ב S

Rהוא מספר העמודות ב- nו-

)('

SRc

ScR

BSAR .. ki

Page 32: אלגברת היחסים

32

Equi-Join

צירוף שיוויון הנו פעולה מהצורה הבאה

הנו גימום )קוניונקציה( של השוואות Cכאשר מהצורה:

כלומר, כל השוואה היא שוויון בין אטריביוט S של B לבין אטריביוט כלשהו Rשל Aכלשהו

ההגדרה:

ScR

)('

SRc

ScR

BSAR ..

Page 33: אלגברת היחסים

33

Equi-Join ההגדרה בספר של

צירוף שוויון הנו פעולה מהצורה הבאה

הוא גימום )קוניונקציה( של השוואות Cכאשר מהצורה:

R.A מציין אטריביוט A של R -ו ,S.A מציין )לשני האטריביוטים אותו S של Aאטריביוט

השם(

ההגדרה:

ScR

))('

( SRcL

ScR

ASAR ..

Page 34: אלגברת היחסים

34

הסבר להגדרה

ההגדרה:הוא כמו בהסבר ’Cלבין Cהקשר בין

הקודםL כוללת רק עותק אחד )קרי, עמודה

אחת( מכל זוג אטריביוטים שמושווים כוללת את כל Lבנוסף, ; Cב-

האטריביוטים האחרים )קרי, אלה שלא של הצירוף( Cמופיעים בתנאי

))('

( SRcL

ScR

Page 35: אלגברת היחסים

35

דרך נוספת לסימון )לפי הספר(

צירוף שוויון אפשר גם לרשום בצורה הבאה:

L הוא רשימת האטריביוטים שמופיעים מופיע Aכלומר, אם אטריביוט ; Cבתנאי

של הצירוף כולל C אז התנאי ,Lברשימה את ההשוואה

SL

R

ASAR ..

Page 36: אלגברת היחסים

36

Natural Join צירוף טבעי

מופיעים כל האטריביוטים Lאם ברשימה , אז הפעולה נקראת S ול- Rהמשותפים ל-

natural join ורושמים אותה ללא שום ,אינדקס:

כלומר, בצירוף טבעי משווים את כל זוגות Sול- Rהאטריביוטים המשותפים ל-

ומשאירים רק עותק אחד מכל זוג עמודות שהושוו

SR