Edellytys: Relaatiomalli DBMS:ssä
Relaatioalgebra on proseduurillinen kyselykieli. Relaatioalgebra tarjoaa pääasiassa teoreettisen perustan relaatiotietokannoille ja SQL . Relaatioalgebran käytön päätarkoitus on määrittää operaattoreita, jotka muuntavat yhden tai useamman syöterelaation lähtörelaatioksi. Koska nämä operaattorit hyväksyvät relaatioita syötteenä ja tuottavat relaatioita ulostulona, niitä voidaan yhdistää ja käyttää ilmaisemaan mahdollisesti monimutkaisia kyselyitä, jotka muuttavat potentiaalisesti monia syötesuhteita (jonka tiedot on tallennettu tietokantaan) yhdeksi tulossuhteeksi (kyselyn tulokset). . Koska kyseessä on puhdasta matematiikkaa, relaatioalgebrassa ei käytetä englanninkielisiä avainsanoja ja operaattorit esitetään symboleilla.
Perusoperaattorit
Nämä ovat perus-/perusoperaattoreita, joita käytetään relaatioalgebrassa.
- Valinta (σ)
- Projektio (π)
- Unioni (U)
- Aseta ero (-)
- Aseta risteys (∩)
- Nimeä uudelleen(ρ)
- karteesinen tuote (X)
1. Valinta (σ): Sitä käytetään relaatioiden tarvittavien monikkojen valitsemiseen.
Esimerkki:
A | B | C |
---|---|---|
1 | 2 | 4 |
2 | 2 | 3 |
3 | 2 | 3 |
4 | 3 | 4 |
Yllä olevaan suhteeseen σ(c>3)R valitsee monikot, joissa c on enemmän kuin 3.
A | B | C |
---|---|---|
1 | 2 | 4 |
4 | 3 | 4 |
Huomautus: Valintaoperaattori valitsee vain tarvittavat monikot, mutta ei näytä niitä. Näyttöön käytetään datan projisointioperaattoria.
2. Projektio(π): Sitä käytetään projisoimaan vaaditut saraketiedot suhteesta.
10 ml on kuinka paljon
Esimerkki: Tarkastellaan taulukkoa 1. Oletetaan, että haluamme relaatiosta R sarakkeet B ja C.
π(B,C)R will show following columns.>
B | C |
---|---|
2 | 4 |
2 | 3 |
3 | 4 |
Huomautus: Oletuksena projektio poistaa päällekkäiset tiedot.
3. Unioni (U): Liittooperaatio relaatioalgebrassa on sama kuin liittooperaatio joukkoteoriassa.
Esimerkki:
RANSKAN KIELI
Opiskelijan nimi | Rullanumero |
---|---|
RAM | 01 |
Mohan | 02 |
Vivek | 13 |
Geeta | 17 |
SAKSAN KIELI
Opiskelijan nimi | Rullanumero |
---|---|
Vivek | 13 |
Geeta | 17 |
Shyam | kaksikymmentäyksi |
Rohan | 25 |
Tarkastellaan seuraavaa taulukkoa opiskelijoista, joilla on erilaisia valinnaisia aineita kurssissaan.
π(Student_Name)FRENCH U π(Student_Name)GERMAN>
Opiskelijan nimi |
---|
RAM |
Mohan |
Vivek |
Geeta |
Shyam |
Rohan |
Huomautus: Ainoa rajoitus kahden suhteen liitossa on, että molemmilla suhteilla on oltava sama attribuuttijoukko.
4. Aseta ero (-): Set Difference relaatioalgebrassa on sama joukkoerooperaatio kuin joukkoteoriassa.
Esimerkki: Yllä olevasta RANSKAN ja SAKSAN taulukosta Eron asetusta käytetään seuraavasti
π(Student_Name)FRENCH - π(Student_Name)GERMAN>
Opiskelijan nimi |
---|
RAM |
Mohan |
Huomautus: Ainoa rajoitus kahden suhteen välillä on se, että molemmilla suhteilla on oltava sama attribuuttijoukko.
5. Aseta leikkauspiste (∩): Set Intersection relaatioalgebrassa on sama joukkoleikkausoperaatio joukkoteoriassa.
Esimerkki: Yllä olevasta RANSKAN ja SAKSAN taulukosta risteyskohtaa käytetään seuraavasti
π(Student_Name)FRENCH ∩ π(Student_Name)GERMAN>
Opiskelijan nimi |
---|
Vivek |
Geeta |
Huomautus: Ainoa rajoitus kahden suhteen välillä on se, että molemmilla suhteilla on oltava sama attribuuttijoukko.
6. Nimeä uudelleen(ρ): Rename on unaaritoiminto, jota käytetään relaatioiden määritteiden uudelleennimeämiseen.
ρ(a/b)R will rename the attribute 'b' of the relation by 'a'.>
7. Ristituote(X): Ristituote kahden suhteen välillä. Oletetaan A ja B, joten ristitulo A X B:n välillä johtaa kaikkiin A:n attribuutteihin, joita seuraa jokainen B:n attribuutti. Jokainen A:n tietue pariutuu jokaisen B:n tietueen kanssa.
Esimerkki:
hiiren vieritys ei toimi
A
Nimi | Ikä | seksiä |
---|---|---|
RAM | 14 | M |
loppu | viisitoista | F |
Kim | kaksikymmentä | M |
B
ID | Kurssi |
---|---|
1 | DS |
2 | DBMS |
A X B
Nimi | Ikä | seksiä | ID | Kurssi |
---|---|---|---|---|
RAM | 14 | M | 1 | DS |
RAM | 14 | M | 2 | DBMS |
loppu | viisitoista | F | 1 | DS |
loppu | viisitoista | F | 2 | DBMS |
Kim | kaksikymmentä | M | 1 | DS |
Kim | kaksikymmentä | M | 2 | DBMS |
Huomautus: Jos A:lla on 'n' monikkoa ja B:llä 'm' monikkoa, A X B:llä on 'n*m' monikkoa.
Johdetut operaattorit
Nämä ovat joitain johdettuja operaattoreita, jotka on johdettu perusoperaattoreista.
- Luonnollinen liittyminen (⋈)
- Ehdollinen liittyminen
1. Luonnollinen liittyminen(⋈): Natural join on binäärioperaattori. Luonnollinen liitos kahden tai useamman suhteen välillä johtaa sarjaan kaikkia monikoiden yhdistelmiä, joissa niillä on sama yhteinen attribuutti.
Esimerkki:
EMP
Nimi | ID | Osaston_nimi |
---|---|---|
A | 120 | SE |
B | 125 | HR |
C | 110 | Myynti |
D | 111 | SE |
DEPT
Osaston_nimi | Manager |
---|---|
Myynti | JA |
Tuotanto | KANSSA |
SE | A |
Luonnollinen liitos EMP:n ja DEPT:n välillä ehdolla:
EMP.Dept_Name = DEPT.Dept_Name
EMP ⋈ DEPT
Nimi | ID | Osaston_nimi | Manager |
---|---|---|---|
A | 120 | SE | A |
C | 110 | Myynti | JA |
D | 111 | SE | A |
2. Ehdollinen liittyminen: Ehdollinen liitos toimii samalla tavalla kuin luonnollinen liitos. Luonnollisessa liitoksessa ehto on oletusarvoisesti yhtä suuri yleisten attribuuttien välillä, kun taas ehdollisessa liitoksessa voimme määrittää minkä tahansa ehdon, kuten suurempi kuin, pienempi kuin tai ei yhtä suuri.
Esimerkki:
R
ID | seksiä | Merkit |
---|---|---|
1 | F | Neljä viisi |
2 | F | 55 |
3 | F | 60 |
S
gimp vienti jpg-muodossa
ID | seksiä | Merkit |
---|---|---|
10 | M | kaksikymmentä |
yksitoista | M | 22 |
12 | M | 59 |
Liitä R:n ja S:n väliin ehdolla R.marks>= S.marks
EROON | R.Sex | R. Marks | S.ID | S. Sex | S. Marks |
---|---|---|---|---|---|
1 | F | Neljä viisi | 10 | M | kaksikymmentä |
1 | F | Neljä viisi | yksitoista | M | 22 |
2 | F | 55 | 10 | M | kaksikymmentä |
2 | F | 55 | yksitoista | M | 22 |
3 | F | 60 | 10 | M | kaksikymmentä |
3 | F | 60 | yksitoista | M | 22 |
3 | F | 60 | 12 | M | 59 |
Relaatiolaskenta
Koska relaatioalgebra on proseduurillinen kyselykieli, relaatiolaskenta on ei-proseduurillinen kyselykieli. Pohjimmiltaan se käsittelee lopputuloksia. Se kertoo minulle aina, mitä tehdä, mutta ei koskaan kerro minulle, miten se tehdään.
Relaatiolaskentaa on kahta tyyppiä
- Tuple Relational Calculus (TRC)
- Domain Relational Calculus (DRC)
Tarkat artikkelit:
Relaatioalgebran perusoperaattorit
Laajennetut relaatioalgebra-operaattorit