Relaatioalgebra tietokannoissa: operaatioita, esimerkkejä

Sisällysluettelo:

Relaatioalgebra tietokannoissa: operaatioita, esimerkkejä
Relaatioalgebra tietokannoissa: operaatioita, esimerkkejä
Anonim

Yleensä tietokantajärjestelmät on varustettu kyselykielellä, joka voi auttaa käyttäjiä tekemään kyselyitä ilmentymistä. On olemassa kaksi tällaista tyyppiä - relaatioalgebra ja relaatiolaskenta. Ensimmäinen on menettelyllinen kyselykieli, joka ottaa suhdeesiintymiä syötteenä ja tulostaa esimerkkisuhteita lähtönä. Käyttää tähän unaari- tai binäärilaskentaa. Relaatioalgebra suoritetaan rekursiivisesti ja välituloksia käsitellään suhteina.

Relaatioalgebra
Relaatioalgebra

Karteesinen tuote (Χ)

Yhdistää tiedot kahdesta eri suhteesta yhdeksi.

Notaatio – r Χ s, jossa r ja s ovat suhteita ja niiden lähtö määritellään

r Χ s={qt | q ∈ r ja t ∈ s}.

Johtopäätös. Asettaa suhteen, joka näyttää kaikki opetusohjelman avulla kirjoitetut kirjat ja artikkelit.

Nimeä uudelleen (ρ).

Relaatioalgebran relaatio on tulokset, mutta ilman nimeä. Uudelleennimeämistoiminnolla voit muuttaa lähtöarvoa, joka on merkitty pienellä kreikkalaisella kirjaimella ρ.

Nimitys – ρ x (E), johon lausekkeen E tulos on tallennettu nimen kanssax.

Lisätoiminnot:

  • aseta risteys;
  • tehtävä;
  • luonnollinen yhteys.

Relaatiolaskenta

Tämä on ei-proseduurillinen kyselykieli, mikä tarkoittaa, että se kertoo, mitä tehdä, mutta ei selitä, kuinka se otetaan käyttöön. Relaatiolaskenta on olemassa kahdessa muodossa:

  • tuplen korrelaatiolaskenta;
  • muuttujaalueiden suodattaminen.

Merkintä - T/State: Palauttaa kaikki T-kirjaimet, jotka täyttävät ehdon. Tulos. Palauttaa rivit, joissa on nimi. TRC voidaan ilmaista määrällisesti. Voit käyttää eksistentiaalisia (∃) ja universaaleja kvantaattoreita (∀). Johtopäätös. Yllä oleva kysely antaa saman tuloksen kuin edellinen.

Domain relaatiolaskenta DRC

Suodatinmuuttuja käyttää attribuuttialuetta moninkertaisten kokonaislukuarvojen sijaan (kuten edellä mainitussa TRC:ssä).

Notaatio – {a 1, a 2, a 3, …, a | P (a 1, a 2, a 3, …, a)}, jossa a1, a2 ovat attribuutteja ja P tarkoittaa sisäisillä arvoilla rakennettuja kaavoja.

Johtopäätös. Asettaa artikkelin, sivun ja aiheen TutorialsPoint-relaatiosta, jossa aihe on tietokanta.

Kuten TRC:tä, myös DRC:tä voidaan kirjoittaa käyttämällä eksistentiaalisia ja universaaleja kvantoreita. DRC sisältää myös relaatioalgebran operaattorit. Laskennan, laskennan ja pisteiden välisten suhteiden korrelaation ilmaisun vahvuus on sama.

suhteellinenrelaatioalgebran tietomalli
suhteellinenrelaatioalgebran tietomalli

Relaatiolaskennan ja algebran muunnelmia ja kaavioita

