L'àlgebra relacional és un llenguatge de consulta procedimental. Proporciona un procés pas a pas per obtenir el resultat de la consulta. Utilitza operadors per realitzar consultes.
Tipus d'operació relacional
1. Seleccioneu Operació:
- L'operació de selecció selecciona tuples que satisfan un determinat predicat.
- Es denota amb sigma (σ).
Notation: σ p(r)
On:
pàg s'utilitza per a la predicció de selecció
r s'utilitza per a la relació
pàg s'utilitza com una fórmula lògica proposicional que pot utilitzar connectors com: AND OR i NOT. Aquests relacionals es poden utilitzar com a operadors relacionals com =, ≠, ≧, , ≦.
Per exemple: Relació LOAN
| BRANCH_NAME | LOAN_NO | IMPORT |
|---|---|---|
| Centre de la ciutat | L-17 | 1000 |
| Sequoia | L-23 | 2000 |
| Perryride | L-15 | 1500 |
| Centre de la ciutat | L-14 | 1500 |
| Mianus | L-13 | 500 |
| Rodona | L-11 | 900 |
| Perryride | L-16 | 1300 |
Entrada:
σ BRANCH_NAME='perryride' (LOAN)
Sortida:
fmoviez
| BRANCH_NAME | LOAN_NO | IMPORT |
|---|---|---|
| Perryride | L-15 | 1500 |
| Perryride | L-16 | 1300 |
2. Funcionament del projecte:
- Aquesta operació mostra la llista d'aquells atributs que volem que apareguin al resultat. La resta d'atributs s'eliminen de la taula.
- Es denota amb ∏.
Notation: ∏ A1, A2, An (r)
On
A1 , A2 , A3 s'utilitza com a nom d'atribut de la relació r .
Exemple: RELACIÓ CLIENT
| NOM | CARRER | CIUTAT |
|---|---|---|
| Jones | Principal | Harrison |
| Smith | nord | Sègol |
| Hays | Principal | Harrison |
| Curry | nord | Sègol |
| Johnson | Ànima | Brooklyn |
| Brooks | Senador | Brooklyn |
Entrada:
∏ NAME, CITY (CUSTOMER)
Sortida:
| NOM | CIUTAT |
|---|---|
| Jones | Harrison |
| Smith | Sègol |
| Hays | Harrison |
| Curry | Sègol |
| Johnson | Brooklyn |
| Brooks | Brooklyn |
3. Funcionament sindical:
- Suposem que hi ha dues tuples R i S. L'operació d'unió conté totes les tuples que estan en R o S o ambdues en R i S.
- Elimina les tuples duplicades. Es denota amb ∪.
Notation: R ∪ S
Una operació sindical ha de complir la condició següent:
- R i S han de tenir l'atribut del mateix nombre.
- Les tuples duplicades s'eliminen automàticament.
Exemple:
RELACIÓ DEPOSITANT
| NOM DEL CLIENT | NÚM DE COMPTE |
|---|---|
| Johnson | A-101 |
| Smith | A-121 |
| Mayes | A-321 |
| Turner | A-176 |
| Johnson | A-273 |
| Jones | A-472 |
| Lindsay | A-284 |
RELACIÓ DE PRESTATS
tutorial de java
| NOM DEL CLIENT | LOAN_NO |
|---|---|
| Jones | L-17 |
| Smith | L-23 |
| Hayes | L-15 |
| Jackson | L-14 |
| Curry | L-93 |
| Smith | L-11 |
| Williams | L-17 |
Entrada:
comanda arp-a
∏ CUSTOMER_NAME (BORROW) ∪ ∏ CUSTOMER_NAME (DEPOSITOR)
Sortida:
| NOM DEL CLIENT |
|---|
| Johnson |
| Smith |
| Hayes |
| Turner |
| Jones |
| Lindsay |
| Jackson |
| Curry |
| Williams |
| Mayes |
4. Establir intersecció:
- Suposem que hi ha dues tuples R i S. L'operació d'intersecció de conjunt conté totes les tuples que es troben a R i S.
- Es denota per intersecció ∩.
Notation: R ∩ S
Exemple: Utilitzant la taula DEPOSITOR i la taula PRÉSETA anteriors
Entrada:
∏ CUSTOMER_NAME (BORROW) ∩ ∏ CUSTOMER_NAME (DEPOSITOR)
Sortida:
| NOM DEL CLIENT |
|---|
| Smith |
| Jones |
5. Establiu la diferència:
- Suposem que hi ha dues tuples R i S. L'operació d'intersecció de conjunt conté totes les tuples que estan a R però no a S.
- Es denota per intersecció menys (-).
Notation: R - S
Exemple: Utilitzant la taula DEPOSITOR i la taula PRÉSETA anteriors
Entrada:
∏ CUSTOMER_NAME (BORROW) - ∏ CUSTOMER_NAME (DEPOSITOR)
Sortida:
| NOM DEL CLIENT |
|---|
| Jackson |
| Hayes |
| Williams |
| Curry |
6. Producte cartesià
- El producte cartesià s'utilitza per combinar cada fila d'una taula amb cada fila de l'altra taula. També es coneix com a producte creuat.
- Es denota amb X.
Notation: E X D
Exemple:
EMPLEAT
| EMP_ID | EMP_NAME | EMP_DEPT |
|---|---|---|
| 1 | Smith | A |
| 2 | Harry | C |
| 3 | Joan | B |
DEPARTAMENT
| DEPT_NO | DEPT_NAME |
|---|---|
| A | Màrqueting |
| B | Vendes |
| C | Legal |
Entrada:
EMPLOYEE X DEPARTMENT
Sortida:
| EMP_ID | EMP_NAME | EMP_DEPT | DEPT_NO | DEPT_NAME |
|---|---|---|---|---|
| 1 | Smith | A | A | Màrqueting |
| 1 | Smith | A | B | Vendes |
| 1 | Smith | A | C | Legal |
| 2 | Harry | C | A | Màrqueting |
| 2 | Harry | C | B | Vendes |
| 2 | Harry | C | C | Legal |
| 3 | Joan | B | A | Màrqueting |
| 3 | Joan | B | B | Vendes |
| 3 | Joan | B | C | Legal |
7. Canvia el nom de l'operació:
L'operació de canvi de nom s'utilitza per canviar el nom de la relació de sortida. Es denota per rho (p).
inserció ordena java
Exemple: Podem utilitzar l'operador de renom per canviar el nom de la relació STUDENT a STUDENT1.
ρ(STUDENT1, STUDENT)