Relačná algebra
RELATIONAL ALGEBRA je široko používaný jazyk procedurálnych dotazov. Zhromažďuje inštancie vzťahov ako vstup a dáva výskyty vzťahov ako výstup. Na vykonanie tejto akcie používa rôzne operácie. Operácie dotazu relačnej algebry SQL sa vykonávajú relačne na relácii. Výstupom týchto operácií je nový vzťah, ktorý môže byť tvorený z jedného alebo viacerých vstupných vzťahov.
V tomto návode sa dozviete:
- Relačná algebra
- SELECT (σ)
- Projekcia (π)
- Premenovať (ρ)
- Fungovanie Únie (υ)
- Rozdiel množiny (-)
- Križovatka
- Karteziánsky súčin (X)
- Pripojte sa k operáciám
- Vnútorné pripojenie:
- Theta Pripojte sa:
- Pripojiť sa k EQUI:
- PRÍRODNÉ PRIPOJENIE (⋈)
- VONKAJŠÍ SPOJ
- Ľavé vonkajšie spojenie (A
B)
- Pravý vonkajší spoj: (A
B)
- Úplné vonkajšie spojenie: (A
B)
Základné operácie relačnej algebry SQL
Relačná algebra sa delila do rôznych skupín
Unárne relačné operácie
- SELECT (symbol: σ)
- PROJEKT (symbol: π)
- RENAME (symbol: ρ)
Operácie relačnej algebry z teórie množín
- ÚNIA (υ)
- Križovatka (),
- ROZDIEL (-)
- KARTESSKÝ VÝROBOK (x)
Binárne relačné operácie
- PRIPOJTE SA
- ROZDELENIE
Poďme si ich podrobne preštudovať s riešeniami:
SELECT (σ)
Operácia SELECT sa používa na výber podmnožiny n-tíc podľa danej podmienky výberu. Symbol Sigma (σ) to označuje. Používa sa ako výraz na výber n-tíc, ktoré vyhovujú podmienke výberu. Operátor výberu vyberie n-tice, ktoré vyhovujú danému predikátu.
σp(r)
σ
je predikát r
znamená skratka, čo je názov tabuľky, p
je predložková logika
Príklad 1
σ topic = "Database" (Tutorials)
Výstup - vyberie n-tice z tutoriálov, kde topic = 'Databáza'.
Príklad 2
σ topic = "Database" and author = "guru99"( Tutorials)
Výstup - Vyberie n-tice z tutoriálov, kde téma je 'Databáza' a 'autor' je guru99.
Príklad 3
σ sales > 50000 (Customers)
Výstup - Vyberie tice od zákazníkov, ktorých tržby sú vyššie ako 50 000
Projekcia (π)
Projekcia vylučuje všetky atribúty vstupného vzťahu okrem tých, ktoré sú uvedené v zozname projekcií. Metóda projekcie definuje vzťah, ktorý obsahuje vertikálnu podmnožinu vzťahu.
To pomáha extrahovať hodnoty zadaných atribútov a eliminovať tak duplicitné hodnoty. Symbol (pi) sa používa na výber atribútov z relácie. Tento operátor vám pomáha zabrániť tomu, aby boli určité stĺpce v relacii, a zahodí ostatné stĺpce.
Príklad projekcie:
Zvážte nasledujúcu tabuľku
CustomerID | Meno zákazníka | Postavenie |
---|---|---|
1 | Aktívny | |
2 | Amazon | Aktívny |
3 | Apple | Neaktívne |
4 | Alibaba | Aktívny |
Tu sa zobrazí projekcia CustomerName a stav
Π CustomerName, Status (Customers)
Meno zákazníka | Postavenie |
---|---|
Aktívny | |
Amazon | Aktívny |
Apple | Neaktívne |
Alibaba | Aktívny |
Premenovať (ρ)
Premenovanie je unárna operácia používaná na premenovanie atribútov relácie.
ρ (a / b) R premenuje atribút „b“ vzťahu na „a“.
Fungovanie Únie (υ)
ÚNIA je symbolizovaná symbolom ∪. Zahŕňa všetky n-tice, ktoré sú v tabuľkách A alebo B. Taktiež vylučuje duplicitné n-tice. Takže množina B UNIE by bola vyjadrená ako:
Výsledok <- A ∪ B
Aby bola operácia únie platná, musia platiť nasledujúce podmienky -
- R a S musí mať rovnaký počet atribútov.
- Domény atribútov musia byť kompatibilné.
- Duplicitné n-tice by mali byť automaticky odstránené.
Príklad
Zvážte nasledujúce tabuľky.
Tabuľka A | Tabuľka B | |||
stĺpec 1 | stĺpec 2 | stĺpec 1 | stĺpec 2 | |
---|---|---|---|---|
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
A ∪ B dáva
Tabuľka A ∪ B | |
stĺpec 1 | stĺpec 2 |
---|---|
1 | 1 |
1 | 2 |
1 | 3 |
Rozdiel množiny (-)
- Symbol to označuje. Výsledkom A - B je vzťah, ktorý zahŕňa všetky n-tice, ktoré sú v A, ale nie v B.
- Názov atribútu A sa musí zhodovať s názvom atribútu v B.
- Vzťahy dvoch operandov A a B by mali byť kompatibilné alebo kompatibilné s úniou.
- Mal by byť definovaný vzťah pozostávajúci z n-tíc, ktoré sú vo vzťahu A, ale nie v B.
Príklad
A-B
Tabuľka A - B | |
stĺpec 1 | stĺpec 2 |
---|---|
1 | 2 |
Križovatka
Priesečník je definovaný symbolom ∩
A ∩ B
Definuje vzťah pozostávajúci zo sady všetkých n-tíc, ktoré sú v A aj B. Avšak A a B musia byť kompatibilné s odbormi.

