Predbežná požiadavka: Relačný model v DBMS
Relačná algebra je procedurálny dotazovací jazyk. Relačná algebra poskytuje hlavne teoretický základ pre relačné databázy a SQL . Hlavným účelom použitia relačnej algebry je definovať operátory, ktoré transformujú jeden alebo viac vstupných vzťahov na výstupný vzťah. Vzhľadom na to, že tieto operátory akceptujú vzťahy ako vstup a vytvárajú vzťahy ako výstup, možno ich kombinovať a použiť na vyjadrenie potenciálne zložitých dotazov, ktoré transformujú potenciálne veľa vstupných vzťahov (ktorých údaje sú uložené v databáze) na jeden výstupný vzťah (výsledok dotazu). . Keďže ide o čistú matematiku, v relačnej algebre sa nepoužívajú anglické kľúčové slová a operátory sú reprezentované pomocou symbolov.
Základní operátori
Toto sú základné/základné operátory používané v relačnej algebre.
- Výber (σ)
- Projekcia (π)
- Union(U)
- Nastaviť rozdiel (-)
- Nastaviť križovatku (∩)
- Premenovať (ρ)
- Kartézsky súčin (X)
1. Výber (σ): Používa sa na výber požadovaných n-tic relácií.
Príklad:
| A | B | C |
|---|---|---|
| 1 | 2 | 4 |
| 2 | 2 | 3 |
| 3 | 2 | 3 |
| 4 | 3 | 4 |
Pre vyššie uvedený vzťah, a(c>3)R vyberie n-tice, ktoré majú c viac ako 3.
| A | B | C |
|---|---|---|
| 1 | 2 | 4 |
| 4 | 3 | 4 |
Poznámka: Operátor výberu iba vyberie požadované n-tice, ale nezobrazí ich. Na zobrazenie sa používa operátor dátovej projekcie.
2. Projekcia (π): Používa sa na projektovanie požadovaných údajov stĺpca zo vzťahu.
preity zinta
Príklad: Zoberme si tabuľku 1. Predpokladajme, že chceme stĺpce B a C zo vzťahu R.
π(B,C)R will show following columns.>
| B | C |
|---|---|
| 2 | 4 |
| 2 | 3 |
| 3 | 4 |
Poznámka: V predvolenom nastavení projekcia odstraňuje duplicitné údaje.
3. Union(U): Operácia zjednotenia v relačnej algebre je rovnaká ako operácia zjednotenia v teórii množín.
Príklad:
FRANCÚZSKY
| Meno študenta | Roll_Number |
|---|---|
| Ram | 01 |
| Mohan | 02 |
| Vivek | 13 |
| Geeta | 17 |
NEMČINA
| Meno študenta | Roll_Number |
|---|---|
| Vivek | 13 |
| Geeta | 17 |
| Shyam | dvadsaťjeden |
| Rohan | 25 |
Zvážte nasledujúcu tabuľku študentov, ktorí majú vo svojom kurze rôzne voliteľné predmety.
π(Student_Name)FRENCH U π(Student_Name)GERMAN>
| Meno študenta |
|---|
| Ram |
| Mohan |
| Vivek |
| Geeta |
| Shyam |
| Rohan |
Poznámka: Jediným obmedzením spojenia dvoch vzťahov je, že oba vzťahy musia mať rovnakú množinu atribútov.
4. Nastaviť rozdiel (-): Množinový rozdiel v relačnej algebre je rovnaká operácia rozdielu množín ako v teórii množín.
Príklad: Z vyššie uvedenej tabuľky FRANCÚZSKY a NEMČINY, Set Difference sa používa nasledovne
π(Student_Name)FRENCH - π(Student_Name)GERMAN>
| Meno študenta |
|---|
| Ram |
| Mohan |
Poznámka: Jediným obmedzením v množine rozdielu medzi dvoma vzťahmi je, že oba vzťahy musia mať rovnakú množinu atribútov.
5. Nastavte priesečník (∩): Priesečník množín v relačnej algebre je rovnaký priesečník množín v teórii množín.
Príklad: Z vyššie uvedenej tabuľky FRANCÚZSKY a NEMČINY sa križovatka množiny používa nasledovne
π(Student_Name)FRENCH ∩ π(Student_Name)GERMAN>
| Meno študenta |
|---|
| Vivek |
| Geeta |
Poznámka: Jediným obmedzením v množine rozdielu medzi dvoma vzťahmi je, že oba vzťahy musia mať rovnakú množinu atribútov.
6. Premenovať (ρ): Premenovanie je unárna operácia používaná na premenovanie atribútov vzťahu.
ρ(a/b)R will rename the attribute 'b' of the relation by 'a'.>
7. Krížový produkt (X): Krížový produkt medzi dvoma vzťahmi. Povedzme A a B, takže krížový súčin medzi A X B bude mať za následok všetky atribúty A nasledované každým atribútom B. Každý záznam A sa spáruje s každým záznamom B.
Príklad:
java listnode
A
| názov | Vek | Sex |
|---|---|---|
| Ram | 14 | M |
| do konca | pätnásť | F |
| Kim | dvadsať | M |
B
| ID | Samozrejme |
|---|---|
| 1 | DS |
| 2 | DBMS |
A X B
| názov | Vek | Sex | ID | Samozrejme |
|---|---|---|---|---|
| Ram | 14 | M | 1 | DS |
| Ram | 14 | M | 2 | DBMS |
| do konca | pätnásť | F | 1 | DS |
| do konca | pätnásť | F | 2 | DBMS |
| Kim | dvadsať | M | 1 | DS |
| Kim | dvadsať | M | 2 | DBMS |
Poznámka: Ak A má „n“ n-tic a B má „m“ n-tic, potom A X B bude mať „n*m“ n-tic.
Odvodené operátory
Toto sú niektoré z odvodených operátorov, ktoré sú odvodené od základných operátorov.
- Prirodzené spojenie (⋈)
- Podmienené pripojenie
1. Prirodzené spojenie (⋈): Prirodzené spojenie je binárny operátor. Prirodzené spojenie dvoch alebo viacerých vzťahov bude mať za následok množinu všetkých kombinácií n-tic, kde majú rovnaký spoločný atribút.
Príklad:
EMP
| názov | ID | Dept_Name |
|---|---|---|
| A | 120 | IT |
| B | 125 | HR |
| C | 110 | Predaj |
| D | 111 | IT |
DLH
| Dept_Name | manažér |
|---|---|
| Predaj | A |
| Výroba | S |
| IT | A |
Prirodzené spojenie medzi EMP a DEPT s podmienkou:
EMP.Dept_Name = DEPT.Dept_Name
EMP ⋈ DEPT
konverzia nfa na dfa
| názov | ID | Dept_Name | manažér |
|---|---|---|---|
| A | 120 | IT | A |
| C | 110 | Predaj | A |
| D | 111 | IT | A |
2. Podmienečné pripojenie: Podmienené spojenie funguje podobne ako prirodzené spojenie. Pri prirodzenom spojení je predvolená podmienka rovnaká medzi spoločnými atribútmi, zatiaľ čo pri podmienenom spojení môžeme zadať akúkoľvek podmienku, ako je väčšia, menšia alebo nerovná.
Príklad:
R
| ID | Sex | Marks |
|---|---|---|
| 1 | F | Štyri |
| 2 | F | 55 |
| 3 | F | 60 |
S
| ID | Sex | Marks |
|---|---|---|
| 10 | M | dvadsať |
| jedenásť | M | 22 |
| 12 | M | 59 |
Spojte sa medzi R a S s podmienkou R.marks>= S.marks
| R.ID | R.Sex | R.Marks | S.ID | S.Sex | S.Marks |
|---|---|---|---|---|---|
| 1 | F | Štyri | 10 | M | dvadsať |
| 1 | F | Štyri | jedenásť | M | 22 |
| 2 | F | 55 | 10 | M | dvadsať |
| 2 | F | 55 | jedenásť | M | 22 |
| 3 | F | 60 | 10 | M | dvadsať |
| 3 | F | 60 | jedenásť | M | 22 |
| 3 | F | 60 | 12 | M | 59 |
Relačný počet
Keďže relačná algebra je procedurálny dopytovací jazyk, relačný počet je neprocedurálny dopytovací jazyk. V podstate sa zaoberá konečnými výsledkami. Vždy mi povie, čo mám robiť, ale nikdy mi nepovie, ako to mám urobiť.
Existujú dva typy relačného počtu
- N-ticový relačný počet (TRC)
- Doménový relačný počet (DRC)
Podrobné články:
Základné-operátory-v-relačnej-algebre
Operátory rozšírenej relačnej algebry