Relasjonsalgebra er et prosedyrespråk. Det gir en trinnvis prosess for å få resultatet av spørringen. Den bruker operatører til å utføre spørringer.
Typer relasjonell operasjon
1. Velg Operasjon:
- Select-operasjonen velger tupler som tilfredsstiller et gitt predikat.
- Det er betegnet med sigma (σ).
Notation: σ p(r)
Hvor:
s brukes til valgprediksjon
r brukes til relasjon
s brukes som en proposisjonell logikkformel som kan bruke koblinger som: OG ELLER og IKKE. Disse relasjonelle kan brukes som relasjonsoperatorer som =, ≠, ≧, , ≦.
For eksempel: LÅN Relasjon
| BRANCH_NAME | LÅN_NR | BELØP |
|---|---|---|
| Sentrum | L-17 | 1000 |
| Redwood | L-23 | 2000 |
| Perryride | L-15 | 1500 |
| Sentrum | L-14 | 1500 |
| Mianus | L-13 | 500 |
| Roundhill | L-11 | 900 |
| Perryride | L-16 | 1300 |
Inndata:
σ BRANCH_NAME='perryride' (LOAN)
Produksjon:
java gjør mens eksempel
| BRANCH_NAME | LÅN_NR | BELØP |
|---|---|---|
| Perryride | L-15 | 1500 |
| Perryride | L-16 | 1300 |
2. Prosjektdrift:
- Denne operasjonen viser listen over de attributtene som vi ønsker skal vises i resultatet. Resten av attributtene er eliminert fra tabellen.
- Det er merket med ¸.
Notation: ∏ A1, A2, An (r)
Hvor
A1 , A2 , A3 brukes som et attributtnavn på relasjonen r .
Eksempel: KUNDERELATION
| NAVN | GATE | BY |
|---|---|---|
| Jones | Hoved | Harrison |
| Smith | Nord | rug |
| Hays | Hoved | Harrison |
| Karri | Nord | rug |
| Johnson | Sjel | Brooklyn |
| Brooks | Senator | Brooklyn |
Inndata:
∏ NAME, CITY (CUSTOMER)
Produksjon:
| NAVN | BY |
|---|---|
| Jones | Harrison |
| Smith | rug |
| Hays | Harrison |
| Karri | rug |
| Johnson | Brooklyn |
| Brooks | Brooklyn |
3. Fagforeningsdrift:
- Anta at det er to tupler R og S. Unionsoperasjonen inneholder alle tuplene som enten er i R eller S eller begge i R & S.
- Det eliminerer dupliserte tupler. Det er merket med ∪.
Notation: R ∪ S
En fagforeningsoperasjon må ha følgende vilkår:
- R og S må ha attributtet til samme tall.
- Dupliserte tupler elimineres automatisk.
Eksempel:
INNSKYTERRELASJON
tallene i alfabetet
| KUNDENAVN | KONTONR |
|---|---|
| Johnson | A-101 |
| Smith | A-121 |
| Mayes | A-321 |
| Turner | A-176 |
| Johnson | A-273 |
| Jones | A-472 |
| Lindsay | A-284 |
LÅNERELASJON
| KUNDENAVN | LÅN_NR |
|---|---|
| Jones | L-17 |
| Smith | L-23 |
| Hayes | L-15 |
| Jackson | L-14 |
| Karri | L-93 |
| Smith | L-11 |
| Williams | L-17 |
Inndata:
∏ CUSTOMER_NAME (BORROW) ∪ ∏ CUSTOMER_NAME (DEPOSITOR)
Produksjon:
| KUNDENAVN |
|---|
| Johnson |
| Smith |
| Hayes |
| Turner |
| Jones |
| Lindsay |
| Jackson |
| Karri |
| Williams |
| Mayes |
4. Angi kryss:
- Anta at det er to tupler R og S. Den angitte skjæringsoperasjonen inneholder alle tupler som er i både R & S.
- Det er angitt med skjæringspunktet ∩.
Notation: R ∩ S
Eksempel: Ved å bruke ovenstående INNSKYR-tabell og LÅNE-tabell
Inndata:
∏ CUSTOMER_NAME (BORROW) ∩ ∏ CUSTOMER_NAME (DEPOSITOR)
Produksjon:
likhet av strenger i java
| KUNDENAVN |
|---|
| Smith |
| Jones |
5. Angi forskjell:
- Anta at det er to tupler R og S. Den angitte skjæringsoperasjonen inneholder alle tupler som er i R, men ikke i S.
- Det er betegnet med kryss minus (-).
Notation: R - S
Eksempel: Ved å bruke ovenstående INNSKYR-tabell og LÅNE-tabell
Inndata:
∏ CUSTOMER_NAME (BORROW) - ∏ CUSTOMER_NAME (DEPOSITOR)
Produksjon:
| KUNDENAVN |
|---|
| Jackson |
| Hayes |
| Williams |
| Karri |
6. Kartesisk produkt
- Det kartesiske produktet brukes til å kombinere hver rad i en tabell med hver rad i den andre tabellen. Det er også kjent som et kryssprodukt.
- Det er merket med X.
Notation: E X D
Eksempel:
ANSATT
| EMP_ID | EMP_NAME | EMP_DEPT |
|---|---|---|
| 1 | Smith | EN |
| 2 | Harry | C |
| 3 | John | B |
AVDELING
| DEPT_NO | DEPT_NAME |
|---|---|
| EN | Markedsføring |
| B | Salg |
| C | Lovlig |
Inndata:
EMPLOYEE X DEPARTMENT
Produksjon:
java sortering av en arraylist
| EMP_ID | EMP_NAME | EMP_DEPT | DEPT_NO | DEPT_NAME |
|---|---|---|---|---|
| 1 | Smith | EN | EN | Markedsføring |
| 1 | Smith | EN | B | Salg |
| 1 | Smith | EN | C | Lovlig |
| 2 | Harry | C | EN | Markedsføring |
| 2 | Harry | C | B | Salg |
| 2 | Harry | C | C | Lovlig |
| 3 | John | B | EN | Markedsføring |
| 3 | John | B | B | Salg |
| 3 | John | B | C | Lovlig |
7. Gi nytt navn til operasjon:
Rename-operasjonen brukes til å gi nytt navn til utdatarelasjonen. Det er betegnet med rho (p).
Eksempel: Vi kan bruke rename-operatoren for å gi nytt navn til STUDENT-relasjon til STUDENT1.
ρ(STUDENT1, STUDENT)