logo

Relacijska algebra

Relacijska algebra je proceduralni poizvedovalni jezik. Zagotavlja korak za korakom postopek za pridobitev rezultata poizvedbe. Za izvajanje poizvedb uporablja operatorje.

Vrste relacijskih operacij


Relacijska algebra DBMS

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
Hays Glavni Harrison
Curry sever
Johnson Duša Brooklyn
Brooks Senator Brooklyn

Vnos:

 ∏ NAME, CITY (CUSTOMER) 

Izhod:

format niza java
IME MESTO
Jones Harrison
Smith
Hays Harrison
Curry
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) 

Opomba: Poleg teh običajnih operacij lahko relacijsko algebro uporabite v operacijah združevanja.