Inhalt: Relational Algebra Vs Relational Calculus
- Vergleichstabelle
- Definition
- Hauptunterschiede
- Fazit
Vergleichstabelle
Vergleichsgrundlage | Relationale Algebra | Beziehungsrechnung |
---|---|---|
Basic | Relationale Algebra ist eine prozedurale Sprache. | Relational Claculus ist deklarative Sprache. |
Zustände | Relational Algebra gibt an, wie das Ergebnis erhalten wird. | Relational Calculus gibt an, welches Ergebnis wir erhalten müssen. |
Auftrag | Relational Algebra beschreibt die Reihenfolge, in der Operationen ausgeführt werden müssen. | Relational Calculus gibt die Reihenfolge der Operationen nicht an. |
Domain | Relationale Algebra ist nicht domänenabhängig. | Relation Claculus kann domänenabhängig sein. |
verbunden | Es ist in der Nähe einer Programmiersprache. | Es liegt nahe an der natürlichen Sprache. |
Definition von relationaler Algebra
Die relationale Algebra stellt die grundlegenden Operationen für das relationale Modell vor. Es ist eine Verfahrenssprache, die das Verfahren beschreibt, um das Ergebnis zu erhalten. Relationale Algebra ist präskriptiv, da sie die Reihenfolge der Operationen in der Abfrage beschreibt , in der angegeben wird, wie das Ergebnis einer Abfrage abgerufen wird.
Die Folge von Operationen in einer Beziehungsalgebra wird als relationaler Algebra-Ausdruck bezeichnet. Der relationale Algebra-Ausdruck nimmt entweder eine Relation oder zwei Relationen als Eingabe für den Ausdruck und erzeugt als Ergebnis eine neue Relation. Die aus den relationalen Algebra-Ausdrücken erhaltene resultierende Relation kann weiter zu den anderen relationalen Algebra-Ausdrücken zusammengesetzt werden, deren Ergebnis wieder eine neue Relation sein wird.
Die Relation-Algebra bildet den Rahmen für die Implementierung und Optimierung von Abfragen während der Abfrageverarbeitung. Die relationale Algebra ist ein wesentlicher Bestandteil des relationalen DBMS. Die grundlegenden Operationen in der relationalen Algebra sind { Auswählen (σ), Projekt (π), Union (∪), Differenz einstellen (-), Kartesisches Produkt (×) und Umbenennen (ρ) }.
Definition der Beziehungsrechnung
Im Gegensatz zur relationalen Algebra ist Relational Calculus eine deklarative Sprache auf höherer Ebene. Im Gegensatz zur relationalen Algebra definiert der relationale Kalkül, welches Ergebnis erzielt werden soll. Wie bei der relationalen Algebra gibt Relational Calculus nicht die Reihenfolge der Operationen an, in denen die Abfrage ausgewertet wird.
Die Folge von relationalen Berechnungsoperationen wird als relationaler Berechnungsausdruck bezeichnet, der als Ergebnis auch eine neue Relation erzeugt. Der Beziehungskalkül hat zwei Varianten, nämlich den Tupel-Beziehungskalkül und den Domänen-Beziehungskalkül .
Der Tupel- Relational-Kalkül listet die Tupel auf, die aus einer Beziehung ausgewählt werden sollen, basierend auf einer bestimmten Bedingung . Es wird formal als bezeichnet:
P (t)
Wobei t die Menge von Tupeln ist, von denen die Bedingung P wahr ist.
Die nächste Variante ist Domain Relational Calculus, die im Gegensatz zu Tuple Relational Calculus die Attribute enthält, die basierend auf bestimmten Bedingungen aus einer Relation ausgewählt werden sollen . Die formale Definition von Domain Relational Calculus lautet wie folgt:
Wobei X1, X2, X3, . . . Xn sind die Attribute und P ist die bestimmte Bedingung.
Hauptunterschiede zwischen relationaler Algebra und relationalem Kalkül
- Der grundlegende Unterschied zwischen relationaler Algebra und relationaler Berechnung besteht darin, dass es sich bei der relationalen Algebra um eine prozedurale Sprache handelt, während die relationale Algebra eine nicht-prozedurale ist, stattdessen eine deklarative Sprache.
- Die relationale Algebra definiert, wie das Ergebnis erhalten wird, während die relationale Berechnung definiert, welche Informationen das Ergebnis enthalten muss.
- Relationale Algebra gibt die Reihenfolge an, in der Operationen in der Abfrage ausgeführt werden müssen. Auf der anderen Seite gibt Relational Calculus nicht die Reihenfolge der Operationen an, die in der Abfrage ausgeführt werden sollen.
- Die relationale Algebra ist nicht domänenabhängig, wohingegen der relationale Kalkül domänenabhängig sein kann, da wir einen relationalen Beziehungskalkül haben.
- Die Abfragesprache der relationalen Algebra ist eng mit der Programmiersprache verbunden, während der relationale Kalkül eng mit der natürlichen Sprache verwandt ist.
Fazit:
Relational Algebra und Relational Calculus haben beide eine gleichwertige Ausdruckskraft. Der Hauptunterschied zwischen ihnen besteht nur darin, dass Relational Algebra angibt, wie Daten abgerufen werden sollen, und Relational Calculus definiert, welche Daten abgerufen werden sollen.