Príklad:
A ∩ B
Tabuľka A ∩ B | |
stĺpec 1 | stĺpec 2 |
---|---|
1 | 1 |
Kartézsky súčin (X) v DBMS
Kartézsky produkt v DBMS je operácia, ktorá sa používa na zlúčenie stĺpcov z dvoch vzťahov. Všeobecne platí, že kartézsky produkt nikdy nie je zmysluplnou operáciou, ak sa vykonáva samostatne. Zmysluplným sa však stáva, keď po ňom nasledujú ďalšie operácie. Nazýva sa aj Cross Product alebo Cross Join.
Príklad - kartézsky súčin
σ stĺpec 2 = „1“ (AXB)
Výstup - Vyššie uvedený príklad zobrazuje všetky riadky zo vzťahov A a B, ktorých stĺpec 2 má hodnotu 1
σ stĺpec 2 = „1“ (AXB) | |
stĺpec 1 | stĺpec 2 |
---|---|
1 | 1 |
1 | 1 |
Pripojte sa k operáciám
Operácia spojenia je v podstate karteziánsky produkt, za ktorým nasleduje výberové kritérium.
Pripojte sa k operácii označenej ⋈.
Operácia JOIN tiež umožňuje spájať rôzne súvisiace n-tice z rôznych vzťahov.
Typy PRIPOJENIA:
Rôzne formy operácie spojenia sú:
Vnútorné pripojenia:
- Pripojte sa Theta
- Pripojte sa k EQUI
- Prirodzené spojenie
Vonkajší spoj:
- Ľavý vonkajší spoj
- Správne vonkajšie
- Úplné vonkajšie pripojenie
Vnútorné pripojenie:
Vo vnútornom spojení sú zahrnuté iba tie n-tice, ktoré vyhovujú kritériám zhody, zatiaľ čo ostatné sú vylúčené. Poďme študovať rôzne typy vnútorných pripojení:
Theta Pripojte sa:
Všeobecný prípad operácie JOIN sa nazýva Theta join. Je označený symbolom θ
Príklad
A ⋈θ B
Theta join môže vo výberových kritériách použiť akékoľvek podmienky.
Napríklad:
A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A. stĺpec 2> B. stĺpec 2 (B) | |
stĺpec 1 | stĺpec 2 |
---|---|
1 | 2 |
Pripojiť sa k EQUI:
Ak pripojenie theta použije iba podmienku rovnocennosti, stane sa pripojením ekv.
Napríklad:
A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A. stĺpec 2 = B. stĺpec 2 (B) | |
stĺpec 1 | stĺpec 2 |
---|---|
1 | 1 |
Pripojenie EQUI je najťažšou operáciou na efektívne implementovanie pomocou SQL v RDBMS a jedným z dôvodov, prečo majú RDBMS zásadné problémy s výkonom.
PRÍRODNÉ PRIPOJENIE (⋈)
Prirodzené spojenie je možné vykonať, iba ak je medzi vzťahmi spoločný atribút (stĺpec). Názov a typ atribútu musia byť rovnaké.
Príklad
Zvážte nasledujúce dve tabuľky
C. | |
Num | Námestie |
---|---|
2 | 4 |
3 | 9 |
D | |
Num | Kocka |
---|---|
2 | 8 |
3 | 27 |
C ⋈ D
C ⋈ D | ||
Num | Námestie | Kocka |
---|---|---|
2 | 4 | 4 |
3 | 9 | 27 |
VONKAJŠÍ SPOJ
Do vonkajšieho spojenia spolu s n-ticami, ktoré vyhovujú kritériám zhody, zahrnieme aj niektoré alebo všetky n-tice, ktoré nezodpovedajú kritériám.
Ľavé vonkajšie spojenie (A
B)
V ľavom vonkajšom spojení operácia umožňuje zachovať všetky n-tice v ľavom vzťahu. Ak sa však v správnom vzťahu nenájde žiadna zodpovedajúca n-tica, potom sú atribúty správneho vzťahu vo výsledku spojenia vyplnené nulovými hodnotami.
Zvážte nasledujúce 2 tabuľky
A | |
Num | Námestie |
---|---|
2 | 4 |
3 | 9 |
4 | 16 |
B | |
Num | Kocka |
---|---|
2 | 8 |
3 | 18 |
5 | 75 |
AB
A ⋈ B | ||
Num | Námestie | Kocka |
---|---|---|
2 | 4 | 4 |
3 | 9 | 9 |
4 | 16 | - |
Pravý vonkajší spoj: (A
B)
V pravom vonkajšom spojení operácia umožňuje udržiavať všetky n-tice v správnom vzťahu. Ak sa však v ľavom vzťahu nenájde žiadna zodpovedajúca n-tica, potom sú atribúty ľavého vzťahu vo výsledku spojenia vyplnené nulovými hodnotami.
AB
A ⋈ B | ||
Num | Kocka | Námestie |
---|---|---|
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Úplné vonkajšie spojenie: (A
B)
V úplnom vonkajšom spojení sú do výsledku zahrnuté všetky n-tice z obidvoch vzťahov bez ohľadu na podmienku zhody.
AB
A ⋈ B | ||
Num | Kocka | Námestie |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
Zhrnutie
Prevádzka (symboly) |
Účel |
---|---|
Vyberte (σ) |
Operácia SELECT sa používa na výber podmnožiny n-tíc podľa danej podmienky výberu |
Projekcia (π) |
Projekcia vylučuje všetky atribúty vstupného vzťahu okrem tých, ktoré sú uvedené v zozname projekcií. |
Union Operation (∪) |
ÚNIA je symbolizovaná symbolom. Zahŕňa všetky n-tice, ktoré sú v tabuľkách A alebo B. |
Rozdiel množiny (-) |
- Symbol to označuje. Výsledkom A - B je vzťah, ktorý zahŕňa všetky n-tice, ktoré sú v A, ale nie v B. |
Križovatka (∩) |
Priesečník definuje vzťah pozostávajúci zo sady všetkých n-tíc, ktoré sú v A aj B. |
Karteziánsky súčin (X) |
Karteziánska operácia je užitočná na zlúčenie stĺpcov z dvoch vzťahov. |
Vnútorné pripojenie |
Vnútorné spojenie zahŕňa iba tie n-tice, ktoré vyhovujú kritériám zhody. |
Theta Join (θ) |
Všeobecný prípad operácie JOIN sa nazýva Theta join. Je označený symbolom θ. |
Pripojte sa k EQUI |
Ak pripojenie theta použije iba podmienku rovnocennosti, stane sa pripojením ekv. |
Prirodzené spojenie (⋈) |
Prirodzené spojenie je možné vykonať, iba ak je medzi vzťahmi spoločný atribút (stĺpec). |
Vonkajší spoj |
Vo vonkajšom spojení spolu s n-ticami, ktoré vyhovujú kritériám zhody. |
Ľavé vonkajšie spojenie ( |
V ľavom vonkajšom spojení operácia umožňuje zachovať všetky n-tice v ľavom vzťahu. |
Pravé vonkajšie spojenie ( |
V pravom vonkajšom spojení operácia umožňuje udržiavať všetky n-tice v správnom vzťahu. |
Úplné vonkajšie spojenie ( |
V úplnom vonkajšom spojení sú do výsledku zahrnuté všetky n-tice z obidvoch vzťahov bez ohľadu na podmienku zhody. |