Aula11 CalculoRelacional
1481 palavras
6 páginas
Cálculo RelacionalFonte Principal: Prof. Vania Bogorny
Introdução
Permite a descrição da consulta desejada sem especificar os procedimentos para obtenção das informações
Na lógica de primeira ordem pode-se pensar como uma linguagem de consulta de duas formas:
Calculo relacional de tuplas
Cálculo relacional de domínio
A diferença está no nível em que são utilizadas as variáveis:
Nível de Atributo para os Dominios
Nivel de Tuplas
Introdução
O cálculo é uma linguagem de consulta formal onde escrevemos uma expressão declarativa para especificar uma solicitação de recuperação
A expressão especifica O QUE será recuperado, em vez de COMO será recuperado
Linguagem
de consulta não-procedural, o que o difere da álgebra, onde descrevemos uma sequência de operações
Qualquer consulta que possa ser expressa na álgebra pode ser expressa no cálculo
Ambas tem o mesmo poder de expressão
Introdução
Existem consultas em linguagens que não podem ser expressas na álgebra ou no calculo relacional
Algumas
linguagens de consulta são mais completas que a álgebra e o cálculo, devido as operações de agregação e ordenamento
Cálculo Relacional de Tuplas
Expressão geral:
{ t | COND(t) }
t= variável de tupla
COND(t) = é uma expressão condicional envolvendo t
Resultado da consulta = conjunto de todas as tuplas t que satisfazem COND(t)
Exemplo: encontrar todas as tuplas de empregado com salário acima de
1200,00
Notação Silberchatz: { t | t empregado t[salario] > 1200}
Notação Navathe: { t | empregado(t) AND t.salario > 1200}
Leitura: o conjunto de todas as tuplas t tal que exista uma tupla t na relação empregado para a qual o valor no atributo salario seja maior que 1200 reais
Cálculo Relacional de Tuplas
Na consulta { t | empregado(t) AND t.salario > 1200}
Cada tupla de EMPREGADO que satisfaça a condição de salario>1200 é recuperada
t.Salario referencia o atributo salario da variavel de tupla t (similar ao
SQL)
Cálculo Relacional