logo

Relationell algebra

Relationell algebra är ett processuellt frågespråk. Det ger en steg för steg process för att få resultatet av frågan. Den använder operatörer för att utföra frågor.

Typer av relationsoperationer


DBMS Relationsalgebra

1. Välj Operation:

  • Select-operationen väljer tupler som uppfyller ett givet predikat.
  • Det betecknas med sigma (σ).
 Notation: σ p(r) 

Var:

sid används för urvalsförutsägelse
r används för relation
sid används som en propositionell logikformel som kan använda kopplingar som: AND OR och NOT. Dessa relationella kan användas som relationsoperatorer som =, ≠, ≧, , ≦.

Till exempel: LÅN Relation

BRANCH_NAME LOAN_NO BELOPP
Stadens centrum L-17 1000
Redwood L-23 2000
Perryride L-15 1500
Stadens centrum L-14 1500
Mianus L-13 500
Roundhill L-11 900
Perryride L-16 1300

Inmatning:

 σ BRANCH_NAME='perryride' (LOAN) 

Produktion:

strängvändning i c
BRANCH_NAME LOAN_NO BELOPP
Perryride L-15 1500
Perryride L-16 1300

2. Projektdrift:

  • Denna operation visar listan över de attribut som vi vill ska visas i resultatet. Resten av attributen tas bort från tabellen.
  • Det betecknas med ¸.
 Notation: ∏ A1, A2, An (r) 

Var

A1 , A2 , A3 används som ett attributnamn för relation r .

Exempel: KUNDRELATION

NAMN GATA STAD
Jones Main Harrison
Smed Norr råg
Hays Main Harrison
Curry Norr råg
Johnson Själ Brooklyn
Brooks Senator Brooklyn

Inmatning:

 ∏ NAME, CITY (CUSTOMER) 

Produktion:

java delsträng
NAMN STAD
Jones Harrison
Smed råg
Hays Harrison
Curry råg
Johnson Brooklyn
Brooks Brooklyn

3. Facklig verksamhet:

  • Anta att det finns två tupler R och S. Unionsoperationen innehåller alla tupler som antingen finns i R eller S eller båda i R & S.
  • Det eliminerar de dubbla tuplarna. Det betecknas med ∪.
 Notation: R ∪ S 

En facklig verksamhet måste uppfylla följande villkor:

  • R och S måste ha samma attribut.
  • Dubbletttupler elimineras automatiskt.

Exempel:

INNSÄVARARRELATION

KÖPARENS NAMN KONTO NEJ
Johnson A-101
Smed A-121
Mayes A-321
Svarvare A-176
Johnson A-273
Jones A-472
Lindsay A-284

LÅNA RELATION

KÖPARENS NAMN LOAN_NO
Jones L-17
Smed L-23
Hayes L-15
Jackson L-14
Curry L-93
Smed L-11
Williams L-17

Inmatning:

 ∏ CUSTOMER_NAME (BORROW) ∪ ∏ CUSTOMER_NAME (DEPOSITOR) 

Produktion:

KÖPARENS NAMN
Johnson
Smed
Hayes
Svarvare
Jones
Lindsay
Jackson
Curry
Williams
Mayes

4. Ställ in korsning:

  • Anta att det finns två tupler R och S. Den inställda skärningsoperationen innehåller alla tupler som finns i både R & S.
  • Den betecknas med skärningspunkten ∩.
 Notation: R ∩ S 

Exempel: Använd ovanstående INsättartabell och LÅNAtabell

strängbyggare java

Inmatning:

 ∏ CUSTOMER_NAME (BORROW) ∩ ∏ CUSTOMER_NAME (DEPOSITOR) 

Produktion:

KÖPARENS NAMN
Smed
Jones

5. Ställ in skillnad:

  • Anta att det finns två tupler R och S. Uppsättningen skärningsoperation innehåller alla tupler som finns i R men inte i S.
  • Det betecknas med korsning minus (-).
 Notation: R - S 

Exempel: Använd ovanstående INsättartabell och LÅNAtabell

Inmatning:

 ∏ CUSTOMER_NAME (BORROW) - ∏ CUSTOMER_NAME (DEPOSITOR) 

Produktion:

KÖPARENS NAMN
Jackson
Hayes
Williams
Curry

6. Kartesisk produkt

  • Den kartesiska produkten används för att kombinera varje rad i en tabell med varje rad i den andra tabellen. Det är också känt som en korsprodukt.
  • Det betecknas med X.
 Notation: E X D 

Exempel:

ANSTÄLLD

EMP_ID EMP_NAME EMP_DEPT
1 Smed A
2 Harry C
3 John B

AVDELNING

snabb sortering
DEPT_NO DEPT_NAME
A Marknadsföring
B Försäljning
C Rättslig

Inmatning:

 EMPLOYEE X DEPARTMENT 

Produktion:

EMP_ID EMP_NAME EMP_DEPT DEPT_NO DEPT_NAME
1 Smed A A Marknadsföring
1 Smed A B Försäljning
1 Smed A C Rättslig
2 Harry C A Marknadsföring
2 Harry C B Försäljning
2 Harry C C Rättslig
3 John B A Marknadsföring
3 John B B Försäljning
3 John B C Rättslig

7. Byt namn på operation:

Rename-operationen används för att byta namn på utdatarelationen. Det betecknas med rho (p).

Exempel: Vi kan använda rename-operatorn för att byta namn på STUDENT-relationen till STUDENT1.

 ρ(STUDENT1, STUDENT) 

Obs: Förutom dessa vanliga operationer kan Relationell algebra användas i Join-operationer.