Relační algebra v DBMS: Operas příklady

Relační algebra

VZTAHOVÁ ALGEBRA je široce používaný procedurální dotazovací jazyk. Shromažďuje instance vztahů jako vstup a dává výskyty vztahů jako výstup. K provedení této akce používá různé operace. SQL Operace dotazů relační algebry se provádějí rekurzivně na relaci. Výstupem těchto operací je nový vztah, který může být vytvořen z jednoho nebo více vstupních vztahů.

Základní SQL relační algebra Operace

Relační algebra rozdělená do různých skupin

Unární relační Operace

  • VYBRAT (symbol: σ)
  • PROJEKT (symbol: π)
  • PŘEJMENOVAT (symbol: ρ)

Relační algebra Operaz teorie množin

  • UNION (υ)
  • INTERSECTION ( ),
  • ROZDÍL (-)
  • KARTÉZSKÝ PRODUKT ( x )

Binární relační Operace

  • REGISTRACE
  • DIVIZE

Pojďme si je podrobně prostudovat s řešeními:

VYBRAT (σ)

Operace SELECT se používá pro výběr podmnožiny n-tic podle dané podmínky výběru. Symbol Sigma(σ) to označuje. Používá se jako výraz pro výběr n-tic, které splňují podmínku výběru. Operátor Select vybere n-tice, které splňují daný predikát.

σp(r)

σ je predikát

r znamená vztah, což je název tabulky

p je předložková logika

Příklad 1

σ topic = "Database" (Tutorials)

Výstup – Vybere n-tice z výukových programů, kde téma = 'Databáze'.

Příklad 2

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

Výstup – Vybere n-tice z výukových programů, kde je téma 'Databáze' a 'autor' je guru99.

Příklad 3

σ sales > 50000 (Customers)

Výstup – Vybírá n-tice od zákazníků, u kterých je prodej větší než 50000 XNUMX

Projekce (π)

Projekce eliminuje všechny atributy vstupního vztahu kromě těch, které jsou uvedeny v seznamu projekcí. Metoda projekce definuje vztah, který obsahuje vertikální podmnožinu vztahu.

To pomáhá extrahovat hodnoty zadaných atributů a eliminovat duplicitní hodnoty. Symbol (pi) se používá k výběru atributů ze vztahu. Tento operátor vám pomůže zachovat určité sloupce z relace a ostatní sloupce zahodí.

Příklad projekce:

Zvažte následující tabulku

Zákaznické identifikační číslo Jméno zákazníka Status
1 Google Aktivní
2 Amazon Aktivní
3 jablko Neaktivní
4 Alibaba Aktivní

Zde se zobrazí projekce CustomerName a status

Π CustomerName, Status (Customers)
Jméno zákazníka Status
Google Aktivní
Amazon Aktivní
jablko Neaktivní
Alibaba Aktivní

Přejmenovat (ρ)

Přejmenování je unární operace používaná k přejmenování atributů relace.

ρ (a/b)R přejmenuje atribut 'b' vztahu na 'a'.

Unie operace (υ)

UNION je symbolizován symbolem ∪. Zahrnuje všechny n-tice, které jsou v tabulkách A nebo B. Také eliminuje duplicitní n-tice. Takže množina A UNION množina B by byla vyjádřena jako:

Výsledek <- A ∪ B

Aby byla operace sjednocení platná, musí splňovat následující podmínky –

  • R a S musí mít stejný počet atributů.
  • Domény atributů musí být kompatibilní.
  • Duplicitní n-tice by měly být automaticky odstraněny.

Příklad

Zvažte následující tabulky.

Tabulka A
Tabulka B
sloupec 1 sloupec 2 sloupec 1 sloupec 2
1 1 1 1
1 2 1 3

A ∪ B dává

Tabulka A ∪ B
sloupec 1 sloupec 2
1 1
1 2
1 3

Nastavit rozdíl (-)

– Symbol to označuje. Výsledkem A – B je vztah, který zahrnuje všechny n-tice, které jsou v A, ale ne v B.

  • Název atributu A se musí shodovat s názvem atributu v B.
  • Vztahy dvou operandů A a B by měly být buď kompatibilní, nebo kompatibilní s Unií.
  • Měl by být definován vztah sestávající z n-tic, které jsou ve vztahu A, ale ne v B.

Příklad

A-B
Tabulka A – B
sloupec 1 sloupec 2
1 2

Křižovatka

Průsečík je definován symbolem ∩

A ∩ B

Definuje relaci sestávající z množiny všech n-tic, které jsou v A i B. A a B však musí být slučitelné se sjednocením.

Křižovatka
Vizuální definice křižovatky

Příklad:

A ∩ B
Tabulka A ∩ B
sloupec 1 sloupec 2
1 1

Kartézský součin (X) v DBMS

Kartézský součin v DBMS je operace používaná ke sloučení sloupců ze dvou vztahů. Obecně platí, že kartézský součin není nikdy smysluplnou operací, když funguje samostatně. Smysluplný však nabývá, když po něm následují další operace. Říká se mu také Cross Product nebo Cross Join.

Příklad – kartézský součin

σ sloupec 2 = '1' (AXB)

Výstup – Výše ​​uvedený příklad ukazuje všechny řádky ze vztahu A a B, jejichž sloupec 2 má hodnotu 1

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

Připojte Operace

Spojování je v podstatě kartézský produkt, za kterým následuje výběrové kritérium.

Operace spojení označená ⋈.

Operace JOIN také umožňuje spojování různě příbuzných n-tic z různých vztahů.

Typy JOIN:

Různé formy operace spojení jsou:

Vnitřní spoje:

  • Připojte se k Theta
  • Připojte se EQUI
  • Přirozené spojení

Vnější spojení:

  • Levý vnější spoj
  • Pravé vnější spojení
  • Úplné vnější připojení

Vnitřní spojení

Ve vnitřním spojení jsou zahrnuty pouze ty n-tice, které splňují kritéria shody, zatímco ostatní jsou vyloučeny. Pojďme studovat různé typy vnitřních spojení:

Theta Připojte se

Obecný případ operace JOIN se nazývá připojení Theta. Označuje se symbolem θ

Příklad

A ⋈θ B

Theta join může použít libovolné podmínky ve výběrových kritériích.

Například:

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

Připojte se EQUI

Když theta spojení používá pouze podmínku ekvivalence, stává se ekvi spojením.

Například:

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

EQUI join je nejobtížnější operace pro efektivní implementaci pomocí SQL v RDBMS a jeden důvod proč RDBMS mají zásadní problémy s výkonem.

PŘIROZENÉ PŘIPOJENÍ (⋈)

Přirozené spojení lze provést pouze v případě, že mezi vztahy existuje společný atribut (sloupec). Název a typ atributu musí být stejný.

Příklad

Zvažte následující dvě tabulky

C
V náměstí
2 4
3 9
D
V Kostka
2 8
3 27
C ⋈ D
C⋈ D
V náměstí Kostka
2 4 8
3 9 27

VNĚJŠÍ PŘIPOJENÍ

Ve vnějším spojení spolu s n-ticemi, které splňují kritéria shody, zahrneme také některé nebo všechny n-tice, které kritériím neodpovídají.

Levý vnější spoj (A ⟕ B)

V levém vnějším spojení operace umožňuje zachovat všechny n-tice v levém vztahu. Pokud však není nalezena žádná odpovídající n-tice ve správném vztahu, pak jsou atributy správného vztahu ve výsledku spojení vyplněny hodnotami null.

Levý vnější spoj

Zvažte následující 2 tabulky

A
V náměstí
2 4
3 9
4 16
B
V Kostka
2 8
3 18
5 75
A Left Outer Join B
A ⋈ B
V náměstí Kostka
2 4 8
3 9 18
4 16 -

Pravý vnější spoj (A ⟖ B)

V pravém vnějším spojení umožňuje operace udržovat všechny n-tice ve správném vztahu. Pokud však v levém vztahu není nalezena žádná odpovídající n-tice, pak jsou atributy levého vztahu ve výsledku spojení vyplněny hodnotami null.

Pravé vnější spojení

A Right Outer Join B
A ⋈ B
V Kostka náměstí
2 8 4
3 18 9
5 75 -

Úplné vnější spojení (A ⟗ B)

V úplném vnějším spojení jsou do výsledku zahrnuty všechny n-tice z obou vztahů, bez ohledu na podmínku shody.

A Full Outer Join B
A ⋈ B
V Kostka náměstí
2 4 8
3 9 18
4 16 -
5 - 75

Shrnutí

Operation (symboly) Účel
Vybrat (σ) Operace SELECT se používá pro výběr podmnožiny n-tic podle dané podmínky výběru
Projekce (π) Projekce eliminuje všechny atributy vstupního vztahu kromě těch, které jsou uvedeny v seznamu projekcí.
svaz Operation (∪) UNION je symbolizován symbolem. Zahrnuje všechny n-tice, které jsou v tabulkách A nebo B.
Nastavit rozdíl (-) – Symbol to označuje. Výsledkem A – B je vztah, který zahrnuje všechny n-tice, které jsou v A, ale ne v B.
Křižovatka (∩) Průnik definuje vztah sestávající z množiny všech n-tic, které jsou v A i B.
Kartézský součin (X) Kartézská operace je užitečná pro sloučení sloupců ze dvou vztahů.
Vnitřní spojení Vnitřní spojení zahrnuje pouze ty n-tice, které splňují kritéria shody.
Theta Join (θ) Obecný případ operace JOIN se nazývá připojení Theta. Označuje se symbolem θ.
EQUI Připojte se Když theta spojení používá pouze podmínku ekvivalence, stává se ekvi spojením.
Přirozené spojení (⋈) Přirozené spojení lze provést pouze v případě, že mezi vztahy existuje společný atribut (sloupec).
Vnější připojení Ve vnějším spojení spolu s n-ticemi, které splňují kritéria shody.
Levý vnější spoj (Levý vnější spoj) V levém vnějším spojení operace umožňuje zachovat všechny n-tice v levém vztahu.
Pravé vnější spojení (Pravý vnější spoj) V pravém vnějším spojení umožňuje operace udržovat všechny n-tice ve správném vztahu.
Úplné vnější spojení (Úplné vnější připojení) V úplném vnějším spojení jsou do výsledku zahrnuty všechny n-tice z obou vztahů bez ohledu na podmínku shody.