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)