Relasjonsalgebra i DBMS: Operasjoner med eksempler

Relasjonsalgebra

RELASJONELL ALGEBRA er et mye brukt prosedyrespråk. Den samler forekomster av relasjoner som input og gir forekomster av relasjoner som output. Den bruker forskjellige operasjoner for å utføre denne handlingen. SQL-relasjonelle algebraspørringsoperasjoner utføres rekursivt på en relasjon. Utgangen av disse operasjonene er en ny relasjon, som kan dannes fra en eller flere inngangsrelasjoner.

Grunnleggende SQL Relasjonsalgebra Operasjoner

Relasjonsalgebra delt inn i ulike grupper

Unært relasjonelt Operasjoner

  • VELG (symbol: σ)
  • PROSJEKT (symbol: π)
  • RENAME (symbol: ρ)

Relasjonsalgebra Operasjoner fra settteori

  • UNION (υ)
  • KRYSSING ( ),
  • FORSKJELL (-)
  • KARTESISK PRODUKT ( x )

Binær relasjonell Operasjoner

  • BLI
  • DIVISION

La oss studere dem i detalj med løsninger:

VELG (σ)

SELECT-operasjonen brukes til å velge en delmengde av tuplene i henhold til en gitt valgbetingelse. Sigma(σ)Symbol angir det. Det brukes som uttrykk for å velge tupler som oppfyller seleksjonsbetingelsen. Velg operatør velger tupler som tilfredsstiller et gitt predikat.

σp(r)

σ er predikatet

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

p er preposisjonslogikk

Eksempel 1

σ topic = "Database" (Tutorials)

Produksjon – Velger tuples fra Tutorials der emne = 'Database'.

Eksempel 2

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

Produksjon – Velger tuples fra Tutorials der emnet er 'Database' og 'author' er guru99.

Eksempel 3

σ sales > 50000 (Customers)

Produksjon – Velger tuples fra kunder der salget er større enn 50000 XNUMX

Projeksjon(π)

Projeksjonen eliminerer alle attributter til inngangsrelasjonen bortsett fra de som er nevnt i projeksjonslisten. Projeksjonsmetoden definerer en relasjon som inneholder en vertikal delmengde av relasjon.

Dette bidrar til å trekke ut verdiene til spesifiserte attributter for å eliminere dupliserte verdier. (pi) symbol brukes til å velge attributter fra en relasjon. Denne operatoren hjelper deg med å holde spesifikke kolonner fra en relasjon og forkaster de andre kolonnene.

Eksempel på projeksjon:

Tenk på følgende tabell

Kunde ID Kundenavn status
1 Google Aktiv
2 Amazon Aktiv
3 eple inaktiv
4 Alibaba Aktiv

Her vil projeksjonen av CustomerName og status gi

Π CustomerName, Status (Customers)
Kundenavn status
Google Aktiv
Amazon Aktiv
eple inaktiv
Alibaba Aktiv

Gi nytt navn (ρ)

Gi nytt navn er en unær operasjon som brukes for å gi nytt navn til attributter til en relasjon.

ρ (a/b)R vil gi nytt navn til attributtet 'b' i relasjonen med 'a'.

Fagforeningsdrift (υ)

UNION er symbolisert med symbolet ∪. Den inkluderer alle tupler som er i tabell A eller i B. Den eliminerer også dupliserte tupler. Så sett A UNION sett B vil bli uttrykt som:

Resultatet <- A ∪ B

For at en fagforeningsoperasjon skal være gyldig, må følgende betingelser gjelde –

  • R og S må være like mange attributter.
  • Attributtdomener må være kompatible.
  • Dupliserte tupler skal fjernes automatisk.

Eksempel

Tenk på følgende tabeller.

Tabell A
Tabell B
kolonne 1 kolonne 2 kolonne 1 kolonne 2
1 1 1 1
1 2 1 3

A ∪ B gir

Tabell A ∪ B
kolonne 1 kolonne 2
1 1
1 2
1 3

Angi forskjell (-)

– Symbol angir det. Resultatet av A – B, er en relasjon som inkluderer alle tupler som er i A, men ikke i B.

  • Attributtnavnet til A må samsvare med attributtnavnet i B.
  • To-operandrelasjonene A og B bør enten være kompatible eller Union-kompatible.
  • Det bør defineres relasjon som består av tuplene som er i relasjon A, men ikke i B.

Eksempel

A-B
Tabell A – B
kolonne 1 kolonne 2
1 2

Skjæringspunktet

Et kryss er definert av symbolet ∩

A ∩ B

Definerer en relasjon som består av et sett av alle tupler som er i både A og B. Imidlertid må A og B være unionskompatible.

Skjæringspunktet
Visuell definisjon av kryss

Eksempel:

A ∩ B
Tabell A ∩ B
kolonne 1 kolonne 2
1 1

Kartesisk produkt(X) i DBMS

Kartesisk produkt i DBMS er en operasjon som brukes til å slå sammen kolonner fra to relasjoner. Generelt er et kartesisk produkt aldri en meningsfylt operasjon når det utføres alene. Men det blir meningsfylt når det følges av andre operasjoner. Det kalles også Cross Product eller Cross Join.