Kun ER-malli esitetään kaavioissa, se tarjoaa hyvän yleiskuvan olennaisista suhteista, jotka on helpompi ymmärtää. Kaavamaiset esitykset voidaan kartoittaa relaatioskeemaan, eli ne voidaan luoda yhdessä toistensa kanssa. Kaikkia ER-rajoitteita ei ole mahdollista tuoda relaatiomalliin, mutta likimääräinen rakenne voidaan luoda. Käytettävissä on useita prosesseja ja algoritmeja kaavioiden muuntamiseen tähän järjestelmään. Jotkut niistä ovat automatisoituja, kun taas toiset luodaan manuaalisesti. ER-kaaviot koostuvat pääasiassa seuraavista kriteereistä:

  • entiteetti ja sen attribuutit;
  • linkki, joka on yllä olevien arvojen välinen yhteys.

Olioiden ja suhteiden vertailu tapahtuu eri tavoilla ja kaavoilla. Esimerkiksi entiteetti on reaalimaailman objekti, jolla on joitain attribuutteja. Sovitusprosessi, algoritmi on seuraava:

  • luo taulukko jokaiselle objektille;
  • määritteistä tulee taulukkokenttiä vastaavilla tietotyypeillä;
  • ilmoita ensisijainen avain.

Suhde on entiteettien välinen assosiaatio. Kokoamisprosessi on seuraava:

  • luo taulukko suhteille;
  • lisää kaikkien osallistuvien entiteettien perusavaimet taulukkokenttiksi sopivilla tietotyypeillä;
  • jos suhteella on jokin attribuutti, aseta jokainen attribuutti taulukkokenttään;
  • yhdistä ensisijainen avain, joka muodostaa kaikenloput osallistuville objekteille;
  • määritä kaikki vieraiden avainten rajoitukset.

Heikkojen joukkojen ja hierarkkisten objektien näyttö tapahtuu tietyn järjestelmän mukaan. Ensinnäkin on välttämätöntä ymmärtää näiden arvojen oleelliset perusteet ja määritelmät. Heikko ominaisuusjoukko on sellainen, johon ei ole liitetty ensisijaista avainta. Näyttöprosessi on seuraava:

  • luo taulukko heikolle objektijoukolle;
  • lisää kaikki attribuutit skeemaan kenttään;
  • määritä tunnistamisen ensisijainen avain;
  • asettaa kaikki vieraiden avainten rajoitukset.

Hierarkisten objektien näyttäminen relaatioalgebran kielen erikoistumisen tai yleistyksen perusteella tapahtuu peräkkäisten entiteettien muodossa. Algoritmi on seuraava:

  • luo taulukoita kaikille korkeamman alemman tason objekteille;
  • lisää ensisijaiset avaimet;
  • toteuta matalalla tasolla kaikki muut alemman tason objektien attribuutit;
  • ilmoita taulukon perusavaimet;
  • asettaa vieraiden avainten rajoitukset.
Relaatioalgebran operaatiot
Relaatioalgebran operaatiot

Olemassa olevat vaihtoehdot tietojen kuvaamiseen, tallentamiseen, muuttamiseen

SQL on relaatiotietokantojen ohjelmointikieli. Se on kehitetty algebran ja monikoiden korrelaatiolaskennan avulla. SQL toimitetaan pakettina kaikkien tärkeimpien DBMS-jakelujen kanssa. Sisältää sekä dataa että kieliä niiden käsittelyä varten. Relaatioalgebran SQL-tietojen määrittelyominaisuuksien avulla voit suunnitella ja muokata tietokantaskeemaa,kun taas hallinta- ja säätöominaisuudet sekä tietojen muutokset antavat sinun tallentaa ja hakea järjestelmään asennettuja tietoja. Käyttää seuraavia komentoja rakenteen ja järjestelmän määrittämiseen:

  • luo uusia tietokantoja, taulukoita ja näkymiä DBMS:stä.
  • heittää komentoja.
  • muuttaa tietokantakaaviota.
  • tämä komento lisää attribuutin merkkijonoobjektiin.

