Relationsalgebra i DBMS: Operationer med exempel

Innehållsförteckning:

Anonim

Relationsalgebra

RELATIONAL ALGEBRA är ett allmänt använt procedurfrågespråk. Det samlar fall av relationer som input och ger förekomster av relations som output. Den använder olika operationer för att utföra denna åtgärd. SQL Relational algebrafrågaoperationer utförs rekursivt på en relation. Resultatet av dessa operationer är en ny relation, som kan bildas av en eller flera ingångsrelationer.

I den här handledningen lär du dig:

  • Relationsalgebra
  • VÄLJ (σ)
  • Projektion (π)
  • Byt namn (ρ)
  • Unionens verksamhet (υ)
  • Ställ in skillnad (-)
  • Genomskärning
  • Kartesisk produkt (X)
  • Gå med i Operations
  • Inre koppling:
  • Theta Gå med:
  • EQUI-anslutning:
  • NATURLIGT GÅ MED (⋈)
  • YTTRE GÅ MED
  • Vänster yttre skarv (A B)
  • Höger yttre anslutning: (A B)
  • Fullständig yttre anslutning: (A B)

Grundläggande SQL-relationsalgebraoperationer

Relationsalgebra delades i olika grupper

Unary relationsoperationer

  • VÄLJ (symbol: σ)
  • PROJEKT (symbol: π)
  • RENAME (symbol: ρ)

Relationella algebraoperationer från uppsättningsteori

  • UNION (υ)
  • GENOMSKÄRNING ( ),
  • SKILLNAD (-)
  • CARTESIAN PRODUKT (x)

Binära relationsoperationer

  • ANSLUTA SIG
  • DIVISION

Låt oss studera dem i detalj med lösningar:

VÄLJ (σ)

SELECT-operationen används för att välja en delmängd av tuplarna enligt ett givet urvalstillstånd. Sigma (σ) Symbol betecknar det. Det används som ett uttryck för att välja tuplar som uppfyller urvalsvillkoret. Välj operatör väljer tuplar som uppfyller ett givet predikat.

σp(r) σär predikatet rstår för relation som är namnet på tabellen pär prepositionell logik

Exempel 1

σ topic = "Database" (Tutorials)

Output - Väljer tuplar från Tutorials där topic = 'Database'.

Exempel 2

σ topic = "Database" and author = "guru99"( Tutorials)

Output - Väljer tuplar från Tutorials där ämnet är 'Databas' och 'författare' är guru99.

Exempel 3

σ sales > 50000 (Customers)

Output - Väljer tuplar från kunder där försäljningen är större än 50000

Projektion (π)

Projektionen eliminerar alla attribut för ingångsförhållandet men de som nämns i projektionslistan. Projektionsmetoden definierar en relation som innehåller en vertikal delmängd av relation.

Detta hjälper till att extrahera värdena för angivna attribut för att eliminera dubbla värden. (pi) symbol används för att välja attribut från en relation. Den här operatören hjälper dig att hålla specifika kolumner från en relation och kasserar de andra kolumnerna.

Exempel på projektion:

Tänk på följande tabell

Kundnummer Köparens namn Status
1 Google Aktiva
2 Amazon Aktiva
3 Äpple Inaktiv
4 Alibaba Aktiva

Här ger projiceringen av kundnamn och status

Π CustomerName, Status (Customers)
Köparens namn Status
Google Aktiva
Amazon Aktiva
Äpple Inaktiv
Alibaba Aktiva

Byt namn (ρ)

Byt namn är en unary operation som används för att byta namn på attribut för en relation.

ρ (a / b) R byter namn på attributet 'b' för relation med 'a'.

Unionens verksamhet (υ)

UNION symboliseras med ∪-symbolen. Den inkluderar alla tuplar som finns i tabellerna A eller B. Det eliminerar också dubbla tuplar. Så, sätt A UNION-uppsättning B skulle uttryckas som:

Resultatet <- A ∪ B

För att en facklig verksamhet ska vara giltig måste följande villkor gälla:

  • R och S måste ha samma antal attribut.
  • Attributdomäner måste vara kompatibla.
  • Duplikatappar bör tas bort automatiskt.

Exempel

Tänk på följande tabeller.

Tabell A Tabell B
kolumn 1 kolumn 2 kolumn 1 kolumn 2
1 1 1 1
1 2 1 3

A ∪ B ger

Tabell A ∪ B
kolumn 1 kolumn 2
1 1
1 2
1 3

Ställ in skillnad (-)

- Symbol betecknar det. Resultatet av A - B är en relation som inkluderar alla tuplar som finns i A men inte i B.

  • Attributnamnet för A måste matcha attributnamnet i B.
  • De två operandeförhållandena A och B bör vara antingen kompatibla eller unionskompatibla.
  • Det bör definieras relation som består av tuplarna som är i relation A, men inte i B.

Exempel

A-B
Tabell A - B
kolumn 1 kolumn 2
1 2

Genomskärning

En korsning definieras av symbolen ∩

A ∩ B

Definierar en relation som består av en uppsättning av alla tuplar som finns i både A och B. Men A och B måste vara unionskompatibla.

Visuell definition av korsning

Exempel:

A ∩ B
Tabell A ∩ B
kolumn 1 kolumn 2
1 1

Cartesian Product (X) i DBMS

Cartesian Product i DBMS är en operation som används för att slå samman kolumner från två relationer. I allmänhet är en kartesisk produkt aldrig en meningsfull operation när den utför ensam. Det blir dock meningsfullt när det följs av andra operationer. Det kallas också Cross Product eller Cross Join.

