Preporučeno, 2024

Izbor Urednika

Razlika između relacijske algebre i relacijskog računa

Relacijska algebra i relacijski račun su formalni jezici upita za relacijski model. Oba formiraju bazu za SQL jezik koji se koristi u većini relacijskih DBMS-ova. Relacijska algebra je proceduralni jezik. S druge strane, Relacijski račun je deklarativni jezik. Relacijska algebra i relacijski račun mogu se dalje razlikovati na mnogim aspektima, o kojima sam govorio u nastavku uz pomoć usporedne tablice.

Sadržaj: Relacijska algebra vs relacijski račun

  1. Tablica usporedbe
  2. definicija
  3. Ključne razlike
  4. Zaključak

Tablica usporedbe

Osnova za usporedbuRelacijska algebraRelacijski račun
Osnovni, temeljniRelacijska algebra je proceduralni jezik.Relacijski Claculus je deklarativni jezik.
DržaveRelacijska algebra navodi kako dobiti rezultat.Relacijski račun navodi koji rezultat moramo dobiti.
NarudžbaRelacijska algebra opisuje redoslijed kojim se operacije moraju obaviti.Relacijski račun ne određuje redoslijed operacija.
DomenaRelacijska algebra nije ovisna o domeni.Odnos Claculus može biti ovisan o domeni.
povezanBlizu je programskog jezika.Blizu je prirodnog jezika.

Definicija relacijske algebre

Relacijska algebra predstavlja osnovni skup operacija za relacijski model. To je proceduralni jezik koji opisuje postupak za dobivanje rezultata. Relacijska algebra je preskriptivna jer opisuje redoslijed operacija u upitu koji specificira kako dohvatiti rezultat upita.

Redoslijed operacija u relacijskoj algebri naziva se izrazom relacijske algebre. Izraz relacijske algebre uzima ili jedan odnos ili dva odnosa kao ulaz u izraz i kao rezultat daje novi odnos. Rezultantna relacija dobivena iz izraza relacijske algebre može se dalje sastaviti u drugu relacijsku algebru, čiji će rezultat opet biti novi odnos.

Algebra odnosa formira okvir za implementaciju i optimizaciju upita tijekom obrade upita. Relacijska algebra je sastavni dio relacijskih DBMS-a. Osnovna operacija uključena u relacijsku algebru je { Select (σ), Project (π), Union (∪), Set Difference (-), Kartezijev proizvod (×) i Rename (ρ) }.

Definicija relacijskog računa

Za razliku od relacijske algebre, relacijski račun je deklarativni jezik više razine. U odnosu na relacijsku algebru, relacijski račun definira koji rezultat treba dobiti. Kao i relacijska algebra, relacijski račun ne navodi redoslijed operacija u kojima će se evaluirati upit.

Redoslijed operacija relacijskog računa naziva se relacijski računski izraz koji također rezultira novim odnosom. Relacijski račun ima dvije varijacije, to jest Tuple relacijski račun i račun relacije .

Tuple Relational Calculus navodi popis brojeva koji su odabrani iz relacije, na temelju određenog uvjeta . Formalno se označava kao:

P (t)

Gdje je t skup toraka od kojih je uvjet P točan.

Sljedeća varijacija je domenski relacijski račun, koji, za razliku od Tuple relacijskog računa, popisuje atribute koji se biraju iz odnosa, na temelju određenog stanja . Formalna definicija relacijskog računa domene je sljedeća:

Gdje X1, X2, X3, . , , Xn su atributi i P je određeno stanje.

Ključne razlike između relacijske algebre i relacijskog računa

  1. Osnovna razlika između relacijske algebre i relacijskog računa je da je relacijska algebra proceduralni jezik, dok je relacijski račun ne-proceduralni, umjesto deklarativnog jezika.
  2. Relacijska algebra definira kako dobiti rezultat, dok Relacijski račun definira koje informacije rezultat mora sadržavati.
  3. Relacijska algebra određuje slijed u kojem se operacije moraju izvršiti u upitu. S druge strane, relacijski račun ne navodi redoslijed operacija koje se izvode u upitu.
  4. Relacijska algebra nije ovisna o domeni, dok relacijski račun može biti ovisan o domeni dok imamo relacijski račun domene.
  5. Jezik upita za relacijsku algebru usko je povezan s programskim jezikom, dok je relacijski račun usko povezan s prirodnim jezikom.

Zaključak:

Relacijska algebra i relacijski račun imaju jednaku izražajnu moć. Glavna razlika između njih je u tome što relacijska algebra određuje kako dohvatiti podatke, a relacijski račun definira koje podatke treba dohvatiti.

Top