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)