Eksempel – kartesisk produkt

σ kolonne 2 = '1' (AXB)

Utdata – Eksempelet ovenfor viser alle rader fra relasjon A og B hvis kolonne 2 har verdi 1

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

Bli med Operasjoner

Deltakelse er i hovedsak et kartesisk produkt etterfulgt av et utvalgskriterium.

Bli med operasjonen merket med ⋈.

JOIN-operasjonen gjør det også mulig å koble sammen forskjellige relaterte tupler fra forskjellige relasjoner.

Typer JOIN:

Ulike former for sammenføyning er:

Indre sammenføyninger:

  • Theta bli med
  • EQUI bli med
  • Naturlig sammenføyning

Ytre skjøt:

  • Venstre ytre skjøt
  • Høyre ytre skjøt
  • Full ytre sammenføyning

Indre sammenføyning

I en indre sammenføyning er bare de tuplene som tilfredsstiller samsvarskriteriene inkludert, mens resten er ekskludert. La oss studere ulike typer indre ledd:

Theta Bli med

Det generelle tilfellet med JOIN-operasjon kalles en Theta-join. Det er merket med symbol θ

Eksempel

A ⋈θ B

Theta join kan bruke alle betingelser i utvalgskriteriene.

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 bli med

Når en theta-sammenføyning kun bruker ekvivalensbetingelse, blir den en ekvivalens.

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 vanskeligste operasjonen å implementere effektivt ved å bruke SQL i en RDBMS og en grunn til hvorfor RDBMS har vesentlige ytelsesproblemer.

NATURLIG JOIN (⋈)

Naturlig sammenføyning kan bare utføres hvis det er en felles attributt (kolonne) mellom relasjonene. Navnet og typen på attributtet må være det samme.

Eksempel

Tenk på de to følgende tabellene

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

YTRE MEDLEM

I en ytre sammenføyning, sammen med tuples som tilfredsstiller samsvarskriteriene, inkluderer vi også noen eller alle tuples som ikke samsvarer med kriteriene.

Venstre ytre skjøt (A ⟕ B)

I den venstre ytre skjøten lar operasjonen holde alle tuple i venstre relasjon. Imidlertid, hvis det ikke er noen samsvarende tuppel i riktig relasjon, fylles attributtene til riktig relasjon i sammenføyningsresultatet med nullverdier.

Venstre ytre skjøt

Tenk på følgende 2 tabeller

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

Høyre ytre skjøt (A ⟖ B)

I den høyre ytre skjøten lar operasjonen holde alle tuple i riktig forhold. Men hvis det ikke er noen samsvarende tuppel i den venstre relasjonen, blir attributtene til den venstre relasjonen i sammenføyningsresultatet fylt med nullverdier.

Høyre ytre skjøt

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

Full ytre skjøt (A ⟗ B)

I en full ytre sammenføyning er alle tupler fra begge relasjoner inkludert i resultatet, uavhengig av matchende betingelse.

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

Sammendrag

Operasjon (Symboler) Formål
Velg(σ) SELECT-operasjonen brukes til å velge en delmengde av tuplene i henhold til en gitt valgbetingelse
Projeksjon(π) Projeksjonen eliminerer alle attributter til inngangsrelasjonen bortsett fra de som er nevnt i projeksjonslisten.
Union Operasjon(∪) UNION er symbolisert med symbol. Det inkluderer alle tupler som er i tabell A eller i B.
Angi forskjell (-) – Symbol angir det. Resultatet av A – B, er en relasjon som inkluderer alle tupler som er i A, men ikke i B.
Kryss (∩) Kryss definerer en relasjon som består av et sett med alle tuppel som er i både A og B.
Kartesisk produkt (X) Kartesisk operasjon er nyttig for å slå sammen kolonner fra to relasjoner.
Indre sammenføyning Inner join, inkluderer bare de tuplene som tilfredsstiller samsvarskriteriene.
Theta Join(θ) Det generelle tilfellet med JOIN-operasjon kalles en Theta-join. Det er merket med symbolet θ.
EQUI Bli med Når en theta-sammenføyning kun bruker ekvivalensbetingelse, blir den en ekvivalens.
Natural Join(⋈) Naturlig sammenføyning kan bare utføres hvis det er en felles attributt (kolonne) mellom relasjonene.
Ytre sammenføyning I en ytre sammenføyning, sammen med tupler som tilfredsstiller samsvarskriteriene.
Venstre ytre skjøt (Venstre ytre skjøt) I den venstre ytre skjøten lar operasjonen holde alle tuple i venstre relasjon.
Høyre ytre sammenføyning (Høyre Ytre skjøt) I den høyre ytre skjøten lar operasjonen holde alle tuple i riktig forhold.
Full Ytre Sammenføyning(Full ytre sammenføyning) I en full ytre sammenføyning er alle tupler fra begge relasjoner inkludert i resultatet uavhengig av matchende betingelse.