SQL on varustettu Data Manipulation Language (DML) -kielellä. Se muokkaa tietokannan ilmentymää lisäämällä, päivittämällä ja poistamalla tietoja. DML on vastuussa kaikkien tietojen muuttamisesta. SQL sisältää seuraavat komennot DML-osiossa:

  1. SELECT on yksi peruskyselyn komennoista. Se on analoginen relaatioalgebran projektiooperaation kanssa. Se valitsee attribuutit WHERE-lauseessa kuvatun ehdon perusteella.
  2. FROM - Tämä osio ottaa nimen argumenttina, josta määritteet valitaan/projisoidaan. Jos annetaan useampi kuin yksi nimi, tämä kohta vastaa karteesista tuotetta.
  3. WHERE - Tämä osio määrittää predikaatin tai ehdot, jotka on täytettävä, jotta projisoitu attribuutti voidaan hyväksyä.

On myös komennot:

  • lisää;
  • muuttavat arvot;
  • delete.
Relaatioalgebra tietokantoissa
Relaatioalgebra tietokantoissa

Relaatioalgebra-kyselyjen luominen

Hakua rakennettaessa tehtävänä on löytää operaatiorakenne, joka johtaa oikeaan tuotteeseen. Relaatioalgebran perustoiminnot ovat yksinkertaisiaoperandeja, joissa on yksi tai kaksi relaatiota. Sarjan yhteisvaikutukset määräävät lopputuloksen. Koska tietokantojen relaatioalgebran järjestelmä on melko yksinkertainen, monia välituloksia voidaan saada ennen lopullisen tuoton saavuttamista, niitä käytetään myös operandeina, jotka tuottavat uutta vastaanotettua dataa.

Useimmille operaattoreille kyselyiden järjestyksellä ja niiden suorittamisella ei ole väliä, mikä tarkoittaa, että sama tulos voidaan saavuttaa muotoilemalla ja yhdistämällä välitietoja eri tavoilla. Käytännössä tietokantahaku on melko helppoa. Kyselyn optimoija määrittää järjestelmän operaatioiden ja välitulosten suorittamiseksi. Kun muodostat kysymyksiä, vaatimuksia, sinun täytyy

ensin valita, mitkä suhteet ovat tarpeen vastauksen saavuttamiseksi, ja sitten määritellä toiminnot ja välitulokset. Relaatioalgebrakyselyn rakenne tulostietokannassa voidaan esittää kaaviona. Vaatimusten optimoijat yrittävät järjestää toteutuksen mahdollisimman tehokkaasti. Käytännössä tämä tarkoittaa yleensä sitä, että välitulokset pyritään minimoimaan mahdollisimman nopeasti. Yleiset esimerkit relaatioalgebrasta auttavat tässä.

Esimerkki 1.

Tiedotarve: Tietoja vuosimallin 1996 ajoneuvoista, joissa havaittiin puutteita vuoden 1999 katsastuksissa.

Ensinnäkin näytetään tiedot autoista, jotta voidaan ymmärtää suhteen kaikkien attribuuttien arvot. Tarkastuksia koskevat tiedot tallennetaan "Tarkastus"-taulukkoon, ja jos ne havaitaanviat, ne kirjataan "Ongelma"-taulukkoon. Näitä kolmea taulukkoa tarvitaan siis tarvittavien tietojen saamiseksi.

Vain vuoden 1996 autot ovat kiinnostavia. Ajoneuvon mallialue esitetään määritetyn attribuutin arvona ajoneuvotietotaulukon rivillä. Ensimmäinen välitulos koostuu monista, jotka edustavat vuoden 1996 muunnelmia.

Joten vain rivit, jotka kattavat tämän ajanjakson, tarvitaan. Sinun on käytettävä valintaa niiden poimimiseksi. Nyt vaadittiin autoja ja katsastuksia. Merkkijonot ketjutetaan sitten käyttämällä ketjutustoimintoa. Ne on liitettävä yhteisellä rekisterinumerolla, koska se on ainoa yhteinen sarake, käytetään luonnollista liitosta.

