logo

אלגברה יחסית

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

סוגי פעולה יחסיים


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

1. בחר פעולה:

  • פעולת הבחירה בוחרת tuples העונים על פרדיקט נתון.
  • זה מסומן על ידי סיגמה (σ).
 Notation: σ p(r) 

איפה:

ע משמש לחיזוי בחירה
ר משמש ליחס
ע משמש כנוסחת לוגיקה פרופוזיציונית אשר עשויה להשתמש במחברים כמו: AND OR ו- NOT. יחסים אלה יכולים להשתמש בתור אופרטורים יחסיים כמו =, ≠, ≧, , ≦.

לדוגמא: יחס הלוואה

שם הסניף LOAN_NO כמות
מרכז העיר L-17 1000
סקויה L-23 2000
פרירייד L-15 1500
מרכז העיר L-14 1500
מיאנוס L-13 500
ראונדהיל L-11 900
פרירייד L-16 1300

קֶלֶט:

 σ BRANCH_NAME='perryride' (LOAN) 

תְפוּקָה:

fmoviez
שם הסניף LOAN_NO כמות
פרירייד L-15 1500
פרירייד L-16 1300

2. תפעול הפרויקט:

  • פעולה זו מציגה את רשימת התכונות שאנו רוצים שיופיעו בתוצאה. שאר התכונות נמחקות מהטבלה.
  • זה מסומן על ידי ∏.
 Notation: ∏ A1, A2, An (r) 

איפה

A1 , A2 , A3 משמש כשם תכונה של יחס ר .

מיון מהיר

דוגמה: קשר לקוחות

שֵׁם רְחוֹב עִיר
ג'ונס רָאשִׁי הריסון
נַפָּח צָפוֹן שיפון
הייס רָאשִׁי הריסון
קָארִי צָפוֹן שיפון
ג'ונסון נֶפֶשׁ ברוקלין
ברוקס סֵנָטוֹר ברוקלין

קֶלֶט:

 ∏ NAME, CITY (CUSTOMER) 

תְפוּקָה:

שֵׁם עִיר
ג'ונס הריסון
נַפָּח שיפון
הייס הריסון
קָארִי שיפון
ג'ונסון ברוקלין
ברוקס ברוקלין

3. תפעול האיגוד:

  • נניח שיש שני tuples R ו-S. פעולת האיחוד מכילה את כל tuples שנמצאים או ב-R או S או שניהם ב-R & S.
  • זה מבטל את הכפילים הכפולים. זה מסומן על ידי ∪.
 Notation: R ∪ S 

פעולת איגוד חייבת לקיים את התנאי הבא:

  • R ו-S חייבות להיות עם התכונה של אותו מספר.
  • כפולות כפולות נמחקות אוטומטית.

דוגמא:

יחסי מפקידים

שם לקוח מספר חשבון
ג'ונסון A-101
נַפָּח A-121
מייס A-321
חָרָט A-176
ג'ונסון A-273
ג'ונס A-472
לינדזי A-284

יחס הלוואה

שם לקוח LOAN_NO
ג'ונס L-17
נַפָּח L-23
הייז L-15
ג'קסון L-14
קָארִי L-93
נַפָּח L-11
וויליאמס L-17

קֶלֶט:

 ∏ CUSTOMER_NAME (BORROW) ∪ ∏ CUSTOMER_NAME (DEPOSITOR) 

תְפוּקָה:

שם לקוח
ג'ונסון
נַפָּח
הייז
חָרָט
ג'ונס
לינדזי
ג'קסון
קָארִי
וויליאמס
מייס

4. הגדר צומת:

  • נניח שיש שני tuples R ו-S. פעולת ה-set intersection מכילה את כל tuples שנמצאים ב-R & S.
  • הוא מסומן בצומת ∩.
 Notation: R ∩ S 

דוגמא: שימוש בטבלת המפקידים לעיל ובטבלת ההשאלה

arraylist Java sort

קֶלֶט:

 ∏ CUSTOMER_NAME (BORROW) ∩ ∏ CUSTOMER_NAME (DEPOSITOR) 

תְפוּקָה:

שם לקוח
נַפָּח
ג'ונס

5. הגדר הבדל:

  • נניח שיש שני tuples R ו-S. פעולת הצומת הקבוצתית מכילה את כל הטפולים שנמצאים ב-R אך לא ב-S.
  • זה מסומן בצומת מינוס (-).
 Notation: R - S 

דוגמא: שימוש בטבלת המפקידים לעיל ובטבלת ההשאלה

קֶלֶט:

 ∏ CUSTOMER_NAME (BORROW) - ∏ CUSTOMER_NAME (DEPOSITOR) 

תְפוּקָה:

שם לקוח
ג'קסון
הייז
וויליאמס
קָארִי

6. מוצר קרטזיאני

  • המוצר הקרטזיאני משמש לשילוב כל שורה בטבלה אחת עם כל שורה בטבלה השנייה. זה ידוע גם בתור מוצר צולב.
  • זה מסומן על ידי X.
 Notation: E X D 

דוגמא:

עוֹבֵד

EMP_ID EMP_NAME EMP_DEPT
1 נַפָּח א
2 לְהָצִיק ג
3 ג'ון ב

מַחלָקָה

DEPT_NO DEPT_NAME
א שיווק
ב מכירות
ג משפטי

קֶלֶט:

 EMPLOYEE X DEPARTMENT 

תְפוּקָה:

EMP_ID EMP_NAME EMP_DEPT DEPT_NO DEPT_NAME
1 נַפָּח א א שיווק
1 נַפָּח א ב מכירות
1 נַפָּח א ג משפטי
2 לְהָצִיק ג א שיווק
2 לְהָצִיק ג ב מכירות
2 לְהָצִיק ג ג משפטי
3 ג'ון ב א שיווק
3 ג'ון ב ב מכירות
3 ג'ון ב ג משפטי

7. שינוי שם הפעולה:

פעולת שינוי השם משמשת לשינוי שם יחס הפלט. זה מסומן על ידי rho (פ).

דוגמא: אנו יכולים להשתמש באופרטור שינוי שם כדי לשנות את שם הקשר STUDENT ל-STUDENT1.

אחרת אם ג'אווה
 ρ(STUDENT1, STUDENT) 

הערה: מלבד הפעולות הנפוצות הללו ניתן להשתמש באלגברה יחסית בפעולות Join.