אלגברה יחסי היא שפת שאילתה פרוצדורלית. זה נותן תהליך שלב אחר שלב להשגת התוצאה של השאילתה. הוא משתמש באופרטורים כדי לבצע שאילתות.
סוגי פעולה יחסיים
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)