CÁLCULO RELACIONAL Lílian Simão Oliveira. Cálculo Relacional  é uma linguagem de consulta formal. Utilizando-se de uma expressão declarativa pode-se.

Slides:



Advertisements
Apresentações semelhantes
O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Advertisements

Object Query Language - OQL
Capítulo 9 A semântica da Lógica de Predicados
Álgebra Relacional Marcelo Mendes Manaus
Algoritmo I Aula 04 Expressões Lógicas.
SQL Structured Query Language (continuação)
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 34 Departamento de Informática Centro.
Banco de Dados Relacional Estendido
Banco de Dados Prof.: Bruno Rafael de Oliveira Rodrigues.
Prof.: Bruno Rafael de Oliveira Rodrigues
Banco de Dados Bruno Rafael de Oliveira Rodrigues.
Linguagens relacionais
Expressões Lógicas e Comandos de Decisão
Cálculo Relacional Datalog não-recursivo
Subconsultas ou Consultas Aninhadas
Márcia Jacyntha Nunes Rodrigues - DIMAP/UFRN
SQL – DML Consultas envolvendo relacionamentos entre tabelas
FLG Análise Espacial e Geoprocessamento
Prof. Alfredo Parteli Gomes
Linguagem de Expressão (EL)
Banco de Dados Aplicado ao Desenvolvimento de Software - BDD
Algoritmo de Programação
Otimizador de consultas
Linguagens lógicas 2013 – Luiz Mauricio Nascimento Silva
Banco de Dados Aplicado ao Desenvolvimento de Software
Prof. Esp. Cristiano José Cecanho Inteligência Artificial
Operadores Relacionais, Lógicos e comandos de condição
Especialização em Tecnologia da Informação
Cálculo relacional Lílian Simão Oliveira.
Sistemas de Informação Prof. Carlos Alberto Seixas Banco de Dados II /01 UNIESP
Desenvolvendo um script SQL
QBE e QUEL Ana Carolina Salgado Fernando Fonseca Valéria Times.
Capítulo 2: Modelo relacional
Álgebra Relacional (Exemplos)
MER – MODELO DE ENTIDADE E RELACIONAMENTO
Baseado no material do Professor Raul Paradeda
©Silberschatz, Korth and Sudarshan (Modificado)3.3.1Database System Concepts Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução.
Sistemas Especialistas Podem ser definidos como programas de computador desenvolvidos para representar o conhecimento humano num dado domínio específico.
Comandos SQL.
REVISÃO Comandos SQL - DML SELECT * FROM ?.
Banco de Dados Aplicado ao Desenvolvimento de Software
Operadores Relacionais e Lógicos
Campus de Caraguatatuba Aula 16e: Exercícios de View
Sistemas Microprocessados e Microcontrolados
Cálculo Relacional.
Banco de Dados Dedutivos
Variáveis e Operadores
Algoritmos e Estrutura de Dados I
Banco de Dados I I Comandos SQL
Banco de dados 1 Modelagem de Dados Utilizando MER
Linguagem SQL Prof. Juliano.
1 24/4/ :29 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
Bancos de Dados Objeto-relacional e Orientados a Objetos Maria Carolina
ODMG - Object Database Management Group Padrão para SGBDOO Consórcio de pesquisadores e fabricantes Objetivo –integração e padronização de funcionalidades.
Subconsultas ou Consultas Aninhadas Forma alternativa de especificar consultas envolvendo relacionamentos entre tabelas Otimização –filtragens prévias.
1 Introdução à Manipulação de Dados SQL – Structured Query Language  Tabela = Relação  DDL – Data Definition Language  Sub-conjunto do SQL que suporta.
Modelo Relacional Marcelo Mendes Manaus – 2015.
Desenvolvimento WEB Prof. Renato de Oliveira Bastos
Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional.
Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem.
Daniel Paulo SQL Módulo I Daniel Paulo
UCSal – Bacharelado em Informática
©Silberschatz, Korth and Sudarshan (Modificado)3.2.1Database System Concepts Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução.
Universidade Federal da Paraíba Departamento de Informática Introdução à Engenharia de Computação Álgebra de Boole.
Colégio da Imaculada Colégio da Imaculada Curso Técnico em Informática
Salário, Sexo, R$200,00, Veículos, Idade, Marco Antônio, Masculino, R$600,00, Funcionário, Marca, 18 anos, Livros, Motoristas, Maria do Carmo, Endereço,
Banco de Dados I 4P/SI – 2010/02 Prof. Carlos Alberto Seixas.
Prática de Banco de Dados Créditos: Prof. Jefferson Silva Adaptações: Prof. Nécio de Lima Veras.
Álgebra Relacional Prof.: José Antônio da Cunha CEFET-RN
Álgebra Relacional Vania Bogorny.
Transcrição da apresentação:

CÁLCULO RELACIONAL Lílian Simão Oliveira

Cálculo Relacional  é uma linguagem de consulta formal. Utilizando-se de uma expressão declarativa pode-se especificar uma consulta.  não-procedural  Cálculo Relacional de Tuplas (CRT) e Cálculo Relacional de Domínio (CRD).

Cálculo Relacional  existem variáveis, constantes, operadores lógicos, de comparação e quantificadores. As expressões de Cálculo são chamadas de fórmulas.  Uma tupla de respostas é essencialmente uma atribuição de constantes às variáveis que levam a fórmula a um estado verdadeiro.

 Em CRT, as variáveis são definidas sobre tuplas. Já em CRD, variáveis são definidas sobre o domínio dos elementos (ou seja, sobre os valores dos campos).  Todas as expressões de consulta descritas em CR possuem equivalentes em Álgebra Relacional.

