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.
- Utvalg (σ)
- Projeksjon(π)
- Union(U)
- Angi forskjell (-)
- Angi kryss(∩)
- Gi nytt navn (ρ)
- 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.
- Natural Join(⋈)
- 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
- Tuple Relational Calculus (TRC)
- Domain Relational Calculus (DRC)
Utdypende artikler:
Grunnleggende-operatører-i-relasjonal-algebra
Utvidede relasjonsalgebraoperatører