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)