Jos haluat selvittää, oliko tarkastusten aikana ongelmia, sinun on liitettävä ongelmarivit tarkastukseen. Kun ohjausrivit on liitetty autoihin, voit liittää tämän tuloksen vikataulukkoon. Liittymisen tulee perustua yhteiseen rekisteröintinumeroon ja todennettuun päivämäärään. Nämä ovat taulukoiden ainoat yleiset sarakkeet, joten käytetään luonnollista liitosta.

Relaatioalgebra on kieli
Relaatioalgebra on kieli

Laskentavaihtoehdot ilman välituloksia

Esimerkki 2.

Pakolliset tiedot: Kuljettajan nimi vuosimallin 1995 tai vanhempien ajoneuvojen os alta, joita ei ole testattu vuodelle 2000. Nimi on "Driver"-taulukossa. Lainvalvontaviranomaiset on kuvattu taulukossa "Katsastus ja autot ruokalaautossa". NiinNäitä kolmea taulukkoa tarvitaan siis. Ensin sinun on selvitettävä autot, joita ei ole katsastettu vuonna 2000. Tätä ongelmaa ei voida ratkaista pelkästään taulukossa luetelluilla tarkastuksilla, koska se sisältää tiedot tehdyistä tarkastuksista, ei niistä, joita ei ole suoritettu. Tämä ongelma ratkaistaan etsimällä täydentäviä autoja, jotka on katsastettu ennen vuotta 2000. Itse asiassa tarvitaan vain heidän rekisteröintinumeronsa.

Yllä olevien lisäksi on muitakin esimerkkejä, jotka osoittavat, kuinka tietoja voidaan muuttaa tai etsiä. Kyselymuunnelmia voidaan optimoida käyttämällä erikoistoimintoja. Itse asiassa, jotta tietojen etsiminen ja löytäminen olisi mahdollisimman helppoa ja yksinkertaista, on olemassa relaatiolaskentamalli.

Missä tiedot on suojattu ja suojattu

Relaatioalgebran relaatiotietomalli on tallennettu tietueita sisältäviin tiedostomuotoihin. Fyysisellä tasolla todellinen tieto on kiinnitetty sähkömagneettiseen muotoon johonkin laitteeseen. Nämä tallennuslaitteet voidaan jakaa kolmeen luokkaan:

  1. Ensisijainen. Tämä luokka sisältää muistin, joka on suoraan CPU:n käytettävissä. Rekisterit, nopea muisti (välimuisti) ja päämuisti (RAM) ovat suoraan keskusyksikön käytettävissä, koska ne kaikki sijaitsevat emolevyllä tai piirisarjalla. Tämä tallennustila on tyypillisesti hyvin pieni, erittäin nopea ja epävakaa. Tilan ylläpitäminen vaatii jatkuvaa virtalähdettä. Jos se epäonnistuu, kaikki sen tiedot menetetään.
  2. Toissijainen. Käytetään tietojen tallentamiseen tulevaisuutta vartenkäyttää tai varmuuskopioida. Sisältää muistilaitteet, jotka eivät ole osa suorittimen piirisarjaa tai emolevyä, kuten magneettilevyt, optiset levyt (DVD-levyt, CD-levyt jne.), kiintolevyt, flash-asemat ja magneettinauhat.
  3. Korkeaaste. Käytetään suurten tietomäärien tallentamiseen. Koska tällaiset tallennuslaitteet ovat tietokonejärjestelmän ulkopuolisia, ne ovat nopeudeltaan hitaimpia. Näitä tallennuslaitteita käytetään pääasiassa koko järjestelmän varmuuskopiointiin. Optisia levyjä ja magneettinauhoja käytetään laaj alti tertiäärisenä tallennustilana.

Erityiset relaatioalgebran operaatiot ovat tärkeitä kyselyn tehokkuuden kann alta.

Tallennusrakenne

Tietokonejärjestelmässä on hyvin määritelty muistihierarkia. CPU:lla on suora pääsy pääjärjestelmään sekä sisäänrakennetut rekisterit. Päämuistin käyttöaika on selvästi pienempi kuin prosessorin nopeus. Tämän eron minimoimiseksi otetaan käyttöön välimuisti. Välimuisti tarjoaa nopeimmat käyttöajat ja sisältää tiedot, joita CPU käyttää useimmin.

