Cálculo relacional - Relational calculus

O cálculo relacional consiste em dois cálculos, o cálculo relacional de tupla e o cálculo relacional de domínio , que fazem parte do modelo relacional para bancos de dados e fornecem uma maneira declarativa de especificar consultas de banco de dados.

O cálculo relacional é semelhante à álgebra relacional , que também faz parte do modelo relacional: embora o cálculo relacional seja uma linguagem declarativa que não prescreve nenhuma ordem de execução nas subexpressões de uma expressão de cálculo relacional, a álgebra relacional é entendida como uma linguagem imperativa: as subexpressões de expressões algébricas relacionais devem ser executadas da esquerda para a direita e de dentro para fora após seu aninhamento.

Uma expressão de álgebra relacional pode prescrever as seguintes etapas para recuperar os números de telefone e nomes de livrarias que fornecem alguns livros de amostra :

  1. Junte-se a livrarias e títulos através do BookstoreID.
  2. Restrinja o resultado dessa junção às tuplas do livro Some Sample Book .
  3. Projete o resultado dessa restrição em StoreName e StorePhone.

Uma expressão de cálculo relacional formularia essa consulta da seguinte maneira descritiva ou declarativa:

Obtenha StoreName e StorePhone para livrarias de forma que exista um título BK com o mesmo valor BookstoreID e com um valor BookTitle de Some Sample Book .

A álgebra relacional e o cálculo relacional são logicamente equivalentes : para qualquer expressão algébrica, existe uma expressão equivalente no cálculo e vice-versa. Este resultado é conhecido como teorema de Codd .

A razão de ser do cálculo relacional é a formalização da otimização da consulta . A otimização da consulta consiste em determinar a partir de uma consulta a maneira (ou modos) mais eficiente de executá-la. A otimização de consulta pode ser formalizada como a tradução de uma expressão de cálculo relacional que fornece uma resposta A em expressões algébricas relacionais eficientes que fornecem a mesma resposta A.

Veja também

Referências

  • Date, Christopher J. (2004). Uma introdução aos sistemas de banco de dados (8ª ed.). Addison Wesley. ISBN 0-321-19784-4.