Relationsalgebra i DBMS: Operationer med eksempler

Indholdsfortegnelse:

Anonim

Relational algebra

RELATIONAL ALGEBRA er et meget anvendt procedureforespørgselssprog. Det samler forekomster af relationer som input og giver forekomster af relationer som output. Det bruger forskellige operationer til at udføre denne handling. SQL-relationelle algebra-forespørgselshandlinger udføres rekursivt på en relation. Resultatet af disse operationer er et nyt forhold, der kan dannes ud fra en eller flere inputrelationer.

I denne vejledning lærer du:

  • Relational algebra
  • VÆLG (σ)
  • Fremspring (π)
  • Omdøb (ρ)
  • Unionens drift (υ)
  • Indstil forskel (-)
  • Vejkryds
  • Kartesisk produkt (X)
  • Deltag i operationer
  • Indvendig samling:
  • Theta Deltag i:
  • EQUI deltager:
  • NATURLIG SAMLING (⋈)
  • YDRE MEDLEM
  • Venstre ydre samling (A B)
  • Højre ydre samling: (A B)
  • Fuld ydre samling: (A B)

Grundlæggende SQL-relationelle algebra-operationer

Relationsalgebra delte sig i forskellige grupper

Unary relationelle operationer

  • VÆLG (symbol: σ)
  • PROJEKT (symbol: π)
  • RENAME (symbol: ρ)

Relationelle algebraoperationer fra sætteori

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

Binære relationelle operationer

  • TILSLUTTE
  • DIVISION

Lad os studere dem detaljeret med løsninger:

VÆLG (σ)

SELECT-operationen bruges til at vælge en delmængde af tuplerne i henhold til en given valgtilstand. Sigma (σ) Symbol betegner det. Det bruges som et udtryk for at vælge tupler, der opfylder udvalgsbetingelsen. Vælg operatør vælger tupler, der tilfredsstiller et givet prædikat.

σp(r) σer prædikatet rstår for relation, som er navnet på tabellen per præpositionel logik

Eksempel 1

σ topic = "Database" (Tutorials)

Output - Vælger tupler fra Tutorials hvor topic = 'Database'.

Eksempel 2

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

Output - Vælger tupler fra selvstudier, hvor emnet er 'Database' og 'forfatter' er guru99.

Eksempel 3

σ sales > 50000 (Customers)

Output - Vælger tupler fra kunder, hvor salget er større end 50000

Fremspring (π)

Projektionen eliminerer alle attributter for inputrelationen, men dem, der er nævnt i projiceringslisten. Projektionsmetoden definerer en relation, der indeholder en lodret undergruppe af relation.

Dette hjælper med at udtrække værdierne for specificerede attributter for at eliminere duplikatværdier. (pi) symbol bruges til at vælge attributter fra en relation. Denne operatør hjælper dig med at holde bestemte 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 Æble Inaktiv
4 Alibaba Aktiv

Her vil fremskrivningen af ​​Kundenavn og status give

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

Omdøb (ρ)

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

ρ (a / b) R omdøber attributten 'b' for relation med 'a'.

Unionens drift (υ)

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

Resultatet <- A ∪ B

For at en fagforening skal være 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.
  • Dupliserede tupletter skal automatisk fjernes.

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 betegner 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.
  • De to-operand-forbindelser A og B skal være enten kompatible eller EU-kompatible.
  • Det skal defineres relation bestående af tuplerne, der er i relation A, men ikke i B.

Eksempel

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

Vejkryds

Et kryds defineres med symbolet ∩

A ∩ B

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

Visuel definition af kryds

Eksempel:

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

Cartesian Product (X) i DBMS

Cartesian Product 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. Det bliver dog 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

Deltag i operationer

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

Deltag i operation betegnet med ⋈.

JOIN-operation tillader også sammenføjning af forskellige relaterede tuples fra forskellige relationer.

Typer af JOIN:

Forskellige former for tilslutning er:

Indvendige sammenføjninger:

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

Ydre samling:

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

Indvendig samling:

I en indre sammenføjning er kun de tupler, der opfylder matchende kriterier, inkluderet, mens resten er udelukket. Lad os studere forskellige typer indre forbindelser:

Theta Deltag i:

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

Eksempel

A ⋈θ B

Theta-deltagelse 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 deltager:

Når en theta-sammenføjning kun bruger ækvivalensbetingelse, bliver den til en equi-sammenføjning.

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-tilslutning er de sværeste operationer, der skal implementeres effektivt ved hjælp af SQL i en RDBMS, og en af ​​grundene til, at RDBMS har væsentlige ydeevneproblemer.

NATURLIG SAMLING (⋈)

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

Eksempel

Overvej følgende to tabeller

C
Num Firkant
2 4
3 9
D
Num Terning
2 8
3 27
C ⋈ D
C ⋈ D
Num Firkant Terning
2 4 4
3 9 27

YDRE MEDLEM

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

Venstre ydre samling (A B)

I venstre ydre sammenføjning tillader betjening at holde alle tupler i venstre forhold. Men hvis der ikke findes nogen matchende tuple i den rigtige relation, udfyldes attributterne for den rette relation i sammenføjningsresultatet med nulværdier.

Overvej følgende 2 tabeller

EN
Num Firkant
2 4
3 9
4 16
B
Num Terning
2 8
3 18
5 75
A  B
A ⋈ B
Num Firkant Terning
2 4 4
3 9 9
4 16 -

Højre ydre samling: (A B)

I den højre ydre sammenføjning tillader betjening at holde alle tupler i det rigtige forhold. Men hvis der ikke findes nogen matchende tuple i den venstre relation, udfyldes attributterne for den venstre relation i sammenføjningsresultatet med nulværdier.

A  B
A ⋈ B
Num Terning Firkant
2 8 4
3 18 9
5 75 -

Fuld ydre samling: (A B)

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

A  B
A ⋈ B
Num Terning Firkant
2 4 8
3 9 18
4 16 -
5 - 75

Resumé

Betjening (symboler)

Formål

Vælg (σ)

SELECT-operationen bruges til at vælge en delmængde af tuplerne i henhold til en given valgtilstand

Fremspring (π)

Projektionen eliminerer alle attributter for inputrelationen, men dem, der er nævnt i projiceringslisten.

Union Operation (∪)

UNION er symboliseret med symbol. Det inkluderer alle tupler, der findes i tabel A eller B.

Indstil forskel (-)

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

Kryds (∩)

Kryds definerer en relation, der består af et sæt af alle tupler, der er i både A og B.

Cartesian Product (X)

Kartesisk operation er nyttigt at flette kolonner fra to relationer.

Indvendig sammenføjning

Indre sammenføjning inkluderer kun de tupler, der opfylder matchende kriterier.

Theta Join (θ)

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

EQUI Deltag

Når en theta-sammenføjning kun bruger ækvivalensbetingelse, bliver den til en equi-sammenføjning.

Natural Join (⋈)

Naturlig sammenføjning kan kun udføres, hvis der er en fælles attribut (kolonne) mellem forholdet.

Ydre tilslutning

I en ydre sammenføjning sammen med tupler, der opfylder matchende kriterier.

Venstre ydre samling ( )

I venstre ydre sammenføjning tillader betjening at holde alle tupler i venstre forhold.

Højre ydre samling ( )

I den højre ydre sammenføjning tillader betjening at holde alle tupler i det rigtige forhold.

Fuld ydre samling ( )

I en fuld ydre sammenføjning er alle tupler fra begge forhold inkluderet i resultatet uanset den matchende tilstand.