Relationel algebra i DBMS: Operationer med eksempler

Relational algebra

RELATIONSALGEBRA er et meget udbredt proceduresprog. Den indsamler forekomster af relationer som input og giver forekomster af relationer som output. Den bruger forskellige handlinger til at udføre denne handling. SQL Relationel algebra-forespørgselsoperationer udføres rekursivt på en relation. Outputtet af disse operationer er en ny relation, som kan dannes ud fra en eller flere inputrelationer.

Grundlæggende SQL Relationel Algebra Operationer

Relationel algebra opdelt i forskellige grupper

Unær Relationel Operationer

  • VÆLG (symbol: σ)
  • PROJEKT (symbol: π)
  • OMDØB (symbol: ρ)

Relational algebra Operationer fra mængdeteori

  • UNION (υ)
  • KRYDSKÆRING ( ),
  • FORSKEL (-)
  • CARTESIAN PRODUKT ( x )

Binær relationel Operationer

  • JOIN
  • DIVISION

Lad os studere dem i detaljer med løsninger:

VÆLG (σ)

SELECT-operationen bruges til at vælge en delmængde af tuplerne i henhold til en given udvælgelsesbetingelse. Sigma(σ)Symbol angiver det. Det bruges som udtryk for at vælge tupler, der opfylder selektionsbetingelsen. Select operator vælger tupler, der opfylder et givet prædikat.

σp(r)

σ er prædikatet

r står for relation som er navnet på tabellen

p er præpositionslogik

Eksempel 1

σ topic = "Database" (Tutorials)

Produktion – Vælger tuples fra Tutorials, hvor emne = 'Database'.

Eksempel 2

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

Produktion – Vælger tuples fra Tutorials, hvor emnet er 'Database' og 'author' er guru99.

Eksempel 3

σ sales > 50000 (Customers)

Produktion – Vælger tupler fra kunder, hvor salget er større end 50000

Projektion(π)

Projektionen eliminerer alle attributter i inputrelationen, bortset fra dem, der er nævnt i projektionslisten. Projektionsmetoden definerer en relation, der indeholder en lodret delmængde af Relation.

Dette hjælper med at udtrække værdierne af specificerede attributter for at eliminere duplikerede værdier. (pi) symbol bruges til at vælge attributter fra en relation. Denne operator hjælper dig med at holde specifikke kolonner fra en relation og kasserer de andre kolonner.

Eksempel på projektion:

Overvej følgende tabel

Kunde ID Kundenavn Status
1 Google Aktiv
2 Amazon Aktiv
3 Apple Inaktiv
4 Alibaba Aktiv

Her vil projektionen af ​​Kundenavn og status give

Π CustomerName, Status (Customers)
Kundenavn Status
Google Aktiv
Amazon Aktiv
Apple Inaktiv
Alibaba Aktiv

Omdøb (ρ)

Omdøb er en unær operation, der bruges til at omdøbe attributter for en relation.

ρ (a/b)R vil omdøbe attributten 'b' i relation til 'a'.

Unionsdrift (υ)

UNION er symboliseret med symbolet ∪. Det inkluderer alle tupler, der er i tabel A eller i B. Det eliminerer også duplikerede tupler. Så sæt A UNION sæt B ville blive udtrykt som:

Resultatet <- A ∪ B

For at en fagforeningsdrift er gyldig, skal følgende betingelser være gældende –

  • R og S skal være det samme antal attributter.
  • Attributdomæner skal være kompatible.
  • Duplikerede tupler skal fjernes automatisk.

Eksempel

Overvej følgende tabeller.

Tabel A
Tabel B
kolonne 1 kolonne 2 kolonne 1 kolonne 2
1 1 1 1
1 2 1 3

A ∪ B giver

Tabel A ∪ B
kolonne 1 kolonne 2
1 1
1 2
1 3

Indstil forskel (-)

– Symbol angiver det. Resultatet af A – B er en relation, der inkluderer alle tupler, der er i A, men ikke i B.

  • Attributnavnet på A skal matche med attributnavnet i B.
  • To-operand-relationerne A og B bør enten være kompatible eller EU-kompatible.
  • Det bør defineres relation bestående af tupler, der er i relation A, men ikke i B.

Eksempel

A-B
Tabel A – B
kolonne 1 kolonne 2
1 2

Vejkryds

Et skæringspunkt er defineret af symbolet ∩

A ∩ B

Definerer en relation, der består af et sæt af alle tuple, der er i både A og B. A og B skal dog være foreningskompatible.

Vejkryds
Visuel definition af skæringspunkt

Eksempel:

A ∩ B
Tabel A ∩ B
kolonne 1 kolonne 2
1 1

Kartesisk produkt(X) i DBMS

Kartesisk produkt i DBMS er en operation, der bruges til at flette kolonner fra to relationer. Generelt er et kartesisk produkt aldrig en meningsfuld operation, når det udfører alene. Men det bliver meningsfuldt, når det efterfølges af andre operationer. Det kaldes også Cross Product eller Cross Join.

Eksempel – kartesisk produkt

σ kolonne 2 = '1' (AXB)

Output – Ovenstående eksempel viser alle rækker fra relation A og B, hvis kolonne 2 har værdi 1

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

