Forudsætning: Relationel model i DBMS
Relationel algebra er et proceduremæssigt forespørgselssprog. Relationel algebra giver hovedsageligt et teoretisk grundlag for relationelle databaser og SQL . Hovedformålet med at bruge Relationel Algebra er at definere operatorer, der transformerer en eller flere inputrelationer til en outputrelation. Da disse operatører accepterer relationer som input og producerer relationer som output, kan de kombineres og bruges til at udtrykke potentielt komplekse forespørgsler, der transformerer potentielt mange inputrelationer (hvis data er lagret i databasen) til en enkelt outputrelation (forespørgslens resultater) . Da det er ren matematik, er der ingen brug af engelske nøgleord i relationel algebra, og operatorer er repræsenteret ved hjælp af symboler.
Grundlæggende operatører
Disse er de grundlæggende/fundamentale operatorer, der bruges i relationel algebra.
- Udvalg (σ)
- Projektion(π)
- Union (U)
- Indstil forskel (-)
- Indstil skæringspunkt (∩)
- Omdøb (ρ)
- Kartesisk produkt (X)
1. Valg(σ): Det bruges til at vælge nødvendige tuples af relationerne.
Eksempel:
EN | B | C |
---|---|---|
1 | 2 | 4 |
2 | 2 | 3 |
3 | 2 | 3 |
4 | 3 | 4 |
For ovenstående forhold, σ(c>3)R vil vælge de tupler, der har c mere end 3.
EN | B | C |
---|---|---|
1 | 2 | 4 |
4 | 3 | 4 |
Bemærk: Udvælgelsesoperatøren vælger kun de nødvendige tupler, men viser dem ikke. Til visning bruges dataprojektionsoperatøren.
2. Projektion(π): Det bruges til at projicere nødvendige kolonnedata fra en relation.
vigtigste metode java
Eksempel: Overvej tabel 1. Antag, at vi ønsker kolonne B og C fra Relation R.
π(B,C)R will show following columns.>
B | C |
---|---|
2 | 4 |
2 | 3 |
3 | 4 |
Bemærk: Som standard fjerner projektion duplikerede data.
3. Union(U): Unionsoperation i relationel algebra er det samme som unionsoperation i mængdeteori.
Eksempel:
FRANSK
Elevnavn | Roll_Number |
---|---|
Vædder | 01 |
Mohan | 02 |
Vivek | 13 |
Geeta | 17 |
TYSK
Elevnavn | Roll_Number |
---|---|
Vivek | 13 |
Geeta | 17 |
Shyam | enogtyve |
Rohan | 25 |
Overvej følgende tabel over studerende, der har forskellige valgfrie emner i deres kursus.
π(Student_Name)FRENCH U π(Student_Name)GERMAN>
Elevnavn |
---|
Vædder |
Mohan |
Vivek |
Geeta |
Shyam |
Rohan |
Bemærk: Den eneste begrænsning i foreningen af to relationer er, at begge relationer skal have det samme sæt attributter.
4. Indstil forskel(-): Mængdeforskel i relationel algebra er den samme mængdeforskeloperation som i mængdeteori.
Eksempel: Fra ovenstående tabel over FRENCH og TYSK bruges Set Difference som følger
π(Student_Name)FRENCH - π(Student_Name)GERMAN>
Elevnavn |
---|
Vædder |
Mohan |
Bemærk: Den eneste begrænsning i sætforskellen mellem to relationer er, at begge relationer skal have det samme sæt attributter.
5. Indstil skæringspunkt (∩): Sæt skæringspunkt i relationel algebra er den samme mængde skæringsoperation i mængdeteori.
Eksempel: Fra ovenstående tabel over FRENCH og TYSK bruges Set Intersection som følger
π(Student_Name)FRENCH ∩ π(Student_Name)GERMAN>
Elevnavn |
---|
Vivek |
Geeta |
Bemærk: Den eneste begrænsning i sætforskellen mellem to relationer er, at begge relationer skal have det samme sæt attributter.
6. Omdøb (ρ): Omdøb er en unær operation, der bruges til at omdøbe attributter for en relation.
ρ(a/b)R will rename the attribute 'b' of the relation by 'a'.>
7. Krydsprodukt (X): Krydsprodukt mellem to relationer. Lad os sige A og B, så krydsproduktet mellem A X B vil resultere i alle attributterne for A efterfulgt af hver attribut for B. Hver post af A vil parres med hver post af B.
Eksempel:
cobol programmering
EN
Navn | Alder | Køn |
---|---|---|
Vædder | 14 | M |
til slutningen | femten | F |
Kim | tyve | M |
B
ID | Rute |
---|---|
1 | DS |
2 | DBMS |
A X B
Navn | Alder | Køn | ID | Rute |
---|---|---|---|---|
Vædder | 14 | M | 1 | DS |
Vædder | 14 | M | 2 | DBMS |
til slutningen | femten | F | 1 | DS |
til slutningen | femten | F | 2 | DBMS |
Kim | tyve | M | 1 | DS |
Kim | tyve | M | 2 | DBMS |
Bemærk: Hvis A har 'n' tupler, og B har 'm' tupler, vil A X B have 'n*m' tupler.
Afledte operatører
Dette er nogle af de afledte operatorer, som er afledt af de grundlæggende operatorer.
- Natural Join(⋈)
- Betinget tilslutning
1. Naturlig tilslutning(⋈): Natural join er en binær operator. Naturlig sammenføjning mellem to eller flere relationer vil resultere i et sæt af alle kombinationer af tupler, hvor de har samme fælles egenskab.
Eksempel:
EMP
jquery ved klik
Navn | ID | Afd._navn |
---|---|---|
EN | 120 | DET |
B | 125 | HR |
C | 110 | Salg |
D | 111 | DET |
DEPT
Afd._navn | Manager |
---|---|
Salg | OG |
Produktion | MED |
DET | EN |
Naturlig sammenføjning mellem EMP og DEPT med betingelse:
EMP.Dept_Name = DEPT.Dept_Name
EMP ⋈ DEPT
Navn | ID | Afd._navn | Manager |
---|---|---|---|
EN | 120 | DET | EN |
C | 110 | Salg | OG |
D | 111 | DET | EN |
2. Betinget tilslutning: Betinget sammenføjning fungerer på samme måde som naturlig sammenføjning. I naturlig sammenføjning er betingelsen som standard lig mellem fælles attributter, mens vi i betinget sammenføjning kan angive enhver betingelse, såsom større end, mindre end eller ikke lig.
Eksempel:
R
ID | Køn | Mærker |
---|---|---|
1 | F | Fire. Fem |
2 | F | 55 |
3 | F | 60 |
S
ID | Køn | Mærker |
---|---|---|
10 | M | tyve |
elleve | M | 22 |
12 | M | 59 |
Sammenføj mellem R og S med betingelse R.mærker>= S.mærker
R.ID | R.Sex | R.Marks | S.ID | S.Sex | S.Marks |
---|---|---|---|---|---|
1 | F | Fire. Fem | 10 | M | tyve |
1 | F | Fire. Fem | elleve | M | 22 |
2 | F | 55 | 10 | M | tyve |
2 | F | 55 | elleve | M | 22 |
3 | F | 60 | 10 | M | tyve |
3 | F | 60 | elleve | M | 22 |
3 | F | 60 | 12 | M | 59 |
Relationsregning
Da Relational Algebra er et proceduremæssigt forespørgselssprog, er Relational Calculus et ikke-proceduremæssigt forespørgselssprog. Det handler grundlæggende om slutresultaterne. Den fortæller mig altid, hvad jeg skal gøre, men fortæller mig aldrig, hvordan jeg skal gøre det.
Der er to typer af Relationsregning
- Tuple Relational Calculus (TRC)
- Domain Relational Calculus (DRC)
Uddybende artikler:
Grundlæggende-operatører-i-relationel-algebra
Udvidede Relational Algebra Operators