Disciplina de Banco de DadosCálculo Relacional de TuplasGenivaldo Rocha, João Natalino,Lourenço Carvalho
ROTEIRO- Introdução- O que é Calculo Relacional de Tuplas- O que é preciso informar numa Expressão de Cálculo deTuplas?- E...
IntroduçãoSabemos que existem diversas formas defazer consultas em banco de dados.Mas nesse trabalho iremos abordar umadas...
O que é Calculo Relacional de Tuplas O cálculo relacional de tuplas é uma linguagemde consulta formal onde escrevemos uma...
O que é Calculo Relacional de Tuplas sem descrever como obtê-la (O QUÊ) Aexpressão especifica O QUE será recuperado,em ve...
O QUE É CALCULO RELACIONAL DE TUPLAS Permite a descrição da consulta desejada semespecificar os procedimentos para obtenç...
Cálculo Relacional de Tuplas Expressão geral:{ t | COND(t) }t= variável de tuplaCOND(t) = é uma expressão condicional env...
Cálculo Relacional de Tuplas Na consulta { t | empregado(t) AND t.salario > 1200}Cada tupla de EMPREGADO que satisfaça a ...
Cálculo Relacional de Tuplas Na consulta { t | empregado(t) AND t.salario > 1200} Para recuperar apenas alguns atributos...
O que é preciso informar numa expressão decálculo de tuplas?1. Uma relação R(t)Equivalente a cláusula FROM do SQL1. Uma co...
Expressões e Fórmulas Expressão GERAL: {t1.A1, t2.A2, ..., tn.An, | COND (t1, t2,..., tn, tn+1, tn+2,..., tn+m)}Os t são...
Expressões e Fórmulas Expressão GERAL: {t1.A1, t2.A2, ..., tn.An, | COND (t1, t2,..., tn, tn+1, tn+2,..., tn+m)} Variáv...
A Expressão Lógica{t1.A1, t2.A2, ..., tn.An, | COND (t1, t2,..., tn, tn+1, tn+2,..., tn+m)} Uma expressão pode ter várias...
Exemplo Q1: recupere a data de nascimento e oendereço do empregado João Natalino{ t.dataNasc, t.endereco | empregado(t) A...
Quantificadores Existencial e Universal Usados para consultas com mais de umarelação Quantificador existencial: ∃ Chama...
Quantificadores Existencial e Universal Valores verdade para os quantificadores Sendo C uma condição: (∃t)(C) é VERDADE...
Quantificador Existencial Notação (Silberchatz)∃ t ∈ C(t) Notação (Navathe)(∃t)(C) Define uma variável não-livre t (ass...
Quantificador Existencial Relações Exemplo Projeto (codProj, tipo, descr, codDep) ProjetoEmpregado (codProj, codEmp, da...
Quantificador Existencial TABELAS: EXEMPLO Consulta 1: recupere o nome e o endereco detodos os empregados que trabalham ...
Quantificador Existencial Consulta 2: Encontre o nome do projetodos empregados do departamento 5MAIS EXEMPLO Neste exemp...
Quantificador Universal Notação∀ t ∈ C(t) (Silberchatz)(∀ t) (C) (Navathe) Interpretaçãoverifica se toda tupla t satisf...
Exemplos de Consultas c/ o QuantificadorExistencialProjeto (codProj, tipo, descr, codDep)ProjetoEmpregado (codProj, codEmp...
Considerações finaisO calculo relacional de tuplas pode serdefinido como uma sequência deoperações que determina e especif...
Bibliografia1 - Silbershatz, Abraham; Korth, Henry F. eSudarshan, S. Sistema de banco de dados – 3.ed. Tradução de Marília...
Próximos SlideShares
Carregando em…5
×

Seminario banco de dados calculo relacional de tuplas (2)

776 visualizações

Publicada em

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
776
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
19
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Tudo o que vem após o | é uma condicao, ou seja, a condicao eh que a tupla seja da relacao EMPREGADO e que o atributo salario desta relacao seja maior que 1200
  • Seminario banco de dados calculo relacional de tuplas (2)

    1. 1. Disciplina de Banco de DadosCálculo Relacional de TuplasGenivaldo Rocha, João Natalino,Lourenço Carvalho
    2. 2. ROTEIRO- Introdução- O que é Calculo Relacional de Tuplas- O que é preciso informar numa Expressão de Cálculo deTuplas?- Expressões e Fórmulas- A Expressão Lógica- Quantificadores Existencial e Universal- Exemplos- Considerações finais- Bibliografia
    3. 3. IntroduçãoSabemos que existem diversas formas defazer consultas em banco de dados.Mas nesse trabalho iremos abordar umadas linguagens de consulta o cálculorelacional de tuplas que consiste em umadessas maneiras formais de manipulardados em uma base digital queespecificara o que será consultado.
    4. 4. O que é Calculo Relacional de Tuplas O cálculo relacional de tuplas é uma linguagemde consulta formal onde escrevemos umaexpressão declarativa para especificar umasolicitação de recuperação ( consulta ). Qualquer consulta que possa ser expressa naálgebra pode ser expressa no cálculo Ambas tem o mesmo poder de expressão O usuário descreve a informação que desejaobter
    5. 5. O que é Calculo Relacional de Tuplas sem descrever como obtê-la (O QUÊ) Aexpressão especifica O QUE será recuperado,em vez de COMO será recuperado Linguagem de consulta não-procedural, o queo difere da álgebra, onde descrevemos umasequência de operações.– Restrição/Seleção (select): σ– Projeção (Project): π– Produto Cartesiano (cartesian product): x– União (union): ∪– Diferença (set-difference): -
    6. 6. O QUE É CALCULO RELACIONAL DE TUPLAS Permite a descrição da consulta desejada semespecificar os procedimentos para obtenção dasinformações Na lógica de primeira ordem pode-se pensar como umalinguagem 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 asvariáveis: Nível de Atributo para os Dominios Nivel de Tuplas
    7. 7. Cálculo Relacional de Tuplas Expressão geral:{ t | COND(t) }t= variável de tuplaCOND(t) = é uma expressão condicional envolvendo tResultado da consulta = conjunto de todas as tuplas t que satisfazem COND(t) Exemplo: encontrar todas as tuplas de empregado com salário acima de1200,00Notaçã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çãoempregado para a qual o valor no atributo salario seja maior que 1200 reais
    8. 8. Cálculo Relacional de Tuplas Na consulta { t | empregado(t) AND t.salario > 1200}Cada tupla de EMPREGADO que satisfaça a condição desalario>1200 é recuperadat.Salario referencia o atributo salario da variavel de tupla t (similar aoSQL)
    9. 9. Cálculo Relacional de Tuplas Na consulta { t | empregado(t) AND t.salario > 1200} Para recuperar apenas alguns atributos ao invés da tupla toda:{ t.nome, t.sobrenome | empregado(t) AND t.salario > 1200} Equivale a consulta SQL:SELECT t.nome, t.sobrenomeFROM empregado tWHERE t.salario>1200 Equivale a consulta da Álgebra:πnome, sobrenome (σsalario > 1.200 (Empregado))Atributo relação condição
    10. 10. O que é preciso informar numa expressão decálculo de tuplas?1. Uma relação R(t)Equivalente a cláusula FROM do SQL1. Uma condição para selecionar tuplasEquivalente a cláusula WHERE do SQL e SELECAO da algebraA condição é após o símbolo |3. Conjunto de atributos a ser recuperadoEquivalente ao SELECT do SQLSELECT FROM WHERE{ t.nome, t.sobrenome | empregado(t) AND t.salario > 1200}condição
    11. 11. Expressões e Fórmulas Expressão GERAL: {t1.A1, t2.A2, ..., tn.An, | COND (t1, t2,..., tn, tn+1, tn+2,..., tn+m)}Os t são variáveis de tuplasOs A são um atributo da relaçãoA relação faz parte da condiçãoUma condição pode ter operadores de conjunto <, >, <=, >=, <>, do tipot>c, onde c é uma constante
    12. 12. Expressões e Fórmulas Expressão GERAL: {t1.A1, t2.A2, ..., tn.An, | COND (t1, t2,..., tn, tn+1, tn+2,..., tn+m)} Variável livre assume valores de tuplas de uma ou mais relações constitui a resposta da consulta Aparece do lado esquerdo da | Predicado EXPRESSÃO LÓGICA que, se verdadeira para determinadosvalores das variáveis livres retorna os valores destas variáveisna resposta da consultavariáveis livres predicado aplicado às variáveislivres
    13. 13. A Expressão Lógica{t1.A1, t2.A2, ..., tn.An, | COND (t1, t2,..., tn, tn+1, tn+2,..., tn+m)} Uma expressão pode ter várias condições C (fórmula), ligadas poroperadores lógicos AND, OR, e NOT Se C1 e C2 são uma condição, então (C1 AND C2),(C1 OR C2 ), NOT (C1) eNOT (C2) Valores verdade para as condições: (C1 AND C2) é verdadeiro se ambos C1 e C2 forem verdadeiros, caso contrárioé FALSO (C1 OR C2 ) é falso se ambos C1 e C2 forem falsos, caso contrário é verdadeiro NOT (C1) é verdadeiro se c1 for FALSO; é FALSo se C1 for VERDADEIRO NOT (C2) é verdadeiro se C2 for FALSO; é FALSo se C2 for VERDADEIRO
    14. 14. Exemplo Q1: recupere a data de nascimento e oendereço do empregado João Natalino{ t.dataNasc, t.endereco | empregado(t) AND t.nome=´Joao´ ANDt.sobrenome=´Natalino´}
    15. 15. Quantificadores Existencial e Universal Usados para consultas com mais de umarelação Quantificador existencial: ∃ Chamado EXISTE Quantificador universal: ∀ Chamado PARA TODO Em uma expressão uma tupla t é livre quandonão for quantificada em uma cláusula (∃t ) ou(∀t), caso contrário ela é limite.
    16. 16. Quantificadores Existencial e Universal Valores verdade para os quantificadores Sendo C uma condição: (∃t)(C) é VERDADEIRA se C for verdadeira paraalguma (pelo menos 1) tupla das ocorrências livresde t em C, caso contrário é FALSA (∀t)(C) é VERDADEIRA se C for VERDADEIRA paratodas as tuplas (no universo) designadas paraocorrências livres de t em C, caso contrário é FALSA
    17. 17. Quantificador Existencial Notação (Silberchatz)∃ t ∈ C(t) Notação (Navathe)(∃t)(C) Define uma variável não-livre t (associada sempre a uma relaçãoR) e avalia uma condição C(t) para ela interpretação: verifica se existe alguma tupla t em R para o qualC(t) seja verdadeiro
    18. 18. Quantificador Existencial Relações Exemplo Projeto (codProj, tipo, descr, codDep) ProjetoEmpregado (codProj, codEmp, dataIni, tempoAl) Empregado (codEmp, nome, salario, codDep) Departamento (codDep, descricao)Departamento que controla o projeto
    19. 19. Quantificador Existencial TABELAS: EXEMPLO Consulta 1: recupere o nome e o endereco detodos os empregados que trabalham nodepartamento de PESQUISA{ t.nome, t.endereco | empregado(t) AND(∃d) (departamento(d) AND d.nome=´PESQUISA´ ANDd.codDepto=t.codDepto)} Neste exemplo, t é uma tupla livre, d não é livreCondição de SELEÇÂO da Algebra Condição de JUNÇÂO Equivale aoC da Formula(∃d)(C))
    20. 20. Quantificador Existencial Consulta 2: Encontre o nome do projetodos empregados do departamento 5MAIS EXEMPLO Neste exemplo, t é uma tupla livre, d não é livreCondição de SELEÇÂO da AlgebraCondição de JUNÇÂO{ t.descr, | projeto (t) AND (∃d) (Empregado(d) AND d.codDep=5 ANDd.codDepto=t.codDepto)}
    21. 21. Quantificador Universal Notação∀ t ∈ C(t) (Silberchatz)(∀ t) (C) (Navathe) Interpretaçãoverifica se toda tupla t satisfaz C(t) Usado para formular consultas que envolvem a associação com tuplas de relaçõesque não vão para a respostasimilar ao princípio da divisão da álgebra relacional
    22. 22. Exemplos de Consultas c/ o QuantificadorExistencialProjeto (codProj, tipo, descr, codDep)ProjetoEmpregado (codProj, codEmp, dataIni, tempoAl)Empregado (codEmp, nome, salario, codDep)Departamento (codDep, descricao) Consulta: nomes dos empregados que não trabalham emprojetos{e.nome | empregado(e) AND ((∀ x)(NOT (projetoEmpregado(x)) ORNOT (x.codEmp=e.codEmp)))}* Para cada tupla: retorna o nome do empregado se, somente se, na tupla x(∀ x ) de projetoEmpregado este empregado não exista EQUIVALENTE a{e.nome | empregado(e) AND (NOT(∃ x)(projetoEmpregado(x) ANDx.codEmp=e.codEmp))}* Para cada tupla, retorna o nome do empregado somente se não existirNOT(∃ x) uma tupla em projetoEmpregado com este empregado
    23. 23. Considerações finaisO calculo relacional de tuplas pode serdefinido como uma sequência deoperações que determina e especificauma consulta de maneira aplicada ecomposta por variáveis quantificadas quefacilita as ligações entre as tuplas, assimcombinando os atributos em umadeterminada consulta no calculorelacional de tuplas. Toda consulta éatribuída por uma regra especificada.
    24. 24. Bibliografia1 - Silbershatz, Abraham; Korth, Henry F. eSudarshan, S. Sistema de banco de dados – 3.ed. Tradução de Marília Guimarães Pinheiro.-São Paulo: Pearson Makron Books, 1999.2 - Elmasri, Rames; Shamkant , B. Navathe;Sistema de banco de dados Tradução de DanielVieira; Revisão Técnica Enzo Seraphim eThatyana de Faria Piola Seraphim. – 6. ed. –São Paulo : Pearson addison wesley, 2011.

    ×