Bliv Medlem Operationer

Tilslutningsdrift er i det væsentlige et kartesisk produkt efterfulgt af et udvælgelseskriterium.

Tilslut operationen angivet med ⋈.

JOIN-operationen gør det også muligt at forbinde forskellige relaterede tuples fra forskellige relationer.

Typer af JOIN:

Forskellige former for join-operation er:

Indre sammenføjninger:

  • Theta slutter sig
  • EQUI tilslutte sig
  • Naturlig sammenføjning

Ydre samling:

  • Venstre ydre samling
  • Højre ydre samling
  • Fuld ydre tilslutning

Indvendig sammenføjning

I en indre sammenføjning medtages kun de tupler, der opfylder matchningskriterierne, mens resten udelukkes. Lad os studere forskellige typer af indre led:

Theta Deltag

Det generelle tilfælde af JOIN-operation kaldes en Theta-join. Det er angivet med symbol θ

Eksempel

A ⋈θ B

Theta join kan bruge alle betingelser i udvælgelseskriterierne.

For eksempel:

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

EQUI tilslutte sig

Når en theta-join kun bruger ækvivalensbetingelse, bliver den en equi-join.

For eksempel:

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

EQUI join er den sværeste operation at implementere effektivt ved hjælp af SQL i et RDBMS og en grund til hvorfor RDBMS har væsentlige præstationsproblemer.

NATURLIG JOIN (⋈)

Naturlig sammenføjning kan kun udføres, hvis der er en fælles attribut (kolonne) mellem relationerne. Navnet og typen af ​​attributten skal være den samme.

Eksempel

Overvej følgende to tabeller

C
I Firkant
2 4
3 9
D
I Cube
2 8
3 27
C ⋈ D
C ⋈ D
I Firkant Cube
2 4 8
3 9 27

YDRE Deltager

I en ydre sammenføjning, sammen med tupler, der opfylder matchningskriterierne, inkluderer vi også nogle eller alle tupler, der ikke matcher kriterierne.

Venstre ydre samling (A ⟕ B)

I den venstre ydre joinforbindelse tillader operation at holde alle tuple i venstre relation. Men hvis der ikke findes nogen matchende tuple i den rigtige relation, er attributterne for den rigtige relation i sammenføjningsresultatet udfyldt med null-værdier.

Venstre ydre samling

Overvej følgende 2 tabeller

A
I Firkant
2 4
3 9
4 16
B
I Cube
2 8
3 18
5 75
A Left Outer Join B
A ⋈ B
I Firkant Cube
2 4 8
3 9 18
4 16 -

Højre ydre samling (A ⟖ B)

I den højre ydre sammenføjning tillader betjening at holde alle tuple i det rigtige forhold. Men hvis der ikke findes en matchende tuple i den venstre relation, så er attributterne for den venstre relation i sammenføjningsresultatet udfyldt med null-værdier.

Højre ydre samling

A Right Outer Join B
A ⋈ B
I Cube Firkant
2 8 4
3 18 9
5 75 -

Fuld ydre forbindelse (A ⟗ B)

I en fuld ydre sammenføjning er alle tupler fra begge relationer inkluderet i resultatet, uanset den matchende betingelse.

A Full Outer Join B
A ⋈ B
I Cube Firkant
2 4 8
3 9 18
4 16 -
5 - 75

Resumé

Operation (Symboler) Formål
Vælg(σ) SELECT-operationen bruges til at vælge en delmængde af tuplerne i henhold til en given udvælgelsesbetingelse
Projektion(π) Projektionen eliminerer alle attributter i inputrelationen, bortset fra dem, der er nævnt i projektionslisten.
Union Operation(∪) UNION er symboliseret med symbol. Det inkluderer alle tupler, der er i tabel A eller i B.
Indstil forskel(-) – Symbol angiver det. Resultatet af A – B er en relation, der inkluderer alle tupler, der er i A, men ikke i B.
Kryds (∩) Skæring definerer en relation bestående af et sæt af alle tuple, der er i både A og B.
Kartesisk produkt (X) Kartesisk operation er nyttig til at flette kolonner fra to relationer.
Indvendig sammenføjning Inner join, inkluderer kun de tuples, der opfylder matchningskriterierne.
Theta Join(θ) Det generelle tilfælde af JOIN-operation kaldes en Theta-join. Det er angivet med symbolet θ.
EQUI Deltag Når en theta-join kun bruger ækvivalensbetingelse, bliver den en equi-join.
Natural Join(⋈) Naturlig sammenføjning kan kun udføres, hvis der er en fælles attribut (kolonne) mellem relationerne.
Ydre tilslutning I en ydre sammenføjning, sammen med tupler, der opfylder matchningskriterierne.
Venstre ydre led(Venstre ydre samling) I den venstre ydre joinforbindelse tillader operation at holde alle tuple i venstre relation.
Højre ydre sammenføjning (Højre ydre sammenføjning) I den højre ydre sammenføjning tillader betjening at holde alle tuple i det rigtige forhold.
Fuld ydre forbindelse (Fuld ydre tilslutning) I en fuld ydre sammenføjning er alle tupler fra begge relationer inkluderet i resultatet uanset den matchende betingelse.

Læs mere Læs mere