logo

Introduktion av relationsalgebra i DBMS

Nödvändig förutsättning: Relationsmodell i DBMS

Relationsalgebra är ett processuellt frågespråk. Relationell algebra ger främst en teoretisk grund för relationsdatabaser och SQL . Huvudsyftet med att använda Relational Algebra är att definiera operatorer som transformerar en eller flera ingångsrelationer till en outputrelation. Med tanke på att dessa operatorer accepterar relationer som indata och producerar relationer som utdata, kan de kombineras och användas för att uttrycka potentiellt komplexa frågor som omvandlar potentiellt många indatarelationer (vars data lagras i databasen) till en enda utdatarelation (frågeresultaten) . Eftersom det är ren matematik, används ingen engelska nyckelord i relationsalgebra och operatorer representeras med hjälp av symboler.



Grundläggande operatörer

Dessa är de grundläggande/fundamentala operatorerna som används i Relational Algebra.

  1. Urval (σ)
  2. Projektion(π)
  3. Union(U)
  4. Ställ in skillnad (-)
  5. Ange skärningspunkt (∩)
  6. Byt namn (ρ)
  7. Kartesisk produkt(X)

1. Urval (σ): Den används för att välja önskade tuplar av relationerna.

Exempel:



A B C
1 2 4
2 2 3
3 2 3
4 3 4

För ovanstående förhållande, σ(c>3)R kommer att välja de tupler som har c mer än 3.

A B C
1 2 4
4 3 4

Notera: Urvalsoperatören väljer bara de nödvändiga tuplarna men visar dem inte. För visning används dataprojektionsoperatorn.

2. Projektion(π): Den används för att projicera nödvändig kolumndata från en relation.



pekare i c

Exempel: Betrakta tabell 1. Antag att vi vill ha kolumnerna B och C från Relation R.

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

Notera: Som standard tar projektion bort dubbletter av data.

3. Union(U): Unionsoperation i relationalgebra är detsamma som unionsoperation i mängdlära.

Exempel:

FRANSKA

Elevs namn Valsnummer
Bagge 01
Mohan 02
Vivek 13
Geeta 17

TYSK

Elevs namn Valsnummer
Vivek 13
Geeta 17
Shyam tjugoett
Rohan 25

Tänk på följande tabell över studenter som har olika valfria ämnen i sin kurs.

π(Student_Name)FRENCH U π(Student_Name)GERMAN>
Elevs namn
Bagge
Mohan
Vivek
Geeta
Shyam
Rohan

Notera: Den enda begränsningen i föreningen av två relationer är att båda relationerna måste ha samma uppsättning attribut.

4. Ställ in skillnad (-): Mängdskillnad i relationalgebra är samma mängdskillnadsoperation som i mängdteorin.

Exempel: Från ovanstående tabell över FRENCH och TYSKA används Set Difference enligt följande

π(Student_Name)FRENCH - π(Student_Name)GERMAN>
Elevs namn
Bagge
Mohan

Notera: Den enda begränsningen i uppsättningsskillnaden mellan två relationer är att båda relationerna måste ha samma uppsättning attribut.

5. Ange skärningspunkt (∩): Set Intersection i relationalgebra är samma set intersection operation i mängdteorin.

Exempel: Från ovanstående tabell över FRENCH och GERMAN används Set Intersection enligt följande

π(Student_Name)FRENCH ∩ π(Student_Name)GERMAN>
Elevs namn
Vivek
Geeta

Notera: Den enda begränsningen i uppsättningsskillnaden mellan två relationer är att båda relationerna måste ha samma uppsättning attribut.

6. Byt namn (ρ): Byt namn är en unär operation som används för att byta namn på attribut för en relation.

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

7. Cross Product(X): Korsprodukt mellan två relationer. Låt oss säga A och B, så korsprodukten mellan A X B kommer att resultera i alla attribut för A följt av varje attribut för B. Varje post av A kommer att paras med varje post av B.

Exempel:

lista som array

A

namn Ålder Sex
Bagge 14 M
till slutet femton F
Kim tjugo M

B

ID Kurs
1 DS
2 DBMS

A X B

namn Ålder Sex ID Kurs
Bagge 14 M 1 DS
Bagge 14 M 2 DBMS
till slutet femton F 1 DS
till slutet femton F 2 DBMS
Kim tjugo M 1 DS
Kim tjugo M 2 DBMS

Notera: Om A har 'n' tupler och B har 'm' tupler kommer A X B att ha 'n*m' tupler.

Härledda operatörer

Det här är några av de härledda operatorerna , som är härledda från de grundläggande operatorerna.

  1. Natural Join(⋈)
  2. Villkorlig gå med

1. Naturlig gå med(⋈): Natural join är en binär operator. Naturlig koppling mellan två eller flera relationer kommer att resultera i en uppsättning av alla kombinationer av tupler där de har samma gemensamma attribut.

Exempel:

EMP

namn ID Dept_Name
A 120 DEN
B 125 HR
C 110 Försäljning
D 111 DEN

DEPT

Dept_Name Chef
Försäljning OCH
Produktion MED
DEN A

Naturlig koppling mellan EMP och DEPT med villkor:

EMP.Dept_Name = DEPT.Dept_Name

EMP ⋈ DEPT

namn ID Dept_Name Chef
A 120 DEN A
C 110 Försäljning OCH
D 111 DEN A

2. Villkorlig anslutning: Villkorlig sammanfogning fungerar på samma sätt som naturlig sammanfogning. I naturlig koppling är villkoret som standard lika mellan vanliga attribut medan vi i villkorlig koppling kan specificera vilket villkor som helst som större än, mindre än eller inte lika.

Exempel:

R

ID Sex Märken
1 F Fyra fem
2 F 55
3 F 60

S

ID Sex Märken
10 M tjugo
elva M 22
12 M 59

Gå mellan R och S med villkor R.marks>= S.marks

BEFRIA R.Sex R.Marks S.ID S.Sex S.Marks
1 F Fyra fem 10 M tjugo
1 F Fyra fem elva M 22
2 F 55 10 M tjugo
2 F 55 elva M 22
3 F 60 10 M tjugo
3 F 60 elva M 22
3 F 60 12 M 59

Relationskalkyl

Eftersom Relational Algebra är ett procedurmässigt frågespråk, är Relational Calculus ett icke-procedurmässigt frågespråk. Det handlar i princip om slutresultatet. Den säger alltid till mig vad jag ska göra men aldrig hur jag ska göra.

Det finns två typer av relationskalkyl

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

Fördjupade artiklar:
Grundläggande-operatörer-i-relationell-algebra
Extended Relational Algebra Operators

fötter vs fot