Exempel - kartesisk produkt

σ kolumn 2 = '1' (AXB)

Output - Ovanstående exempel visar alla rader från relation A och B vars kolumn 2 har värde 1

σ kolumn 2 = '1' (AXB)
kolumn 1 kolumn 2
1 1
1 1

Gå med i Operations

Anslutningsoperation är i grunden en kartesisk produkt följt av ett urvalskriterium.

Gå med i operation betecknad med ⋈.

JOIN-operation gör det också möjligt att gå med olika relaterade tuples från olika relationer.

Typer av JOIN:

Olika former av anslutningsoperationer är:

Inre sammanfogningar:

  • Theta går med
  • EQUI gå med
  • Naturlig anslutning

Yttre anslutning:

  • Vänster yttre anslutning
  • Höger yttre anslutning
  • Fullständig yttre anslutning

Inre koppling:

I en inre sammanfogning ingår bara de tuplar som uppfyller matchningskriterierna, medan resten undantas. Låt oss studera olika typer av Inner Joins:

Theta Gå med:

Det allmänna fallet med JOIN-operation kallas en Theta-anslutning. Den betecknas med symbolen θ

Exempel

A ⋈θ B

Theta-anslutning kan använda alla villkor i urvalskriterierna.

Till exempel:

A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A. kolumn 2> B. kolumn 2 (B)
kolumn 1 kolumn 2
1 2

EQUI-anslutning:

När en theta-koppling endast använder ekvivalensvillkor blir den en equi-koppling.

Till exempel:

A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A. kolumn 2 = B. kolumn 2 (B)
kolumn 1 kolumn 2
1 1

EQUI-anslutning är de svåraste operationerna att implementera effektivt med SQL i en RDBMS och en anledning till att RDBMS har väsentliga prestandaproblem.

NATURLIGT GÅ MED (⋈)

Naturlig sammanfogning kan endast utföras om det finns ett gemensamt attribut (kolumn) mellan relationerna. Attributets namn och typ måste vara samma.

Exempel

Tänk på följande två tabeller

C
Num Fyrkant
2 4
3 9
D
Num Kub
2 8
3 27
C ⋈ D
C ⋈ D
Num Fyrkant Kub
2 4 4
3 9 27

YTTRE GÅ MED

I en yttre sammanfogning, tillsammans med tuplar som uppfyller matchningskriterierna, inkluderar vi också några eller alla tuplar som inte matchar kriterierna.

Vänster yttre skarv (A B)

I vänster yttre koppling möjliggör man att hålla alla tuplar i vänster förhållande. Men om det inte finns någon matchande tupel i rätt relation, fylls attributen för rätt relation i kopplingsresultatet med nollvärden.

Tänk på följande två tabeller

A
Num Fyrkant
2 4
3 9
4 16
B
Num Kub
2 8
3 18
5 75
A  B
A ⋈ B
Num Fyrkant Kub
2 4 4
3 9 9
4 16 -

Höger yttre anslutning: (A B)

I rätt yttre skarv möjliggör man att hålla alla tuplar i rätt relation. Men om det inte finns någon matchande tuple i den vänstra relationen, fylls attributen för den vänstra relationen i kopplingsresultatet med nollvärden.

A  B
A ⋈ B
Num Kub Fyrkant
2 8 4
3 18 9
5 75 -

Fullständig yttre anslutning: (A B)

I en fullständig yttre sammanfogning ingår alla tuplar från båda relationerna i resultatet, oavsett matchande tillstånd.

A  B
A ⋈ B
Num Kub Fyrkant
2 4 8
3 9 18
4 16 -
5 - 75

Sammanfattning

Användning (symboler)

Ändamål

Välj (σ)

SELECT-operationen används för att välja en delmängd av tuplarna enligt ett givet urvalstillstånd

Projektion (π)

Projektionen eliminerar alla attribut för ingångsförhållandet men de som nämns i projektionslistan.

Union Operation (∪)

UNION symboliseras med symbol. Den inkluderar alla tuplar som finns i tabellerna A eller B.

Ställ in skillnad (-)

- Symbol betecknar det. Resultatet av A - B är en relation som inkluderar alla tuplar som finns i A men inte i B.

Korsning (∩)

Korsning definierar en relation som består av en uppsättning av alla tuplar som finns i både A och B.

Cartesian Product (X)

Kartesisk operation är till hjälp för att slå samman kolumner från två relationer.

Inre koppling

Inre anslutning, inkluderar endast de tuplar som uppfyller matchningskriterierna.

Theta Join (θ)

Det allmänna fallet med JOIN-operation kallas en Theta-anslutning. Den betecknas med symbolen θ.

EQUI Gå med

När en theta-koppling endast använder ekvivalensvillkor blir den en equi-koppling.

Natural Join (⋈)

Naturlig sammanfogning kan endast utföras om det finns ett gemensamt attribut (kolumn) mellan relationerna.

Yttre anslutning

I en yttre skarv, tillsammans med tuplar som uppfyller matchningskriterierna.

Vänster yttre anslutning ( )

I vänster yttre koppling möjliggör man att hålla alla tuplar i vänster förhållande.

Höger yttre anslutning ( )

I rätt yttre skarv möjliggör man att hålla alla tuplar i rätt relation.

Fullständig yttre anslutning ( )

I en fullständig yttre sammanfogning ingår alla tuplar från båda relationerna i resultatet oavsett matchande tillstånd.