Verschil tussen relationele algebra en relationele berekening

Schrijver: Laura McKinney
Datum Van Creatie: 1 April 2021
Updatedatum: 15 Kunnen 2024
Anonim
Difference between Relational Algebra & Relational Calculus | Atoms in Tuple Relational Calculus
Video: Difference between Relational Algebra & Relational Calculus | Atoms in Tuple Relational Calculus

Inhoud


Relationele algebra en relationele berekening zijn de formele zoektalen 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, Relationele Calculus is een declaratieve taal. Relationele algebra en relationele berekening kunnen verder worden gedifferentieerd op vele aspecten, die ik hieronder heb besproken met behulp van een vergelijkingstabel.

Inhoud: Relationele algebra versus relationele berekening

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

Vergelijkingstabel

Basis voor vergelijkingRelationele AlgebraRelationele Calculus
basis-Relationele algebra is een procedurele taal.Relationele Claculus is declaratieve taal.
StatenRelationele algebra geeft aan hoe het resultaat te verkrijgen.Relationele berekening geeft aan welk resultaat we moeten behalen.
BestellenRelationele algebra beschrijft de volgorde waarin bewerkingen moeten worden uitgevoerd.Relationele berekening geeft niet de volgorde van bewerkingen op.
DomeinRelationele algebra is niet domeinafhankelijk.Relatie Claculus kan domeinafhankelijk zijn.
VerwantHet ligt dicht bij een programmeertaal.Het ligt dicht bij de natuurlijke taal.


Definitie van relationele algebra

Relationele algebra presenteert de basisset van bewerkingen voor het relationele model. Het is een procedureel taal, die de procedure beschrijft om het resultaat te verkrijgen. Relationele algebra is prescriptief omdat het de volgorde van bewerkingen in de zoekopdracht die opgeeft hoe om het resultaat van een zoekopdracht op te halen.

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

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


Definitie van relationele berekening

In tegenstelling tot de relationele algebra is de relationele berekening een hoger niveau verklarend taal. In tegenstelling tot de relationele algebra definieert de relationele calculus wat resultaat moet worden verkregen. Zoals relationele algebra, relationele berekening geeft niet de volgorde van bewerkingen op waarin de zoekopdracht wordt geëvalueerd.

De reeks relationele calculusbewerkingen wordt genoemd relationele calculus uitdrukking dat levert ook een nieuwe relatie op. De relationele berekening heeft twee variaties namelijk Tuple relationele berekening en Domein Relationele Calculus.

De Tuple relationele berekening lijst de tupels geselecteerd uit een relatie, op basis van een bepaalde staat verstrekt. Het wordt formeel aangeduid als:

P (t)

Waar t is het stel tupels voor welke de toestand P is waar.

De volgende variatie is Domain Relational Calculus, die in tegenstelling tot Tuple Relational Calculus lijst de attributen te selecteren uit een relatie, op basis van bepaalde staat. De formele definitie van Domain Relational Calculus is als volgt:

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

  1. Het fundamentele verschil tussen Relationele Algebra en Relationele Calculus is dat Relationele Algebra een Procedurele taal is, terwijl de Relationele Calculus een niet-Procedurele is, maar in plaats daarvan een Declaratieve taal.
  2. De relationele algebra definieert hoe het resultaat moet worden verkregen, terwijl de relationele berekening bepaalt welke informatie het resultaat moet bevatten.
  3. Relationele algebra geeft de volgorde aan waarin bewerkingen moeten worden uitgevoerd in de query. Aan de andere kant geeft Relationele calculus niet de reeks bewerkingen op die in de query moeten worden uitgevoerd.
  4. De relationele algebra is niet domeinafhankelijk, terwijl de relationele berekening domeinafhankelijk kan zijn omdat we domeinrelatieberekening hebben.
  5. De relationele algebra-querytaal is nauw verwant met de programmeertaal, terwijl de relationele berekening nauw verwant is met de natuurlijke taal.

Gevolgtrekking:

Relationele algebra en relationele berekening hebben beide een vergelijkbare uitdrukkingskracht. Het belangrijkste verschil is dat relationele algebra specificeert hoe gegevens moeten worden opgehaald en dat relationele berekening bepaalt welke gegevens moeten worden opgehaald.