Obsah: Relační algebra Vs Relační kalkul
- Srovnávací graf
- Definice
- Klíčové rozdíly
- Závěr
Srovnávací graf
Základ pro porovnání | Relační algebra | Relač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. |
Objednat | Relační algebra popisuje pořadí, ve kterém mají být operace prováděny. | Relační kalkul neurčuje pořadí operací. |
Doména | Relativní 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
- 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.
- Relační algebra definuje, jak dosáhnout výsledku, zatímco Relační kalkul definuje, jaké informace musí výsledek obsahovat.
- 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.
- 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.
- 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.