Cálculo Relacional de Tuplas(CRT)  É baseado na especificação de um número de variáveis de tuplas. Cada variável tupla pode assumir como seu valor qualquer tupla da relação especificada.  {variável tupla | predicado}

fórmulas atômicas de cálculo de predicados: 1-) Uma fórmula atômica R(ti), onde R é o nome de uma relação e ti é uma variável de tupla. Este átomo identifica a extensão da variável de tupla ti como a relação cujo nome seja R. 2-) Uma fórmula atômica ti.A op tj.B, onde op é um dos operadores de comparação no conjunto {=, >, <,...}, ti e tj são variáveis de tuplas, A é um atributo da relação na qual ti se encontra, B é um atributo da relação na qual tj se encontra.

fórmulas atômicas de cálculo de predicados: 3-) Um fórmula atômica ti.A op c ou c op tj.B, onde op é um dos operadores de comparação no conjunto {=, >, <,...}, ti e tj são variáveis de tuplas, A é um atributo da relação na qual ti se encontra, B é um atributo da relação na qual tj se encontra e c é um valor constante.

 Cada uma das fórmulas atômicas anteriormente especificadas tem seu valor verdade avaliado como TRUE ou FALSE para uma combinação específica de tuplas. Para fórmulas do tipo 1, caso a variável de tupla seja atribuída a uma tupla da relação R dada, esta assume valor TRUE; caso contrário, FALSE.  Já nas fórmulas do tipo 2 e 3, se as variáveis de tupla forem designadas de forma que os valores dos atributos especificados satisfaçam o predicado, esta assumirá valor verdade TRUE.

 Todas as variáveis tuplas abordadas até então são consideradas variáveis livres1, uma vez que estas não aparecem quantificadas. Contudo, além das definições acima, quantificadores (universal ( ∀ ) ou existencial ( ∃ )) podem aparecer nas fórmulas.

 Uma fórmula é definida, de forma recursiva, por uma ou mais fórmulas atômicas, conectadas por operadores lógicos (AND, OR, NOT), como segue:  1-) Qualquer fórmula atômica.  2-) Se F1 e F2 são fórmulas atômicas, então (F1 AND F2), (F1 OR F2), NOT (F1) e NOT (F2) também o são, tendo seus valores verdade derivados a partir de F1 e F2, da seguinte forma:  a-) (F1 AND F2) será TRUE apenas se ambos, F1 e F2, forem TRUE;  b-) (F1 OR F2) será TRUE quando uma das duas fórmulas F1 e F2, for TRUE;  c-) NOT(F1) será TRUE quando F1 for FALSE;  d-) NOT(F2) será TRUE quando F2 for FALSE.

 3-) Se F1 é uma fórmula atômica, então ( ∃ t2)(F1) também o é, e seu valor verdade apenas será TRUE se a fórmula F for avaliada como verdadeira para pelo menos uma tupla atribuída para ocorrências livres de t em F.  4-) Se F1 é uma fórmula atômica, então ( ∀ t)(F1) também o é, e seu valor verdade apenas será TRUE se a fórmula F for avaliada como verdadeira para todas as tuplas atribuídas para ocorrências livres de t em F.

exemplos de consultas em CRT:  1-) Encontre todos os empregados cujos salários estejam acima de R$3.500,00.  {t | EMPREGADO(t) AND t.SALARIO > 3500}  2-) Dê apenas os nomes e sobrenomes dos empregados cujos salários estejam acima de R$3.500,00.  {t.NOME, t.SOBRENOME | EMPREGADO(t) AND t.SALARIO > 3500}  3-) Selecione o nome e o endereço dos empregados que trabalham para o departamento de ‘Informática’.  {t.NOME, t.SOBRENOME, t.ENDERECO | EMPREGADO(t) AND ( ∃ D) (DEPARTAMENTO (d) AND d.NOMED = ‘Informática’ AND d.NUMERODEP = t.NUD)}

exemplos de consultas em CRT:  4-) Para cada projeto localizado em ‘São Paulo’, liste o número do mesmo, o nome do departamento proponente, bem como sobrenome, data de nascimento e endereço do gerente responsável.  {p.NUMEROP, p.NUMD, m.SOBRENOME, m.DATANASCIMENTO, m.ENDERECO | PROJETO(p) AND EMPREGADO(m) AND p.LOCALIZACAO = ‘São Paulo’ AND (( ∃ d) (DEPARTAMENTO(d) AND p.NUMD = d.NUMERODEP AND d.NSSGER = m.NSS) )}  5-) Encontre os nomes dos empregados que trabalham em todos os projetos controlados pelo departamento de número 5.  {e.SOBRENOME, e.NOME | EMPREGADO(e) AND (( ∀ x) NOT(PROJETO(x)) OR NOT(x.NUMD = 5) OR (( ∃ w) (TRABALHA_EM(w) AND w.NSSE = e.NUMEROP AND x.NUMEROP = w.NUMP))))}

Exercícios de Cálculo Relacional de Tupla  Considere o seguinte esquema:  Empregado (RG, nomeEmpregado, rua, cidadeMora)  Trabalha (RG, codFirma, salário)  Firma (codFirma, nomeFirma, cidadeSede)  Escreva as consultas abaixo usando CRT: a) Informe todos os dados dos funcionários que moram em Indaiatuba b) Escreva o nome dos empregados que moram na mesma cidade da empresa que trabalham c) Encontre o RG de todos os empregados que moram em Campinas com salário maior que R$ 1000,00 d) Nome dos empregados que moram em uma cidade diferente daquela em que fica a sede onde trabalham