2.5.2 Relatsioonalgebra põhioperatsioonid

Et tõhusalt mõista andmete otsimist, on kasulik alustada relatsioonalgebra mõistetest, uurides tema võimalikke tehteid.
- Kahe tabeli ühend (union). See on ridade hulk (komplekt), mis pärineb vähemalt ühest kahe tabelilisest komplektist. Seda võib mõista, kui tabelit, mis on kokku pandud kahe tabeli erinevatest veergudest.
- Kahe tabeli vahe ehk erinevus (difference). Eeldades, et kahes tabelis on samad veerud, on see ridade hulk (komplekt), mis on olemas esimeses ja puuduvad teises tabelis.
- Otsekorrutis (Descartes'i korrutis, karteesiakorrutis) on ridade hulk (komplekt), mis saadakse asetades kõrvuti ükshaaval iga rea esimesest tabelist ridadega teisest tabelist. Näide kahe alloleva tabeli otsekorrutisest on toodud allolevas teises tabelis. Ehk siis tegemist kõikvõimalike kombinatsioonidega kahe tabeli ridade vahel.
Kasutajad |
|
Õppeained |
||
Tudengikood |
Nimi |
|
Aine |
Tudeng |
A01 | Marek | Ajalugu | A01 | |
A02 | Maria | Ajalugu | A03 | |
A03 | Ella | Geograafia | A01 | |
Geograafia | A02 |
Otsekorrutis: Kasutajad ja Oppeained |
|||
Tudengikood |
Nimi |
Aine |
Tudeng |
A01 | Marek | Ajalugu | A01 |
A01 | Marek | Ajalugu | A03 |
A01 | Marek | Geograafia | A01 |
A01 | Marek | Geograafia | A02 |
A02 | Maria | Ajalugu | A01 |
A02 | Maria | Ajalugu | A03 |
A02 | Maria | Geograafia | A01 |
A02 | Maria | Geograafia | A02 |
A03 | Ella | Ajalugu | A01 |
A03 | Ella | Ajalugu | A03 |
A03 | Ella | Geograafia | A01 |
A03 | Ella | Geograafia | A02 |
- Valik tabelist. See on ridade hulk (komplekt) tabelist, mis rahuldab tingimuste seeriaid, mis on näha valikust endast. Eelmises tabelis on halli taustaga esile toodud read, mis rahuldavad tingimust " Tudengikood " Kasutajate tabelist vastab " Tudeng " Oppeained tabelis. Need read on kopeeritud järgmisse tabelisse.
Valik otsekorrutisest |
|||
Tudengikood |
Nimi |
Aine |
Tudeng |
A01 | Marek | Ajalugu | A01 |
A01 | Marek | Geograafia | A01 |
A02 | Maria | Geograafia | A02 |
A03 | Ella | Ajalugu | A03 |
- Projektsioon. Projektsioon esindab veergude alamhulka, saadakse otsekorrutisest kõrvaldades veergude mitmekordse esinemise (või ebamäärased atribuudid), seega kõrvaldatakse mitu korda esinevad veerud ja kustutatakse soovimatu informatsiooniga veerud. Eelmises näites esitab " tudeng " veerg sama informatsiooni, mis " Tudengikood " veerg ja ei jää seetõttu alles projektsiooni tehte tulemusena.
Projektsioon |
||
Tudengikood |
Nimi |
Aine |
A01 | Marek | Ajalugu |
A01 | Marek | Geograafia |
A02 | Maria | Geograafia |
A03 | Ella | Ajalugu |
- Konjunktsioon ehk Seotus (liitumine, ühendamine - join). Liitumistehe on põhimõtteliselt otsekorrutis koos järgneva valikuga. Kui valik sisaldab ainult võrdseid tingimusi, siis on tehte nimi "ekvivalentne seos - equi-join". Ekvivalentse seose tulemus on eriline kahe tabeli vaheline liitumine. Kui sellele järgneb projektsioon, on sekke tehte nimeks "loomulik liitumine - natural join". Kaks viimast ülaltoodud näitest saadud tabelit on ekvivalentse seose ja loomuliku liitumise näited.
- Ümbernimetamine. Kasutatakse tabeli veergude ümbernimetamiseks. Näiteks "Tudengikood " veeru võib ümber nimetada "kood" veeruks.
Ümbernimetamine |
||
Kood |
Nimi |
Aine |
A01 | Marek | Ajalugu |
A01 | Marek | Geograafia |
A02 | Maria | Geograafia |
A03 | Ella | Ajalugu |