Relacijska algebra je proceduralni poizvedovalni jezik. Zagotavlja korak za korakom postopek za pridobitev rezultata poizvedbe. Za izvajanje poizvedb uporablja operatorje.
Vrste relacijskih operacij
1. Izberite operacijo:
- Operacija select izbere tuple, ki izpolnjujejo dani predikat.
- Označujemo ga s sigmo (σ).
Notation: σ p(r)
Kje:
str se uporablja za napovedovanje izbire
r se uporablja za razmerje
str se uporablja kot propozicionalna logična formula, ki lahko uporablja konektorje, kot sta: IN ALI in NE. Ti relacijski operatorji se lahko uporabljajo kot relacijski operatorji, kot so =, ≠, ≧, , ≦.
Na primer: POSOJILNO razmerje
| BRANCH_NAME | POSOJILO_ŠT | ZNESEK |
|---|---|---|
| Downtown | L-17 | 1000 |
| Redwood | L-23 | 2000 |
| Perryride | L-15 | 1500 |
| Downtown | L-14 | 1500 |
| Mianus | L-13 | 500 |
| Roundhill | L-11 | 900 |
| Perryride | L-16 | 1300 |
Vnos:
σ BRANCH_NAME='perryride' (LOAN)
Izhod:
cm do stopal in palcev
| BRANCH_NAME | POSOJILO_ŠT | ZNESEK |
|---|---|---|
| Perryride | L-15 | 1500 |
| Perryride | L-16 | 1300 |
2. Delovanje projekta:
- Ta operacija prikaže seznam tistih atributov, za katere želimo, da so prikazani v rezultatu. Ostali atributi so izločeni iz tabele.
- Označena je z ∏.
Notation: ∏ A1, A2, An (r)
Kje
A1 , A2 , A3 se uporablja kot ime atributa relacije r .
Primer: ODNOS DO STRANKE
| IME | ULICA | MESTO |
|---|---|---|
| Jones | Glavni | Harrison |
| Smith | sever | rž |
| Hays | Glavni | Harrison |
| Curry | sever | rž |
| Johnson | Duša | Brooklyn |
| Brooks | Senator | Brooklyn |
Vnos:
∏ NAME, CITY (CUSTOMER)
Izhod:
format niza java
| IME | MESTO |
|---|---|
| Jones | Harrison |
| Smith | rž |
| Hays | Harrison |
| Curry | rž |
| Johnson | Brooklyn |
| Brooks | Brooklyn |
3. Sindikalno delovanje:
- Recimo, da obstajata dve torki R in S. Operacija združevanja vsebuje vse tuple, ki so v R ali S ali oboje v R & S.
- Odpravlja podvojene tuple. Označena je z ∪.
Notation: R ∪ S
Operacija združevanja mora izpolnjevati naslednje pogoje:
- R in S morata imeti atribut iste številke.
- Podvojene tuple se samodejno odstranijo.
primer:
VLOGNI RAZMERJE
| IME STRANKE | ŠTEVILKA RAČUNA |
|---|---|
| Johnson | A-101 |
| Smith | A-121 |
| Mayes | A-321 |
| Turner | A-176 |
| Johnson | A-273 |
| Jones | A-472 |
| Lindsay | A-284 |
POSOJILNO RAZMERJE
| IME STRANKE | POSOJILO_ŠT |
|---|---|
| Jones | L-17 |
| Smith | L-23 |
| Hayes | L-15 |
| Jackson | L-14 |
| Curry | L-93 |
| Smith | L-11 |
| Williams | L-17 |
Vnos:
∏ CUSTOMER_NAME (BORROW) ∪ ∏ CUSTOMER_NAME (DEPOSITOR)
Izhod:
npm predpomnilnik čist
| IME STRANKE |
|---|
| Johnson |
| Smith |
| Hayes |
| Turner |
| Jones |
| Lindsay |
| Jackson |
| Curry |
| Williams |
| Mayes |
4. Nastavite križišče:
- Recimo, da obstajata dve torki R in S. Operacija presečišča nabora vsebuje vse tuple, ki so v R & S.
- Označujemo ga s presečiščem ∩.
Notation: R ∩ S
primer: Z uporabo zgornje tabele DEPOSITOR in tabele BORROW
Vnos:
∏ CUSTOMER_NAME (BORROW) ∩ ∏ CUSTOMER_NAME (DEPOSITOR)
Izhod:
| IME STRANKE |
|---|
| Smith |
| Jones |
5. Nastavite razliko:
- Recimo, da obstajata dve torki R in S. Operacija presečišča množice vsebuje vse torke, ki so v R, ne pa v S.
- Označen je s presečiščem minus (-).
Notation: R - S
primer: Z uporabo zgornje tabele DEPOSITOR in tabele BORROW
Vnos:
∏ CUSTOMER_NAME (BORROW) - ∏ CUSTOMER_NAME (DEPOSITOR)
Izhod:
| IME STRANKE |
|---|
| Jackson |
| Hayes |
| Williams |
| Curry |
6. Kartezični produkt
- Kartezični produkt se uporablja za združevanje vsake vrstice v eni tabeli z vsako vrstico v drugi tabeli. Znan je tudi kot navzkrižni produkt.
- Označena je z X.
Notation: E X D
primer:
DELAVEC
| EMP_ID | EMP_NAME | EMP_DEPT |
|---|---|---|
| 1 | Smith | A |
| 2 | Harry | C |
| 3 | Janez | B |
ODDELEK
primer formata json
| DEPT_NO | DEPT_NAME |
|---|---|
| A | Trženje |
| B | Prodaja |
| C | Pravno |
Vnos:
EMPLOYEE X DEPARTMENT
Izhod:
| EMP_ID | EMP_NAME | EMP_DEPT | DEPT_NO | DEPT_NAME |
|---|---|---|---|---|
| 1 | Smith | A | A | Trženje |
| 1 | Smith | A | B | Prodaja |
| 1 | Smith | A | C | Pravno |
| 2 | Harry | C | A | Trženje |
| 2 | Harry | C | B | Prodaja |
| 2 | Harry | C | C | Pravno |
| 3 | Janez | B | A | Trženje |
| 3 | Janez | B | B | Prodaja |
| 3 | Janez | B | C | Pravno |
7. Operacija preimenovanja:
Operacija preimenovanja se uporablja za preimenovanje izhodne relacije. Označuje se z rho (p).
primer: Operator preimenovanja lahko uporabimo za preimenovanje relacije STUDENT v STUDENT1.
ρ(STUDENT1, STUDENT)