///
Considere as afirmativas sobre cálculo relacional:
I. O cálculo existe em duas formas, cálculo de tuplas e cálculo de domínios. A principal diferença entre eles é que as variáveis de intervalo do cálculo de tuplas variam sobre relações, enquanto as variáveis de intervalo do cálculo de domínios variam sobre domínios.
II. Uma expressão do cálculo de tuplas consiste em uma prototupla e uma cláusula WHERE opcional, contendo uma expressão booleana ou FBF ("fórmula bem formada"). Essa FBF pode conter quantificadores (EXISTS e FORALL), referências de variáveis livres e limitadas, operadores booleanos (AND, OR, NOT etc.).
III. O algoritmo de redução de Codd não pode ser usado para converter uma expressão arbitrária do cálculo em uma expressão equivalente da álgebra, não abrindo assim caminho para uma possível estratégia de implementação para o cálculo.
IV. A linguagem SQL é um tipo de mistura entre a álgebra e o cálculo de tuplas. Por exemplo, ela admite explicitamente os operadores JOIN e UNION da álgebra, mas também usa as variáveis de intervalo e o quantificador existencial do cálculo.
V. Uma consulta SQL consiste em uma expressão de tabela. Geralmente, apenas uma única expressão de seleção, mas várias espécies de expressões JOIN explícitas também são admitidas, mas não podem ser combinadas expressões de junção e seleção de várias formas, nem mesmo usando-se os operadores UNION, INTERSECT e EXCEPT.
Acerca das afirmativas acima, podemos afirmar que: