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
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)