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

Post on 01-Jan-2016

38 Views

Category:

Documents

7 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

1

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

Relational Algebra

2

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

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

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

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

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

3

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

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

בחירה

מכפלה קרטזית

איחוד

הפרש

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

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

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

5

Projection הטלה

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

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

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

יכול לקטון

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

6

הטלה )המשך(

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

התוצאה:

)(, Rcoursetidtidcourse

20os

10calculus

20db

tidsidcourse

20202os

10450calculus

20202db

20240db

7

Selection בחירה

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

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

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

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

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

8

בחירה )המשך(

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

הביטוי:

התוצאה:

)(20 Rtid tidsidcourse

20202os

20202db

20240db

tidsidcourse

20202os

10450calculus

20202db

20240db

9

שילוב פעולות

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

התוצאה:

))(( 20 Rtidcourse course

os

db

tidsidcourse

20202os

10450calculus

20202db

20240db

10

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

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

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

בשלילה(

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

attribute1 op constant

C

11

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

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

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

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

,,,,,

)('' Tcohentname

12

הערה

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

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

CBA

13

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

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

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

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

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

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

15

(tid)sidcourse(tid)tnamedept

20202os10cohenmath

10450calculus10cohenmath

20202db 10cohenmath

20240db10cohen math

20202os20levycs

10450calculus20levycs

20202db20levycs

20240db20levycs

TR

16

(tid)sidcourse(tid)tnamedept

20202os10cohenmath

10450calculus10cohenmath

20202db 10cohenmath

20240db10cohen math

20202os20levycs

10450calculus20levycs

20202db20levycs

20240db20levycs

TR

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

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

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

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

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

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

17

Renamingשינוי שם

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

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

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

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

)),24,11(( TRtidtidP TR

18

לחלופין

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

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

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

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

19

tidsidcoursetnamedept

20202oscohenmath

10450calculuscohenmath

20202db cohenmath

20240dbcohen math

20202oslevycs

10450calculuslevycs

20202dblevycs

20240dblevycs

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

20

דוגמה נוספת

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

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

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

21

tidsidcoursetnamedept

10450calculuscohenmath

20202oslevycs

20202dblevycs

20240dblevycs

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

22

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

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

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

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

)(41 TR)('4'1 TR

)(4$1$ TR

)(41$ TR

הערה

23

Unionאיחוד

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

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

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

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

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

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

25

Differenceהפרש

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

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

26

דוגמה

sidsnameyear

240white 3

202jones 3

450adams1

sidsnameyear

240white 3

450adams1

sidsnameyear

701katz 1

202jones 3

820sapir2

GS

G

S

27

Intersection חיתוך

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

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

)( SRRSR

28

דוגמה

sidsnameyear

240white 3

202jones 3

450adams1

sidsnameyear

202jones 3

sidsnameyear

701katz 1

202jones 3

820sapir2

GS

G

S

29

Joinצירוף

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

גם הטלה(

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

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

natural join

30

Condition Join

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

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

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

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

ההגדרה:

ScR

)('

SRc

ScR

BSAR ..

,,,,,

31

הסבר להגדרה

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

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

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

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

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

)('

SRc

ScR

BSAR .. ki

32

Equi-Join

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

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

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

ההגדרה:

ScR

)('

SRc

ScR

BSAR ..

33

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

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

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

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

השם(

ההגדרה:

ScR

))('

( SRcL

ScR

ASAR ..

34

הסבר להגדרה

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

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

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

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

))('

( SRcL

ScR

35

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

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

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

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

SL

R

ASAR ..

36

Natural Join צירוף טבעי

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

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

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

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

SR

top related