logo

Relasjonsalgebra

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


DBMS Relasjonsalgebra

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) 

Merk: Bortsett fra disse vanlige operasjonene kan Relasjonsalgebra brukes i Join-operasjoner.