Algebra relațională este un limbaj procedural de interogare. Oferă un proces pas cu pas pentru a obține rezultatul interogării. Utilizează operatori pentru a efectua interogări.
Tipuri de operații relaționale
1. Selectați Operație:
- Operația select selectează tupluri care satisfac un anumit predicat.
- Este notat cu sigma (σ).
Notation: σ p(r)
Unde:
p este folosit pentru predicția de selecție
r este folosit pentru relație
p este folosit ca o formulă logică propozițională care poate folosi conectori precum: AND OR și NOT. Acești relaționali pot folosi ca operatori relaționali precum =, ≠, ≧, , ≦.
De exemplu: Relația de împrumut
| BRANCH_NAME | LOAN_NR | CANTITATE |
|---|---|---|
| Centrul orasului | L-17 | 1000 |
| Lemn rosu | L-23 | 2000 |
| Perryride | L-15 | 1500 |
| Centrul orasului | L-14 | 1500 |
| Mianus | L-13 | 500 |
| Roundhill | L-11 | 900 |
| Perryride | L-16 | 1300 |
Intrare:
σ BRANCH_NAME='perryride' (LOAN)
Ieșire:
plutește la sfoară
| BRANCH_NAME | LOAN_NR | CANTITATE |
|---|---|---|
| Perryride | L-15 | 1500 |
| Perryride | L-16 | 1300 |
2. Funcționarea proiectului:
- Această operație arată lista acelor atribute pe care dorim să apară în rezultat. Restul atributelor sunt eliminate din tabel.
- Se notează cu ∏.
Notation: ∏ A1, A2, An (r)
Unde
A1 , A2 , A3 este folosit ca nume de atribut al relației r .
Exemplu: RELAȚIA CU CLIENȚII
| NUME | STRADĂ | ORAȘ |
|---|---|---|
| Jones | Principal | Harrison |
| Smith | Nord | secară |
| Hays | Principal | Harrison |
| Curry | Nord | secară |
| Johnson | Suflet | Brooklyn |
| Brooks | Senator | Brooklyn |
Intrare:
∏ NAME, CITY (CUSTOMER)
Ieșire:
| NUME | ORAȘ |
|---|---|
| Jones | Harrison |
| Smith | secară |
| Hays | Harrison |
| Curry | secară |
| Johnson | Brooklyn |
| Brooks | Brooklyn |
3. Operațiunea Uniunii:
- Să presupunem că există două tupluri R și S. Operația de unire conține toate tuplurile care sunt fie în R sau S sau ambele în R & S.
- Elimină tuplurile duplicate. Se notează cu ∪.
Notation: R ∪ S
O operațiune sindicală trebuie să îndeplinească următoarea condiție:
- R și S trebuie să aibă atributul aceluiași număr.
- Tuplurile duplicate sunt eliminate automat.
Exemplu:
RELAȚIA DEPOZITORULUI
java sort arraylist
| NUMELE CLIENTULUI | CONT_NU |
|---|---|
| Johnson | A-101 |
| Smith | A-121 |
| Mayes | A-321 |
| Strungar | A-176 |
| Johnson | A-273 |
| Jones | A-472 |
| Lindsay | A-284 |
RELAȚIA DE ÎMPRUMUT
| NUMELE CLIENTULUI | LOAN_NR |
|---|---|
| Jones | L-17 |
| Smith | L-23 |
| Hayes | L-15 |
| Jackson | L-14 |
| Curry | L-93 |
| Smith | L-11 |
| Williams | L-17 |
Intrare:
∏ CUSTOMER_NAME (BORROW) ∪ ∏ CUSTOMER_NAME (DEPOSITOR)
Ieșire:
| NUMELE CLIENTULUI |
|---|
| Johnson |
| Smith |
| Hayes |
| Strungar |
| Jones |
| Lindsay |
| Jackson |
| Curry |
| Williams |
| Mayes |
4. Setați intersecția:
- Să presupunem că există două tupluri R și S. Operația de intersecție a seturilor conține toate tuplurile care sunt în ambele R și S.
- Se notează prin intersecția ∩.
Notation: R ∩ S
Exemplu: Folosind tabelul DEPOZITOR de mai sus și tabelul de împrumut
Intrare:
∏ CUSTOMER_NAME (BORROW) ∩ ∏ CUSTOMER_NAME (DEPOSITOR)
Ieșire:
| NUMELE CLIENTULUI |
|---|
| Smith |
| Jones |
5. Setați diferența:
- Să presupunem că există două tupluri R și S. Operația de intersecție a seturilor conține toate tuplurile care sunt în R, dar nu în S.
- Se notează prin intersecție minus (-).
Notation: R - S
Exemplu: Folosind tabelul DEPOZITOR de mai sus și tabelul de împrumut
numerele alfabetului
Intrare:
∏ CUSTOMER_NAME (BORROW) - ∏ CUSTOMER_NAME (DEPOSITOR)
Ieșire:
| NUMELE CLIENTULUI |
|---|
| Jackson |
| Hayes |
| Williams |
| Curry |
6. Produsul cartezian
- Produsul cartezian este utilizat pentru a combina fiecare rând dintr-un tabel cu fiecare rând din celălalt tabel. Este cunoscut și ca produs încrucișat.
- Este notat cu X.
Notation: E X D
Exemplu:
ANGAJAT
| EMP_ID | EMP_NAME | EMP_DEPT |
|---|---|---|
| 1 | Smith | A |
| 2 | Harry | C |
| 3 | Ioan | B |
DEPARTAMENT
| DEPT_NR | DEPT_NAME |
|---|---|
| A | Marketing |
| B | Vânzări |
| C | Legal |
Intrare:
EMPLOYEE X DEPARTMENT
Ieșire:
coada java
| EMP_ID | EMP_NAME | EMP_DEPT | DEPT_NR | DEPT_NAME |
|---|---|---|---|---|
| 1 | Smith | A | A | Marketing |
| 1 | Smith | A | B | Vânzări |
| 1 | Smith | A | C | Legal |
| 2 | Harry | C | A | Marketing |
| 2 | Harry | C | B | Vânzări |
| 2 | Harry | C | C | Legal |
| 3 | Ioan | B | A | Marketing |
| 3 | Ioan | B | B | Vânzări |
| 3 | Ioan | B | C | Legal |
7. Redenumiți operația:
Operația de redenumire este utilizată pentru a redenumi relația de ieșire. Este notat cu rho (p).
Exemplu: Putem folosi operatorul de redenumire pentru a redenumi relația STUDENT cu STUDENT1.
ρ(STUDENT1, STUDENT)