Reliacinė algebra yra procedūrinė užklausų kalba. Jame pateikiamas žingsnis po žingsnio procesas, skirtas gauti užklausos rezultatą. Užklausoms atlikti naudojami operatoriai.
Reliacinių operacijų tipai
1. Pasirinkite Operacija:
- Atrankos operacija parenka eilutes, kurios atitinka nurodytą predikatą.
- Jis žymimas sigma (σ).
Notation: σ p(r)
Kur:
p naudojamas atrankos prognozavimui
r naudojamas santykiams
p naudojama kaip teiginio logikos formulė, kuri gali naudoti tokias jungtis kaip: AND OR ir NOT. Šie reliaciniai operatoriai gali būti naudojami kaip reliaciniai operatoriai, pvz., =, ≠, ≧, , ≦.
Pavyzdžiui: PASKOLOS santykis
| BRANCH_NAME | PASKOLOS_NE | SUMA |
|---|---|---|
| Miesto centras | L-17 | 1000 |
| Raudonmedis | L-23 | 2000 m |
| Perryridas | L-15 | 1500 |
| Miesto centras | L-14 | 1500 |
| Mianus | L-13 | 500 |
| Roundhill | L-11 | 900 |
| Perryridas | L-16 | 1300 |
Įvestis:
σ BRANCH_NAME='perryride' (LOAN)
Išvestis:
sql skaičius skiriasi
| BRANCH_NAME | PASKOLOS_NE | SUMA |
|---|---|---|
| Perryridas | L-15 | 1500 |
| Perryridas | L-16 | 1300 |
2. Projekto veikimas:
- Ši operacija rodo tų atributų, kuriuos norime matyti rezultate, sąrašą. Likę atributai pašalinami iš lentelės.
- Jis žymimas ∏.
Notation: ∏ A1, A2, An (r)
Kur
A1 , A2 , A3 naudojamas kaip santykio atributo pavadinimas r .
Pavyzdys: RYŠIAI SU KLIENTAMIS
| VARDAS | GATVĖ | MIESTAS |
|---|---|---|
| Jonesas | Pagrindinis | Harisonas |
| Kalvis | Šiaurė | Rugiai |
| Šienas | Pagrindinis | Harisonas |
| Karis | Šiaurė | Rugiai |
| Johnsonas | Siela | Bruklinas |
| Brooksas | Senatorius | Bruklinas |
Įvestis:
java interviu klausimai
∏ NAME, CITY (CUSTOMER)
Išvestis:
| VARDAS | MIESTAS |
|---|---|
| Jonesas | Harisonas |
| Kalvis | Rugiai |
| Šienas | Harisonas |
| Karis | Rugiai |
| Johnsonas | Bruklinas |
| Brooksas | Bruklinas |
3. Sąjungos operacija:
- Tarkime, kad yra dvi eilės R ir S. Sujungimo operacijoje yra visos eilės, esančios R arba S arba abiejose R&S.
- Tai pašalina pasikartojančias eilutes. Jis žymimas ∪.
Notation: R ∪ S
Profesinės sąjungos operacija turi atitikti šias sąlygas:
- R ir S turi turėti to paties skaičiaus atributą.
- Pasikartojančios eilutės pašalinamos automatiškai.
Pavyzdys:
SANTYKIAI IŠDĖLĖJO
| KLIENTO VARDAS | SĄSKAITOS NUMERIS |
|---|---|
| Johnsonas | A-101 |
| Kalvis | A-121 |
| Mayes | A-321 |
| Turneris | A-176 |
| Johnsonas | A-273 |
| Jonesas | A-472 |
| Lindsė | A-284 |
SKOLINIMOSI SANTYKIAI
| KLIENTO VARDAS | PASKOLOS_NE |
|---|---|
| Jonesas | L-17 |
| Kalvis | L-23 |
| Hayes | L-15 |
| Džeksonas | L-14 |
| Karis | L-93 |
| Kalvis | L-11 |
| Williamsas | L-17 |
Įvestis:
∏ CUSTOMER_NAME (BORROW) ∪ ∏ CUSTOMER_NAME (DEPOSITOR)
Išvestis:
| KLIENTO VARDAS |
|---|
| Johnsonas |
| Kalvis |
| Hayes |
| Turneris |
| Jonesas |
| Lindsė |
| Džeksonas |
| Karis |
| Williamsas |
| Mayes |
4. Nustatyti sankryžą:
- Tarkime, kad yra dvi eilės R ir S. Nustatyti sankirtos operaciją sudaro visos eilės, esančios ir R ir S.
- Jis žymimas sankirta ∩.
Notation: R ∩ S
Pavyzdys: Naudojant aukščiau pateiktą DEPOSITORIAUS ir SKOLINIMO lentelę
Įvestis:
∏ CUSTOMER_NAME (BORROW) ∩ ∏ CUSTOMER_NAME (DEPOSITOR)
Išvestis:
| KLIENTO VARDAS |
|---|
| Kalvis |
| Jonesas |
5. Nustatykite skirtumą:
- Tarkime, kad yra dvi eilės R ir S. Aibės sankirtos operacijoje yra visos eilės, esančios R, bet ne S.
- Jis žymimas sankirtos minusu (-).
Notation: R - S
Pavyzdys: Naudojant aukščiau pateiktą DEPOSITORIAUS ir SKOLINIMO lentelę
Įvestis:
java sūpynės
∏ CUSTOMER_NAME (BORROW) - ∏ CUSTOMER_NAME (DEPOSITOR)
Išvestis:
| KLIENTO VARDAS |
|---|
| Džeksonas |
| Hayes |
| Williamsas |
| Karis |
6. Dekarto gaminys
- Dekarto sandauga naudojamas sujungti kiekvieną vienos lentelės eilutę su kiekviena kitos lentelės eilute. Jis taip pat žinomas kaip kryžminis produktas.
- Jis žymimas X.
Notation: E X D
Pavyzdys:
DARBUOTOJAS
latekso dalinis darinys
| EMP_ID | EMP_NAME | EMP_DEPT |
|---|---|---|
| 1 | Kalvis | A |
| 2 | Hari | C |
| 3 | Jonas | B |
SKYRIUS
| DEPT_NO | DEPT_NAME |
|---|---|
| A | Rinkodara |
| B | Pardavimai |
| C | Teisinė |
Įvestis:
EMPLOYEE X DEPARTMENT
Išvestis:
| EMP_ID | EMP_NAME | EMP_DEPT | DEPT_NO | DEPT_NAME |
|---|---|---|---|---|
| 1 | Kalvis | A | A | Rinkodara |
| 1 | Kalvis | A | B | Pardavimai |
| 1 | Kalvis | A | C | Teisinė |
| 2 | Hari | C | A | Rinkodara |
| 2 | Hari | C | B | Pardavimai |
| 2 | Hari | C | C | Teisinė |
| 3 | Jonas | B | A | Rinkodara |
| 3 | Jonas | B | B | Pardavimai |
| 3 | Jonas | B | C | Teisinė |
7. Pervadinimo operacija:
Pervadinimo operacija naudojama išvesties ryšiui pervardyti. Jis žymimas rho (p).
Pavyzdys: Galime naudoti pervardymo operatorių, kad pervadintume STUDENT ryšį į STUDENT1.
ρ(STUDENT1, STUDENT)