Vous êtes sur la page 1sur 3

Universidade Federal de Mato Grosso do Sul

o e Estat Departamento de Computac a stica Banco de Dados 1

Notas de aula
(Aula do dia 26 de maio)

Opera co es para recupera c ao e atualiza c ao de bases de dados relacionais


C alculo relacional

1.1

O c alculo relacional e uma linguagem de consulta formal baseada em express oes declarativas. Ou seja, express oes declarativas s ao utilizada para especicar a busca por informa co es de interesse. Ao contr ario da Algebra Relacional, considerada uma linguagem procedural 1 , o c alculo relacional e considerada uma linguagem n ao-procedural. Em outras palavras, uma express ao do c alculo relacional especica o que est a sendo buscado, e n ao como a busca ser a feita 2 . No c alculo relacional existem vari aveis, constantes, operadores l ogicos, de compara ca o, e quanticadores. As express oes do c alculo s ao chamadas f ormulas. Uma tupla-resposta e essencialmente uma atribui ca o de constantes a `s vari aveis que leva a f ormula a um estado verdadeiro. Existem dois tipos b asicos de c alculo relacional: o C alculo Relacional de Tuplas (CRT) e o C alculo Relacional de dom nios (CRD), a serem descritos a seguir.

1.1.1

C alculo Relacional de Tuplas

O c alculo relacional de tuplas est a baseado na especica ca o de um n umero de vari aveis do tipo tupla. Qualquer vari avel desse tipo pode assumir como valor qualquer tupla da rela ca o especicada. Uma consulta em CRT e especicada da seguinte forma: {t|COND(t)}, onde t e uma vari avel do tipo tupla e COND(t) e uma express ao condicional envolvendo t. O resultado de uma consulta desse tipo corresponde ao conjunto de todas as tuplas t que
1 nessa linguagem, uma seq u encia de opera co es (procedimento) precisam ser especicadas para expressar uma busca. 2 nenhum procedimento para obten ca o das informa co es desejadas e especicado dentro do C alculo Relacional.

a satisfazem a condi ca o em COND(t). Para encontrar todos os funcion arios cujo sal ario e maior que R$5.000,00, a seguinte express ao pode ser utilizada: {t|FUNCIONARIO(t) e t.Salario > 5.000, 00}. A condi ca o FUNCIONARIO(t) determina que a vari avel t pode receber como valor qualquer tupla da rela ca o FUNCIONARIO. Cada tupla t de FUNCIONARIO que satisfaz a condi ca o t.Salario > 5.000, 00 e recuperada. A express ao abaixo {t.NomeFunc|FUNCIONARIO(t) e t.Salario > 5.000, 00}. e utilizada para recuperar o nome dos funcion arios que recebem mais do que 5.000,00: Com base nos exemplos acima, as seguintes informa co es precisam ser especicadas durante a constru ca o de uma express ao do c alculo relacional de tuplas. 1. para cada vari avel t do tipo tupla, especicar a rela ca o R cujas tuplas podem atribu das a t; 2. Uma condi ca o para selecionar uma combina ca o particular de tuplas; 3. Um conjunto de atributos de interesse. Na express ao {t.NomeFunc, t.DataNasc|FUNCIONARIO(t) e t.NomeFunc = Jos e}, FUNCIONARIO corresponde a ` rela ca o R cujas tuplas podem ser atribu das a t, FUNCIONARIO(t) e t.NomeFunc = Jos e corresponde a ` condi ca o para sele ca o das tuplas e t.NomeFunc, t.DataNasc aos atributos de interesse. Genericamente, uma express ao do c alculo relacional de tuplas e da seguinte forma: {t1 .A1 , t2 .A2 , . . . , tn .An |COND(t1 , t2 , . . . , tn , tn+1 , tn+2 , tn+m ), onde t1 , t2 , . . . , tn , tn+1 , tn+2 , tn+m s ao vari aveis do tipo tuplas, cada A i e um atributo da rela ca o sobre a qual ti encontra-se denida e COND e uma f ormula ou condi ca o do c alculo relacional de tuplas. Uma f ormula do c alculo relacional e formada de a tomos, que podem ser: 1. um a tomo da forma R(ti ), onde R e o nome de uma rela ca o e t i e uma vari avel do tipo tupla. 2. um a tomo da forma ti .A op tj .B onde op e um dos operadores de compara ca o, t i e tj s ao duas vari aveis do tipo tupla e A(B ) e um atributo da rela ca o sobre a qual t i (tj ) est a denida. 3. um a tomo da forma ti .A op c onde op e um dos operadores de compara ca o, c e uma constante, ti e tj s ao duas vari aveis do tipo tupla e A(B ) e um atributo da rela ca o sobre a qual ti (tj ) est a denida.

Uma f ormula e composta de um ou mais a tomos conectados via os operadores l ogicos E, . Al OU e NAO em disso, alguns s mbolos especiais podem aparecer em f ormulas do c alculo o caso do s relacional. E mbolo de quanticador existencial () que permite, por exemplo, consultas do tipo
{t.NomeFunc|FUNCIONARIO(t) e (d)(DEPARTAMENTO(d) e d.Nome = Pesquisa e d.NumDep = t.NumDep)}. A consulta acima retorna o nome e endere co de todos os funcion arios que trabalham no departamento de pesquisa.

1.1.2

C alculo Relacional de Dom nios

A diferen ca b asica entre o c alculo relacional de tuplas e o c alculo relacional de dom nios e que nesse u ltimo as vari aveis podem receber valores u nicos de dom nios de atributos (vari aveis de dom nio). Para criar uma rela ca o de grau n resultado de uma consulta, faz-se necess ario criar n vari aveis de dom nio, uma para cada atributo da rela ca o resultante. Uma express ao gen erica do c alculo relacional de dom nios tem a forma: {x1 , x2 , . . . , xn |COND(x1 , x2 , . . . , xn , xn+1 , xn+2 , . . . , xn+m )}, onde x1 , x2 , . . . , xn , xn+1 , xn+2 , . . . , xn+m s ao vari aveis de dom nio aplicadas sobre o dom nio dos atributos requeridos na consulta e COND e uma condi ao f ormula do c alculo relacional de dom nios, que pode ser especicada utilizando os seguintes a tomos: 1. Uma f ormula at omica R(x1 , x2 , . . . , xj ), onde e o nome de um rela ca o de grau j e cada xi , 1 i j , e uma vari avel de dom nio. Isto implica que uma lista de valores de < x1 , x2 , . . . , xj > deve ser uma tupla na rela ca o R tal que xi e o valor do i- esimo atributo da tupla; 2. Uma f ormula at omica xi op xj , onde op e um operador de compara ca o {=, <, >, . . .} e xi e xj s ao vari aveis de dom nio; 3. Uma f ormula at omica xi op c, onde op e um operador de compara ca o {=, <, >, . . .}, xi e uma vari avel de dom nio e c e um valor constante qualquer. A express ao abaixo e um exemplo de consulta que pode ser feita utilizando o c alculo relacional de dom nios {s|(q )(r)(t)(u)(FUNCIONARIO (qrstu) e q = Jos e}. A express ao acima retorna a data de nascimento de todos os funcion arios que se chamam Jos e. Para uma melhor compreens ao dessa express ao considere o seguinte esquema para uma tabela de funcion arios. FUNCIONARIO NomeFunc CPF DataNasc NumDep CPFSuper

Na express ao em quest ao, escolhe-se primeiramente o atribtuo de interesse. No caso, a data de nascimento, associada a ` vari avel s. Determina-se ent ao a condi ca o para sele ca o das tuplas. Ela exige que os valores associados a `s vari aveis qrstu seja uma tupla do esquema FUNCIONARIO e que o valor de q seja Jos e. Uma forma mais compacta de escrever essa consulta e: {s|FUNCIONARIO (Jos e, r, s, t, u)}

Vous aimerez peut-être aussi