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 r
stå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 | 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 |
---|---|
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.

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 |
AB
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.
AB
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.
AB
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. |