Relációs algebra a DBMS-ben: Operapéldákkal
Relációs algebra
RELÁCIÓS ALGEBRA egy széles körben használt procedurális lekérdező nyelv. Összegyűjti a relációk példányait bemenetként, és kimenetként adja meg a relációk előfordulásait. Különféle műveleteket használ a művelet végrehajtásához. Az SQL relációs algebra lekérdezési műveletei rekurzív módon kerülnek végrehajtásra egy reláción. Ezen műveletek kimenete egy új reláció, amely egy vagy több bemeneti relációból is kialakítható.
Alapvető SQL relációs algebra OperaTIONS
A relációs algebra különböző csoportokra osztva
Unáris relációs OperaTIONS
- KIVÁLASZTÁS (szimbólum: σ)
- PROJEKT (szimbólum: π)
- ÁTNEVEZÉS (szimbólum: ρ)
Relációs algebra Operaciók a halmazelméletből
- UNIÓ (υ)
- ÚTKERESZTEZŐDÉS ( ),
- KÜLÖNBSÉG (-)
- KARTÉZI TERMÉK (x)
Bináris relációs OperaTIONS
- JOIN
- DIVÍZIÓ
Tanulmányozzuk őket részletesen megoldásokkal:
KIVÁLASZTÁS (σ)
A SELECT művelet a sorok egy részhalmazának egy adott kiválasztási feltételnek megfelelő kiválasztására szolgál. Szigma(σ)szimbólum jelöli. Kifejezésként használják a kiválasztási feltételnek megfelelő sorok kiválasztásához. A Select operátor kiválasztja azokat a sorokat, amelyek megfelelnek egy adott predikátumnak.
σp(r)
σ
az állítmány
r
a relációt jelenti, ami a tábla neve
p
az elöljáró logika
Példa 1
σ topic = "Database" (Tutorials)
teljesítmény – Olyan sorokat választ ki az oktatóanyagokból, ahol topic = 'Adatbázis'.
Példa 2
σ topic = "Database" and author = "guru99"( Tutorials)
teljesítmény – Olyan sorokat választ ki az oktatóanyagokból, ahol a téma az „Adatbázis”, a „szerző” pedig a guru99.
Példa 3
σ sales > 50000 (Customers)
teljesítmény – Sorokat választ ki azoktól az ügyfelektől, akiknél az értékesítés meghaladja az 50000 XNUMX-et
Vetítés (π)
A vetítés kiküszöböli a bemeneti reláció összes attribútumait, kivéve azokat, amelyek a vetítési listában szerepelnek. A vetítési módszer olyan relációt határoz meg, amely a Relation függőleges részhalmazát tartalmazza.
Ez segít a megadott attribútumok értékeinek kinyerésében, hogy kiküszöbölje az ismétlődő értékeket. (pi) szimbólum a reláció attribútumainak kiválasztására szolgál. Ez az operátor segít abban, hogy bizonyos oszlopokat távol tartson egy relációtól, és elveti a többi oszlopot.
Példa a vetítésre:
Vegye figyelembe a következő táblázatot
Ügyfél-azonosító | Ügyfél neve | Állapot |
---|---|---|
1 | Aktív | |
2 | Amazon | Aktív |
3 | Apple | tétlen |
4 | Alibaba | Aktív |
Itt az Ügyfélnév és az állapot vetülete jelenik meg
Π CustomerName, Status (Customers)
Ügyfél neve | Állapot |
---|---|
Aktív | |
Amazon | Aktív |
Apple | tétlen |
Alibaba | Aktív |
Átnevezés (ρ)
Az átnevezés egy unáris művelet, amelyet egy reláció attribútumainak átnevezésére használnak.
ρ (a/b)R átnevezi a reláció „b” attribútuma „a”-ra.
Uniós művelet (υ)
A UNIÓT a ∪ szimbólum szimbolizálja. Tartalmazza az A vagy B táblázatban található összes sort. Ezenkívül kiküszöböli az ismétlődő sorokat. Tehát az A halmaz UNION B halmaz a következőképpen fejezhető ki:
Az eredmény <- A ∪ B
Ahhoz, hogy a szakszervezeti művelet érvényes legyen, a következő feltételeknek kell teljesülniük:
- R és S azonos számú attribútumnak kell lennie.
- Az attribútumtartományoknak kompatibilisnek kell lenniük.
- Az ismétlődő sorokat automatikusan el kell távolítani.
Példa
Vegye figyelembe a következő táblázatokat.
1. oszlop | 2. oszlop | 1. oszlop | 2. oszlop | |
---|---|---|---|---|
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
A ∪ B megadja
1. oszlop | 2. oszlop |
---|---|
1 | 1 |
1 | 2 |
1 | 3 |
Különbség beállítása (-)
– Szimbólum jelöli. Az A – B eredménye egy olyan reláció, amely magában foglalja az összes olyan sort, amely A-ban van, de nem B-ben.
- Az A attribútum nevének meg kell egyeznie a B attribútum nevével.
- Az A és B két-operandusú relációnak kompatibilisnek vagy Unió-kompatibilisnek kell lennie.
- Olyan relációnak kell lennie, amely az A relációban lévő sorokból áll, de nem a B relációban.
Példa
A-B
1. oszlop | 2. oszlop |
---|---|
1 | 2 |
Útkereszteződés
Egy metszéspontot a ∩ szimbólum definiál
A ∩ B
Olyan relációt határoz meg, amely az A-ban és B-ben is szereplő összes sor halmazából áll. Az A-nak és B-nek azonban unió-kompatibilisnek kell lennie.
Példa:
A ∩ B
1. oszlop | 2. oszlop |
---|---|
1 | 1 |
Derékszögű termék(X) a DBMS-ben
Derékszögű termék a DBMS-ben egy művelet, amely két reláció oszlopainak egyesítésére szolgál. Általában egy derékszögű termék soha nem értelmes művelet, ha egyedül hajtja végre. Azonban akkor válik értelmessé, ha más műveletek követik. Más néven Cross Product vagy Cross Join.
Példa – Descartes szorzat
σ 2. oszlop = „1” (AXB)
Kimenet – A fenti példa az A és B reláció összes sorát mutatja, amelyek 2. oszlopának értéke 1
1. oszlop | 2. oszlop |
---|---|
1 | 1 |
1 | 1 |
Csatlakozik OperaTIONS
A csatlakozási művelet lényegében egy derékszögű szorzat, amelyet kiválasztási kritérium követ.
Join művelet, amelyet ⋈ jelöl.
A JOIN művelet lehetővé teszi a különböző relációkból származó, különböző módon kapcsolódó sorok összekapcsolását is.
A JOIN típusai:
A csatlakozási műveletek különböző formái:
Belső csatlakozások:
- Theta csatlakozzon
- EQUI csatlakozás
- Természetes csatlakozás
Külső csatlakozás:
- Bal külső csatlakozás
- Jobb külső csatlakozás
- Teljes külső csatlakozás
Belső összekapcsolás
Egy belső összeillesztésben csak azok a sorok szerepelnek, amelyek megfelelnek az illesztési feltételeknek, míg a többi nem. Tanulmányozzuk a belső csatlakozások különféle típusait:
Theta Join
A JOIN művelet általános esetét Theta joinnek nevezik. Szimbólum jelöli θ
Példa
A ⋈θ B
A Theta Join bármilyen feltételt használhat a kiválasztási kritériumokban.
Például:
A ⋈ A.column 2 > B.column 2 (B)
1. oszlop | 2. oszlop |
---|---|
1 | 2 |
EQUI csatlakozás
Ha egy théta join csak ekvivalencia feltételt használ, akkor equi join lesz.
Például:
A ⋈ A.column 2 = B.column 2 (B)
1. oszlop | 2. oszlop |
---|---|
1 | 1 |
Az EQUI join a legnehezebben megvalósítható műveletek SQL használatával hatékonyan egy RDBMS-ben, és ennek egyik oka RDBMS lényeges teljesítményproblémái vannak.
TERMÉSZETES CSATLAKOZÁS (⋈)
A természetes összekapcsolás csak akkor hajtható végre, ha a relációk között van közös tulajdonság (oszlop). Az attribútum nevének és típusának meg kell egyeznie.
Példa
Tekintsük a következő két táblázatot
-Ban | Négyzet |
---|---|
2 | 4 |
3 | 9 |
-Ban | Kocka |
---|---|
2 | 8 |
3 | 27 |
C ⋈ D
-Ban | Négyzet | Kocka |
---|---|---|
2 | 4 | 8 |
3 | 9 | 27 |
KÜLSŐ CSATLAKOZÁS
A külső összekapcsolásban az egyezési feltételeknek megfelelő sorokkal együtt néhány vagy minden olyan sort is beépítünk, amelyek nem felelnek meg a feltételeknek.
Bal külső csatlakozás (A⟕B)
A bal külső összekapcsolásban a művelet lehetővé teszi, hogy az összes sor a bal relációban maradjon. Ha azonban a megfelelő relációban nem található egyező sor, akkor az összekapcsolás eredményében a megfelelő reláció attribútumait null értékekkel töltjük fel.
Tekintsük a következő 2 táblázatot
-Ban | Négyzet |
---|---|
2 | 4 |
3 | 9 |
4 | 16 |
-Ban | Kocka |
---|---|
2 | 8 |
3 | 18 |
5 | 75 |
AB
-Ban | Négyzet | Kocka |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
Jobb külső csatlakozás (A ⟖ B)
A jobb külső összekapcsolásban a művelet lehetővé teszi, hogy az összes sor a megfelelő relációban maradjon. Ha azonban a bal oldali relációban nem található egyező sor, akkor a bal oldali reláció attribútumai az összekapcsolás eredményében null értékekkel töltődnek fel.
AB
-Ban | Kocka | Négyzet |
---|---|---|
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Teljes külső csatlakozás (A⟗B)
Teljes külső összekapcsolás esetén mindkét reláció összes sora szerepel az eredményben, függetlenül az illesztési feltételtől.
AB
-Ban | Kocka | Négyzet |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
Összegzésként
Operació (szimbólumok) | Cél |
---|---|
Select (σ) | A SELECT művelet a sorok egy részhalmazának egy adott kiválasztási feltételnek megfelelő kiválasztására szolgál |
Vetítés (π) | A vetítés kiküszöböli a bemeneti reláció összes attribútumait, kivéve azokat, amelyek a vetítési listában szerepelnek. |
Unió Operació(∪) | A UNIÓT szimbólum szimbolizálja. Tartalmazza az A vagy a B táblázatban található összes sort. |
Különbség beállítása (-) | – Szimbólum jelöli. Az A – B eredménye egy olyan reláció, amely magában foglalja az összes olyan sort, amely A-ban van, de nem B-ben. |
kereszteződés (∩) | A metszés olyan relációt definiál, amely az A-ban és B-ben is szereplő összes sor halmazából áll. |
derékszögű termék (X) | A derékszögű művelet hasznos két reláció oszlopainak összevonásához. |
Belső összekapcsolás | A belső összekapcsolás csak azokat a sorokat tartalmazza, amelyek megfelelnek az illeszkedési feltételeknek. |
Theta Join (θ) | A JOIN művelet általános esetét Theta joinnek nevezik. θ szimbólummal jelöljük. |
EQUI Csatlakozás | Ha egy théta join csak ekvivalencia feltételt használ, akkor equi join lesz. |
Természetes csatlakozás (⋈) | A természetes összekapcsolás csak akkor hajtható végre, ha a relációk között van közös tulajdonság (oszlop). |
Külső csatlakozás | Külső összekapcsolásban, olyan sorokkal együtt, amelyek megfelelnek az illeszkedési feltételeknek. |
bal külső csatlakozás ( |
A bal külső összekapcsolásban a művelet lehetővé teszi, hogy az összes sor a bal relációban maradjon. |
jobb külső csatlakozás( |
A jobb külső összekapcsolásban a művelet lehetővé teszi, hogy az összes sor a megfelelő relációban maradjon. |
Teljes külső csatlakozás ( |
Teljes külső összekapcsolás esetén mindkét reláció összes sora szerepel az eredményben, függetlenül az illesztési feltételtől. |