Aanbevolen, 2024

Editor'S Choice

Verschil tussen relationele algebra en relationele calculus

Relationele algebra en relationele calculus zijn de formele query-talen voor een relationeel model. Beide vormen de basis voor de SQL-taal die wordt gebruikt in de meeste relationele DBMS's. Relationele algebra is een procedurele taal. Aan de andere kant is Relational Calculus een declaratieve taal. Relationele algebra en relationele calculatie kunnen op veel aspecten verder worden onderscheiden, wat ik hieronder heb besproken met behulp van een vergelijkingsgrafiek.

Inhoud: Relationele algebra versus relationele calculus

  1. Vergelijkingstabel
  2. Definitie
  3. Belangrijkste verschillen
  4. Conclusie

Vergelijkingstabel

Basis voor vergelijkingRelationele algebraRelationele calculus
basis-Relationele algebra is een procedurele taal.Relationele Claculus is declaratieve taal.
StatenRelational Algebra geeft aan hoe het resultaat kan worden verkregen.Relationele berekening geeft aan welk resultaat we moeten behalen.
BestellenRelationele algebra beschrijft de volgorde waarin bewerkingen moeten worden uitgevoerd.Relationele calculus specificeert de volgorde van bewerkingen niet.
DomeinRelationele algebra is niet domeinafhankelijk.Relatie Claculus kan domeinafhankelijk zijn.
VerwantHet bevindt zich in de buurt van een programmeertaal.Het ligt dicht bij de natuurlijke taal.

Definitie van relationele algebra

Relationele algebra presenteert de basisset van bewerkingen voor relationeel model. Het is een procedurele taal die de procedure beschrijft om het resultaat te verkrijgen. Relationele algebra is prescriptief omdat deze de volgorde van bewerkingen in de query beschrijft die aangeeft hoe het resultaat van een query moet worden opgehaald.

De volgorde van bewerkingen in een relatiealgebra wordt relationele algebra-expressie genoemd. De relationele algebra-uitdrukking neemt één relatie of twee relaties als een invoer voor de uitdrukking en produceert als resultaat een nieuwe relatie. De resulterende relatie verkregen uit de relationele algebra-expressies kan verder worden samengesteld tot de andere relationele algebra-expressie waarvan het resultaat opnieuw een nieuwe relatie zal zijn.

De relatie-algebra vormt het raamwerk voor het implementeren en optimaliseren van query's tijdens queryverwerking. Relationele algebra is een integraal onderdeel van relationeel DBMS. De fundamentele bewerking die is opgenomen in relationele algebra zijn { Selecteer (σ), Project (π), Unie (∪), Verschil instellen (-), Cartesisch product (×) en Naam wijzigen (ρ) }.

Definitie van relationele calculus

In tegenstelling tot relationele algebra is relationele calculatie een declaratieve taal op een hoger niveau. In tegenstelling tot de relationele algebra bepaalt relationele calculus welk resultaat moet worden verkregen. Net als relationele algebra specificeert relationele calculatie niet de volgorde van bewerkingen waarin de query zal worden geëvalueerd.

De sequentie van relationele calculusoperaties wordt relationele calculusexpressie genoemd die ook een nieuwe relatie als resultaat produceert. De Relationele Calculus heeft twee variaties, namelijk Tuple Relationele Calculus en Relationele Calculus Relatie .

De Tuple Relationele Calculus somt de tupels op die zijn geselecteerd uit een relatie, op basis van een bepaalde voorwaarde . Het wordt formeel aangeduid als:

P (t)

Waarbij t de verzameling tuples is waaruit de voorwaarde P waar is.

De volgende variatie is Relationele berekening domein, die in tegenstelling tot Tuple Relationele Calculus de attributen weergeeft die moeten worden geselecteerd uit een relatie, op basis van een bepaalde voorwaarde . De formele definitie van Domain Relational Calculus is als volgt:

Waar X1, X2, X3, . . . Xn zijn de attributen en P is de bepaalde voorwaarde.

Sleutelverschillen tussen relationele algebra en relationele calculus

  1. Het fundamentele verschil tussen relationele algebra en relationele calculus is dat relationele algebra een procedurele taal is, terwijl de relationele calculus niet-procedureel is, maar een verklarende taal.
  2. De relationele algebra bepaalt hoe het resultaat wordt verkregen, terwijl de relationele calculatie definieert welke informatie het resultaat moet bevatten.
  3. Relationele algebra geeft de volgorde aan waarin bewerkingen in de query moeten worden uitgevoerd. Aan de andere kant specificeert relationele berekening niet de volgorde van bewerkingen die in de query zijn uitgevoerd.
  4. De relationele algebra is niet domeinafhankelijk, terwijl de relationele calculus domeinafhankelijk kan zijn omdat we relationele calculus hebben.
  5. De relationele algebra-querytaal is nauw verwant aan de programmeertaal, terwijl de relationele calculus nauw verwant is aan de natuurlijke taal.

Conclusie:

Relationele algebra en relationele calculus hebben beide dezelfde expressieve kracht. Het belangrijkste verschil tussen beide is dat Relational Algebra specificeert hoe gegevens moeten worden opgehaald en Relational Calculus definieert welke gegevens moeten worden opgehaald.

Top