Muisti, jolla on nopein pääsy, on kallein. Suuret tallennuslaitteet tarjoavat vähän nopeutta ja ovat halvempia, mutta ne voivat tallentaa v altavia määriä dataa verrattuna suoritinrekisteriin tai välimuistiin.

Magneettiset ja kiintolevyt ovat yleisimpiä toissijaisia tallennuslaitteita nykypäivän tietokonejärjestelmissä. Niitä kutsutaan magneettisiksimetallinen pohja. Nämä levyt asetetaan pystysuoraan karaan. Luku-/kirjoituspää liikkuu niiden välillä ja sitä käytetään magnetoimaan tai poistamaan tällainen täplä alta. Se voidaan tunnistaa 0 (nolla) tai 1 (yksi).

Kiintolevyt on alustettu tarkasti määritellyssä järjestyksessä tehokkaan tietojen tallennuksen takaamiseksi. Siinä on monia samankeskisiä ympyröitä, joita kutsutaan poluiksi. Jokainen raita on jaettu edelleen sektoreihin, joissa on tyypillisesti 512 tavua tietoa.

SQL-relaatioalgebra
SQL-relaatioalgebra

Tiedostotoiminnot

Relaatioalgebran kielijärjestelmän ja sen tietokannan toiminnot voidaan luokitella laajasti kahteen luokkaan:

  • päivitys;
  • haku.

Ensimmäinen luokka muuttaa tietoarvoja lisäämällä, poistamalla tai päivittämällä. Toisa alta hakutoiminnot eivät muokkaa tietoja, vaan poimivat ne valinnaisen ehdollisen suodatuksen jälkeen. Molemmissa operaatioissa valinnalla on tärkeä rooli. Tiedoston luomisen ja poistamisen lisäksi niille voidaan suorittaa useita toimintoja:

  1. Avoin - on jommassakummassa kahdesta luku- tai kirjoitustilasta. Ensimmäisessä tapauksessa käyttöjärjestelmä ei salli kenenkään muuttaa tietoja. Toisin sanoen tiedot vain luetaan. Lukutilassa avatut tiedostot voidaan jakaa useiden objektien kesken. Kirjoitustilassa voit muuttaa tietoja. Tiedostot voidaan lukea, mutta niitä ei voi jakaa.
  2. Sulje on käyttöjärjestelmän kann alta tärkein toiminto, koska se poistaa kaikki lukot(jos jaetussa tilassa) tallentaa tiedot (jos niitä on muokattu) toissijaiselle medialle ja vapauttaa kaikki tiedostoon liittyvät puskurit ja käsittelijät.
  3. Indeksointi on tietorakennemenetelmä tietueiden poistamiseksi tehokkaasti järjestelmän tiedostoista perustuen joihinkin määritteisiin, joissa järjestelmä on toteutettu. Määritelty ominaisuuksien perusteella.

Indeksointi voi olla seuraavaa tyyppiä:

  1. Ensisijainen määritetään tilatussa datatiedostossa. Tietotiedosto on järjestetty avainkenttään.
  2. Toissijainen indeksi, joka on luotu kentästä, joka on ehdokasavain ja jolla on yksilöllinen arvo jokaisessa tietueessa tai ei avain, jolla on päällekkäisiä arvoja.
  3. Clusterointi määritellään järjestetyssä datatiedostossa, ei-avainkentässä.
relaatioalgebra relaatiolaskenta
relaatioalgebra relaatiolaskenta

Tietokantahallintajärjestelmällä tai DBMS:llä tarkoitetaan tekniikkaa, joka tallentaa ja hakee käyttäjätietoja mahdollisimman tehokkaasti ja asianmukaisin suojatoimin. Asian lähempi tarkastelu johtaa siihen johtopäätökseen, että relaatioalgebra on operaattoreiden kieli, jotka ottavat relaatiot argumentteina ja palauttavat ne tuloksena.

Suositeltava: