Relační algebra v DBMS: Operace s příklady

Obsah:

Anonim

Relační algebra

RELATIONAL ALGEBRA je široce používaný jazyk procedurálních dotazů. Shromažďuje instance relací jako vstup a dává výskyty relací jako výstup. K provedení této akce používá různé operace. Operace dotazu relační algebry SQL 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ů.

V tomto výukovém programu se naučíte:

  • Relační algebra
  • SELECT (σ)
  • Projekce (π)
  • Přejmenovat (ρ)
  • Operace Unie (υ)
  • Nastavit rozdíl (-)
  • Průsečík
  • Kartézský součin (X)
  • Připojte se k operacím
  • Vnitřní spojení:
  • Theta Připojte se:
  • Připojení EQUI:
  • PŘÍRODNÍ PŘIPOJENÍ (⋈)
  • VNĚJŠÍ PŘIPOJENÍ
  • Levý vnější spoj (A B)
  • Pravý vnější spoj: (A B)
  • Úplné vnější spojení: (A B)

Základní operace relační algebry SQL

Relační algebra se dělila do různých skupin

Unární relační operace

  • VYBRAT (symbol: σ)
  • PROJEKT (symbol: π)
  • RENAME (symbol: ρ)

Operace relační algebry z teorie množin

  • UNIE (υ)
  • KŘÍŽENÍ (),
  • ROZDÍL (-)
  • KARTÁSKÝ VÝROBEK (x)

Binární relační operace

  • PŘIPOJIT SE
  • DIVIZE

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

SELECT (σ)

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

σp(r) σje predikát rznamená relace, což je název tabulky, pje předložková logika

Příklad 1

σ topic = "Database" (Tutorials)

Výstup - Vybírá n-tice z Tutoriálů, kde topic = 'Databáze'.

Příklad 2

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

Výstup - Vybírá n-tice z Tutoriálů, kde téma je „Databáze“ a „autor“ je guru99.

Příklad 3

σ sales > 50000 (Customers)

Výstup - Vybírá n-tice od zákazníků, u nichž je prodej vyšší než 50 000

Projekce (π)

Projekce vylučuje všechny atributy vstupního vztahu kromě těch, které jsou uvedeny v seznamu projekcí. Metoda projekce definuje relaci, která obsahuje vertikální podmnožinu relace.

To pomáhá extrahovat hodnoty zadaných atributů a eliminovat tak duplicitní hodnoty. Symbol (pi) se používá k výběru atributů z relace. Tento operátor vám pomůže udržet konkrétní sloupce z relace a zahodí ostatní sloupce.

Příklad projekce:

Zvažte následující tabulku

Zákaznické identifikační číslo Jméno zákazníka Postavení
1 Google Aktivní
2 Amazonka Aktivní
3 Jablko Neaktivní
4 Alibaba Aktivní

Zde se zobrazí projekce CustomerName a stavu

Π CustomerName, Status (Customers)
Jméno zákazníka Postavení
Google Aktivní
Amazonka 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“ relace na „a“.

Operace Unie (υ)

UNIE je symbolizována symbolem ∪. Zahrnuje všechny n-tice, které jsou v tabulkách A nebo B. Rovněž eliminuje duplicitní n-tice. Sada A UNION sada B by byla vyjádřena jako:

Výsledek <- A ∪ B

Aby byla operace unie platná, musí platit následující podmínky -

  • R a S musí mít stejný počet atributů.
  • Atributové domény 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 kompatibilní nebo kompatibilní s Unií.
  • Měl by být definován vztah skládající se 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

Průsečík

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

A ∩ B

Definuje relaci skládající se ze sady všech n-tic, které jsou v A i B. Avšak A a B musí být kompatibilní s unií.

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 relací. Kartézský produkt obecně nikdy není smysluplnou operací, pokud se provádí samostatně. Stává se však smysluplným, když po něm následují další operace. Nazývá se 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 se k operacím

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

Operace připojení označená ⋈.

Operace JOIN také umožňuje spojovat různě související n-tice z různých vztahů.

Typy PŘIPOJENÍ:

Různé formy operace spojení jsou:

Vnitřní spojení:

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

Vnější spojení:

  • Levý vnější spoj
  • Pravý vnější spoj
  • Ú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 si prostudovat různé typy vnitřních spojení:

Theta Připojte se:

Obecný případ operace JOIN se nazývá spojení Theta. Je označen symbolem θ

Příklad

A ⋈θ B

Theta join může v kritériích výběru použít jakékoli podmínky.

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řipojení EQUI:

Když spojení theta používá pouze podmínku rovnocennosti, stane se spojením ekv.

Například:

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

Spojení EQUI je nejobtížnější implementací efektivně využívající SQL v RDBMS a jedním z důvodů, proč mají RDBMS zásadní problémy s výkonem.

PŘÍRODNÍ PŘIPOJENÍ (⋈)

Přirozené spojení lze provést, pouze pokud je mezi relacemi společný atribut (sloupec). Název a typ atributu musí být stejné.

Příklad

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

C
Num Náměstí
2 4
3 9
D
Num Krychle
2 8
3 27
C ⋈ D
C ⋈ D
Num Náměstí Krychle
2 4 4
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 udržet všechny n-tice v levém vztahu. Pokud však v pravém vztahu není nalezena žádná odpovídající n-tice, jsou atributy pravého vztahu ve výsledku spojení vyplněny hodnotami null.

Zvažte následující 2 tabulky

A
Num Náměstí
2 4
3 9
4 16
B
Num Krychle
2 8
3 18
5 75
A  B
A ⋈ B
Num Náměstí Krychle
2 4 4
3 9 9
4 16 -

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

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

A  B
A ⋈ B
Num Krychle 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 relací, bez ohledu na podmínku shody.

A  B
A ⋈ B
Num Krychle Náměstí
2 4 8
3 9 18
4 16 -
5 - 75

souhrn

Provoz (symboly)

Účel

Vyberte (σ)

Operace SELECT se používá k výběru podmnožiny n-tic podle dané podmínky výběru

Projekce (π)

Projekce vylučuje všechny atributy vstupního vztahu kromě těch, které jsou uvedeny v seznamu projekcí.

Operace Unie (∪)

UNIE je symbolizována 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 (∩)

Křižovatka definuje vztah skládající se ze sady všech n-tic, které jsou v A i B.

Kartézský součin (X)

Kartézská operace je užitečná ke sloučení sloupců ze dvou relací.

Vnitřní spojení

Vnitřní spojení zahrnuje pouze ty n-tice, které splňují kritéria shody.

Theta Připojit (θ)

Obecný případ operace JOIN se nazývá spojení Theta. Je označen symbolem θ.

Připojte se EQUI

Když spojení theta používá pouze podmínku rovnocennosti, stane se spojením ekv.

Přirozené spojení (⋈)

Přirozené spojení lze provést, pouze pokud je mezi relacemi 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 ( )

V levém vnějším spojení operace umožňuje udržet všechny n-tice v levém vztahu.

Pravé vnější spojení ( )

V pravém vnějším spojení operace umožňuje udržet všechny n-tice ve správném vztahu.

Úplné vnější připojení ( )

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