Doporučená, 2024

Redakce Choice

Rozdíl mezi relační algebrou a relačním kalkulem

Relační algebra a relační kalkul jsou formální dotazovací jazyky pro relační model. Oba tvoří základ pro jazyk SQL, který se používá ve většině relačních DBMS. Relační algebra je procedurální jazyk. Na druhé straně, Relační kalkul je deklarativní jazyk. Relační algebra a relační kalkul lze dále diferencovat na mnoha aspektech, o nichž jsem hovořil níže pomocí srovnávací tabulky.

Obsah: Relační algebra Vs Relační kalkul

  1. Srovnávací graf
  2. Definice
  3. Klíčové rozdíly
  4. Závěr

Srovnávací graf

Základ pro porovnáníRelační algebraRelační počet
ZákladníRelační algebra je procedurální jazyk.Relační Claculus je deklarativní jazyk.
StátůRelační algebra uvádí, jak dosáhnout výsledku.Relační kalkul uvádí, jaký výsledek musíme získat.
ObjednatRelační algebra popisuje pořadí, ve kterém mají být operace prováděny.Relační kalkul neurčuje pořadí operací.
DoménaRelativní algebra není závislá na doméně.Vztah Claculus může být závislý na doméně.
PříbuznýJe blízko programovacímu jazyku.Je blízký přirozenému jazyku.

Definice relační algebry

Relační algebra představuje základní sadu operací pro relační model. Jedná se o procesní jazyk, který popisuje postup pro získání výsledku. Relační algebra je normativní, protože popisuje pořadí operací v dotazu, který určuje, jak získat výsledek dotazu.

Posloupnost operací v relační algebře se nazývá relační algebraický výraz. Vztah relační algebry bere buď jeden vztah nebo dva vztahy jako vstup do výrazu a výsledkem je nový vztah. Výsledný vztah získaný z relačních algebraických výrazů může být dále složen do dalšího relačního algebraického výrazu, jehož výsledkem bude opět nový vztah.

Relace Algebra tvoří rámec pro implementaci a optimalizaci dotazů při zpracování dotazu. Relační algebra je nedílnou součástí relačního DBMS. Základní operace zahrnutá v relační algebře je { Select (σ), Project (π), Union (∪), Set Difference (-), karteziánský produkt (×) a Rename (ρ) } ) .

Definice relačního počtu

Na rozdíl od Relační algebry je Relační kalkul vyšší úrovní deklarativního jazyka. V relaci k relační algebře definuje relační kalkul, jaký výsledek má být získán. Stejně jako Relační algebra, tak i relační kalkul neurčuje sled operací, ve kterých bude dotaz vyhodnocen.

Sekvence relačních kalkulačních operací se nazývá relační kalkulační vyjádření, které také vytváří nový vztah. Relační kalkul má dvě variace, jmenovitě Tuple Relational Calculus a Domain Relational Calculus .

Tuple Relational Calculus (Tuplový relační kalkul) obsahuje seznam n-tic, které jsou vybrány ze vztahu, na základě určité podmínky . Formálně se označuje jako:

P (t)

Kde t je množina n-tic, pro kterou je podmínka P pravdivá.

Další variace je Domain Relational Calculus, který na rozdíl od Tuple Relational Calculus seznam atributů, které mají být vybrány z relace, založené na určité podmínce . Formální definice Doménového relačního počtu je následující:

Kde X1, X2, X3. . . Xn jsou atributy a P je určitá podmínka.

Klíčové rozdíly mezi relační algebrou a relačním kalkulem

  1. Základní rozdíl mezi Relační algebrou a relačním kalkulem je ten, že Relační algebra je procedurální jazyk, zatímco Relační kalkul je Non-procedurální, místo toho je deklarativním jazykem.
  2. Relační algebra definuje, jak dosáhnout výsledku, zatímco Relační kalkul definuje, jaké informace musí výsledek obsahovat.
  3. Relační algebra určuje posloupnost, ve které mají být operace prováděny v dotazu. Na druhou stranu, relační kalkul neurčuje posloupnost operací prováděných v dotazu.
  4. Relační algebra není závislá na doméně, zatímco Relační kalkul může být závislý na doméně, jak máme Doménový relační kalkul.
  5. Relační algebraový dotazovací jazyk je úzce spjat s programovacím jazykem, zatímco Relační kalkul úzce souvisí s přirozeným jazykem.

Závěr:

Relační algebra a relační kalkul mají ekvivalentní expresivní sílu. Hlavním rozdílem mezi nimi je právě to, že Relační algebra specifikuje, jak načíst data a Relační kalkul definuje, jaká data mají být získána.

Top