Relasjonsalgebra i DBMS: Operasjoner med eksempler

Relasjonsalgebra

RELATIONAL ALGEBRA er et mye brukt prosessuelt spørrespråk. Den samler forekomster av relasjoner som input og gir forekomster av relations som output. Den bruker forskjellige operasjoner for å utføre denne handlingen. SQL Relational algebra spørringsoperasjoner utføres rekursivt på en relasjon. Resultatet av disse operasjonene er et nytt forhold, som kan være dannet av en eller flere inngangsrelasjoner.

I denne opplæringen lærer du:

  • Relasjonsalgebra
  • VELG (σ)
  • Projeksjon (π)
  • Gi nytt navn (ρ)
  • Union operation (υ)
  • Sett forskjell (-)
  • Kryss
  • Kartesisk produkt (X)
  • Bli med i Operasjoner
  • Indre sammenføyning:
  • Theta Bli med:
  • EQUI bli med:
  • NATURLIG BLI MED (⋈)
  • YTRE MEDLEM
  • Venstre ytre skjøt (A B)
  • Høyre ytre skjøt: (A B)
  • Full ytre skjøt: (A B)

Grunnleggende SQL-relasjonsalgebraoperasjoner

Relasjonsalgebra delte seg i forskjellige grupper

Unary Relational Operations

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

Relasjonelle algebraoperasjoner fra settteori

  • UNION (υ)
  • SKJERRING (),
  • FORSKJELL (-)
  • CARTESIAN PRODUKT (x)

Binære relasjonsoperasjoner

  • BLI MED
  • INNDELING

La oss studere dem i detalj med løsninger:

VELG (σ)

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

σp(r) σer predikatet rstår for relasjon som er navnet på tabellen per preposisjonslogikk

Eksempel 1

σ topic = "Database" (Tutorials)

Output - Velger tupler fra Tutorials der topic = 'Database'.

Eksempel 2

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

Output - Velger tuples fra Tutorials der emnet er 'Database' og 'author' er guru99.

Eksempel 3

σ sales > 50000 (Customers)

Output - Velger tupler fra kunder der salget er større enn 50000

Projeksjon (π)

Projeksjonen eliminerer alle attributtene til inngangsrelasjonen, men de som er nevnt i projeksjonslisten. Projeksjonsmetoden definerer en relasjon som inneholder en vertikal delmengde av Relasjon.

Dette hjelper til med å trekke ut verdiene til spesifiserte attributter for å eliminere dupliserte verdier. (pi) symbol brukes til å velge attributter fra en relasjon. Denne operatøren 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 projiseringen av CustomerName og status gi

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

Gi nytt navn (ρ)

Endre navn er en unarisk operasjon som brukes til å gi nytt navn til attributter for en relasjon.

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

Union operation (υ)

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

Resultatet <- A ∪ B

For at en fagforeningsaksjon skal være gyldig, må følgende vilkår være gyldige:

  • R og S må være like mange attributter.
  • Attributtdomener må være kompatible.
  • Dupliserte tupletter bør 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

Sett forskjell (-)

- Symbol betegner det. Resultatet av A - B er et forhold som inkluderer alle tuplene som er i A, men ikke i B.

  • Attributtnavnet til A må samsvare med attributtnavnet i B.
  • De to operandeforholdene A og B skal være enten kompatible eller unionskompatible.
  • Det bør defineres relasjon bestående av tuplene som er i forhold A, men ikke i B.

Eksempel

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

Kryss

Et kryss er definert av symbolet ∩

A ∩ B

Definerer en relasjon som består av et sett med all tuple som er i både A og B. A og B må imidlertid være fagforenlig.

Visuell definisjon av kryss

Eksempel:

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

Kartesisk produkt (X) i DBMS

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

Eksempel - kartesisk produkt

σ kolonne 2 = '1' (AXB)

Output - Eksemplet ovenfor viser alle rader fra forhold A og B hvis kolonne 2 har verdi 1

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

Bli med i Operasjoner

Join operation er egentlig et kartesisk produkt etterfulgt av et utvalgskriterium.

Bli med i operasjonen betegnet med ⋈.

JOIN-operasjon tillater også å bli med forskjellige relaterte tupler fra forskjellige relasjoner.

Typer JOIN:

Ulike former for medvirkning er:

Indre sammenføyninger:

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

Ytre sammenføyning:

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

Indre sammenføyning:

I en indre sammenføyning er bare de tuplene som oppfyller samsvarende kriterier inkludert, mens resten er ekskludert. La oss studere forskjellige typer indre sammenføyninger:

Theta Bli med:

Det generelle tilfellet med JOIN-operasjon kalles en Theta-join. Det er betegnet med symbolet θ

Eksempel

A ⋈θ B

Theta join kan bruke alle forhold 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-kobling bare bruker ekvivalensbetingelser, blir 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-sammenkobling er de vanskeligste operasjonene for å implementere effektivt ved hjelp av SQL i en RDBMS, og en grunn til at RDBMS har viktige ytelsesproblemer.

NATURLIG BLI MED (⋈)

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

Eksempel

Tenk på følgende to tabeller

C
Num Torget
2 4
3 9
D
Num Kube
2 8
3 27
C ⋈ D
C ⋈ D
Num Torget Kube
2 4 4
3 9 27

YTRE MEDLEM

I en ytre skjøt, sammen med tupler som tilfredsstiller samsvarende kriterier, inkluderer vi også noen eller alle tupler som ikke samsvarer med kriteriene.

Venstre ytre skjøt (A B)

I venstre ytre sammenføyning tillater operasjon å holde all tuple i venstre forhold. Imidlertid, hvis det ikke er samsvarende tuple, blir funnet i riktig forhold, blir attributtene til riktig forhold i sammenføyningsresultatet fylt med nullverdier.

Tenk på følgende to tabeller

EN
Num Torget
2 4
3 9
4 16
B
Num Kube
2 8
3 18
5 75
A  B
A ⋈ B
Num Torget Kube
2 4 4
3 9 9
4 16 -

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

I høyre ytre skjøt tillater operasjon å holde alle tupler i riktig forhold. Imidlertid, hvis det ikke finnes noen matchende tuple i venstre forhold, blir attributtene til venstre forhold i sammenføyningsresultatet fylt med nullverdier.

A  B
A ⋈ B
Num Kube Torget
2 8 4
3 18 9
5 75 -

Full ytre skjøt: (A B)

I en full ytre sammenføyning er alle tuplene fra begge forhold inkludert i resultatet, uavhengig av samsvarende tilstand.

A  B
A ⋈ B
Num Kube Torget
2 4 8
3 9 18
4 16 -
5 - 75

Sammendrag

Betjening (symboler)

Hensikt

Velg (σ)

SELECT-operasjonen brukes til å velge en delmengde av tuplene i henhold til en gitt valgtilstand

Projeksjon (π)

Projeksjonen eliminerer alle attributtene til inngangsrelasjonen, men de som er nevnt i projeksjonslisten.

Union Operation (∪)

UNION er symbolisert med symbol. Den inkluderer alle tuplene som er i tabell A eller B.

Sett forskjell (-)

- Symbol betegner det. Resultatet av A - B er et forhold som inkluderer alle tuplene som er i A, men ikke i B.

Kryss (∩)

Kryss definerer en relasjon som består av et sett med all tuple 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

Indre sammenføyning, inkluderer bare de tuplene som tilfredsstiller samsvarende kriterier.

Theta Join (θ)

Det generelle tilfellet med JOIN-operasjon kalles en Theta-join. Det er betegnet med symbolet θ.

EQUI Bli med

Når en theta-kobling bare bruker ekvivalensbetingelser, blir den en equi-join.

Natural Join (⋈)

Naturlig sammenføyning kan bare utføres hvis det er en felles attributt (kolonne) mellom relasjonene.

Ytre sammenføyning

I en ytre skjøt, sammen med tupler som tilfredsstiller samsvarende kriterier.

Venstre ytre skjøt ( )

I venstre ytre sammenføyning tillater operasjon å holde all tuple i venstre forhold.

Høyre ytre sammenføyning ( )

I høyre ytre skjøt tillater operasjon å holde alle tupler i riktig forhold.

Full ytre sammenføyning ( )

I en full ytre skjøt er alle tuplene fra begge relasjoner inkludert i resultatet uavhengig av samsvarende tilstand.

Interessante artikler...