logo

Introduksjon av relasjonsalgebra i DBMS

Forutsetning: Relasjonsmodell i DBMS

Relasjonsalgebra er et prosedyrespråk. Relasjonsalgebra gir i hovedsak et teoretisk grunnlag for relasjonsdatabaser og SQL . Hovedformålet med å bruke Relasjonsalgebra er å definere operatorer som transformerer en eller flere inputrelasjoner til en outputrelasjon. Gitt at disse operatørene aksepterer relasjoner som input og produserer relasjoner som output, kan de kombineres og brukes til å uttrykke potensielt komplekse spørringer som transformerer potensielt mange inputrelasjoner (hvis data er lagret i databasen) til en enkelt utdatarelasjon (spørringsresultatene) . Siden det er ren matematikk, er det ingen bruk av engelske nøkkelord i relasjonsalgebra, og operatorer er representert ved hjelp av symboler.



Grunnleggende operatører

Dette er de grunnleggende/grunnleggende operatørene som brukes i Relasjonsalgebra.

  1. Utvalg (σ)
  2. Projeksjon(π)
  3. Union(U)
  4. Angi forskjell (-)
  5. Angi kryss(∩)
  6. Gi nytt navn (ρ)
  7. Kartesisk produkt (X)

1. Utvalg(σ): Den brukes til å velge nødvendige tupler av relasjonene.

Eksempel:



EN B C
1 2 4
2 2 3
3 2 3
4 3 4

For forholdet ovenfor, σ(c>3)R vil velge tuplene som har c mer enn 3.

EN B C
1 2 4
4 3 4

Merk: Valgoperatøren velger bare de nødvendige tuplene, men viser dem ikke. For visning brukes dataprojeksjonsoperatøren.

2. Projeksjon(π): Den brukes til å projisere nødvendige kolonnedata fra en relasjon.



eksempler på operativsystemer

Eksempel: Tenk på tabell 1. Anta at vi ønsker kolonne B og C fra Relasjon R.

π(B,C)R will show following columns.>
B C
2 4
2 3
3 4

Merk: Som standard fjerner projeksjon dupliserte data.

3. Union(U): Unionsoperasjon i relasjonsalgebra er det samme som unionsoperasjon i settteori .

Eksempel:

FRANSK

Student navn Rull nummer
RAM 01
Mohan 02
Vivek 1. 3
Geeta 17

TYSK

Student navn Rull nummer
Vivek 1. 3
Geeta 17
Shyam tjueen
Rohan 25

Tenk på følgende tabell over studenter som har forskjellige valgfrie emner i kurset.

π(Student_Name)FRENCH U π(Student_Name)GERMAN>
Student navn
RAM
Mohan
Vivek
Geeta
Shyam
Rohan

Merk: Den eneste begrensningen i foreningen av to relasjoner er at begge relasjonene må ha samme sett med attributter.

4. Angi forskjell (-): Mengdeforskjell i relasjonsalgebra er samme settdifferanseoperasjon som i settteori.

Eksempel: Fra tabellen ovenfor for FRENCH og TYSK, brukes Set Difference som følger

π(Student_Name)FRENCH - π(Student_Name)GERMAN>
Student navn
RAM
Mohan

Merk: Den eneste begrensningen i settforskjellen mellom to relasjoner er at begge relasjonene må ha samme sett med attributter.

5. Angi skjæringspunktet (∩): Set Intersection i relasjonell algebra er den samme set-skjæringsoperasjonen i settteori.

Eksempel: Fra tabellen ovenfor over FRENCH og TYSK, brukes Set Intersection som følger

π(Student_Name)FRENCH ∩ π(Student_Name)GERMAN>
Student navn
Vivek
Geeta

Merk: Den eneste begrensningen i settforskjellen mellom to relasjoner er at begge relasjonene må ha samme sett med attributter.

6. Gi nytt navn (ρ): Gi nytt navn er en unær operasjon som brukes for å gi nytt navn til attributter til en relasjon.

 ρ(a/b)R will rename the attribute 'b' of the relation by 'a'.>

7. Kryssprodukt (X): Kryssprodukt mellom to relasjoner. La oss si A og B, så kryssproduktet mellom A X B vil resultere i alle attributtene til A etterfulgt av hver attributt til B. Hver post av A vil pares med hver post av B.

Eksempel:

cobol programmering

EN

Navn Alder Kjønn
RAM 14 M
slutt femten F
Kim tjue M

B

ID Kurs
1 DS
2 DBMS

A X B

Navn Alder Kjønn ID Kurs
RAM 14 M 1 DS
RAM 14 M 2 DBMS
slutt femten F 1 DS
slutt femten F 2 DBMS
Kim tjue M 1 DS
Kim tjue M 2 DBMS

Merk: Hvis A har 'n' tupler og B har 'm' tupler, vil A X B ha 'n*m' tupler.

Avledede operatører

Dette er noen av de avledede operatorene , som er avledet fra de grunnleggende operatorene.

  1. Natural Join(⋈)
  2. Betinget deltakelse

1. Naturlig tilknytning(⋈): Natural join er en binær operatør. Naturlig sammenføyning mellom to eller flere relasjoner vil resultere i et sett med alle kombinasjoner av tupler der de har samme felles attributt.

Eksempel:

EMP

foreach java
Navn ID Dept_Name
EN 120 DEN
B 125 HR
C 110 Salg
D 111 DEN

GJELD

Dept_Name sjef
Salg OG
Produksjon MED
DEN EN

Naturlig sammenføyning mellom EMP og DEPT med betingelse:

EMP.Dept_Name = DEPT.Dept_Name

EMP ⋈ DEPT

Navn ID Dept_Name sjef
EN 120 DEN EN
C 110 Salg OG
D 111 DEN EN

2. Betinget tilknytning: Betinget sammenføyning fungerer på samme måte som naturlig sammenføyning. I naturlig sammenføyning er tilstanden som standard lik mellom vanlige attributter, mens vi i betinget sammenføyning kan spesifisere hvilken som helst betingelse som større enn, mindre enn eller ikke lik.

Eksempel:

R

ID Kjønn Merker
1 F Fire fem
2 F 55
3 F 60

S

ID Kjønn Merker
10 M tjue
elleve M 22
12 M 59

Sammenføyes mellom R og S med kondisjon R.marks>= S.marks

KVITT R.Sex R.Marks S.ID S.Sex S.Marks
1 F Fire fem 10 M tjue
1 F Fire fem elleve M 22
2 F 55 10 M tjue
2 F 55 elleve M 22
3 F 60 10 M tjue
3 F 60 elleve M 22
3 F 60 12 M 59

Relasjonsregning

Siden Relational Algebra er et prosedyrespråk, er Relational Calculus et ikke-prosedyrespråk. Det handler i utgangspunktet om sluttresultatene. Den forteller meg alltid hva jeg skal gjøre, men forteller meg aldri hvordan jeg skal gjøre det.

Det finnes to typer relasjonsregning

  1. Tuple Relational Calculus (TRC)
  2. Domain Relational Calculus (DRC)

Utdypende artikler:
Grunnleggende-operatører-i-relasjonal-algebra
Utvidede relasjonsalgebraoperatører