Cálculo Relacional.

Slides:



Advertisements
Apresentações semelhantes
Um pouco mais de cardinalidade e Relacionamentos
Advertisements

Abordagem Entidade Relacionamento
O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Capítulo 8 A linguagem da Lógica de Predicados
Prof. Marcone Sotéro Cálculo de Predicados Prof. Marcone Sotéro
Capítulo 9 A semântica da Lógica de Predicados
Álgebra Relacional Marcelo Mendes Manaus
SQL Structured Query Language (continuação)
Funcionalidades de um SGBD
Banco de Dados Prof.: Bruno Rafael de Oliveira Rodrigues.
Prof.: Bruno Rafael de Oliveira Rodrigues
Prof. Bruno Rafael de Oliveira Rodrigues
Linguagens relacionais
Cálculo Relacional Datalog não-recursivo
Exercícios para entregar
Subconsultas ou Consultas Aninhadas
Márcia Jacyntha Nunes Rodrigues - DIMAP/UFRN
SQL – Noções Gerais Por Márcia Jacyntha N. Rodrigues Lucena
Modelo Relacional parte 1
Operadores Especiais da SQL
BCC 101– Matemática Discreta
SCC Bancos de Dados e Suas Aplicações
Inteligência Artificial
Banco de Dados Prof. MSc Wagner Siqueira Cavalcante
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Banco de Dados Aplicado ao Desenvolvimento de Software - BDD
Lógica Proposicional UESC
Professora: Sílvia C. Matos Soares
Otimizador de consultas
Cálculo relacional Lílian Simão Oliveira.
Lógica de Predicados Semântica.
Estrutura de Decisão e Repetição
Capítulo 3: SQL Korth • Silberschatz • Sundarshan.
Desenvolvendo um script SQL
BCC101 Matemática Discreta I
QBE e QUEL Ana Carolina Salgado Fernando Fonseca Valéria Times.
Capítulo 2: Modelo relacional
Banco de dados.
Álgebra Relacional (Exemplos)
MER – MODELO DE ENTIDADE E RELACIONAMENTO
©Prof. Lineu MialaretAula 9 - 1/28Matemática Discreta 1 Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba.
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.
REVISÃO Comandos SQL - DML SELECT * FROM ?.
Banco de Dados Aplicado ao Desenvolvimento de Software
Campus de Caraguatatuba Aula 16e: Exercícios de View
Contatos Gladimir Catarino
Banco de Dados Dedutivos
Banco de Dados I I Comandos SQL
Banco de dados 1 Modelagem de Dados Utilizando MER
1 24/4/ :29 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
©Silberschatz, Korth and Sudarshan (modificado)4.2.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
Programas e Refinamento Programming from Specifications Carroll Morgan Prentice-Hall, 1994 [Capítulo 1] Equipe: Klaus Cavalcante Tarcísio Quirino Raquel.
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 Provas e Proposições Anjolina Grisi de Oliveira Fonte:
©Silberschatz, Korth and Sudarshan (modificado)4.2.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
Profa. Ana Karina Barbosa Abril/2008
Modelo Relacional Marcelo Mendes Manaus – 2015.
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
©Silberschatz, Korth and Sudarshan (Modificado)3.2.1Database System Concepts Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução.
UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomá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 Prof. MSc Wagner Siqueira Cavalcante.
Modelagem Entidade-Relacionamento (MER)
Banco de Dados I 4P/SI – 2010/02 Prof. Carlos Alberto Seixas.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 4 SQL básica.
1 Lógica de Predicados BCC101 Matemática Discreta I.
Transcrição da apresentação:

Cálculo Relacional

Outras Linguagens Relacionais Cálculo Relacional de Tupla Cálculo Relacional de Domínio

Exemplo: BD Empresa EMPREGADO DEPARTAMENTO PROJETO 28

Cálculo Relacional de Tupla Linguagem de consulta não-procedural, em que cada consulta assume a forma {t | P(t)}. {t | P(t)} representa o conjunto de todas as tuplas t onde o predicado P(t) é verdadeiro. t é uma variável de tupla. t.A representa o valor do atributo A em uma tupla t. R(t) indica que R é a relação-limite de t.

Empregados com salário maior do que 20 mil reais. Exemplo Empregados com salário maior do que 20 mil reais. {t | EMPREGADO(t) ^ t.Salário > 20000 } Recupera todos os atributos de t. {t.PNOME, t.SNOME | EMPREGADO(t) ^ t.Salário > 20000 } Recupera apenas os atributos PNOME e SNOME de t.

Átomos do Cálculo de Predicados R(t) t.A op t.B t.A op c ou c op t.B Cada um desses átomos possui um valor verdade para uma determinada combinação de tuplas t, isto é, um valor VERDADEIRO ou FALSO dependendo se a condição especificada no átomo é avaliada como VERDADEIRA ou FALSA para a combinação específica de tuplas.

Fórmula do Cálculo de Predicados Constituída por um ou mais átomos conectados pelos operadores lógicos AND, OR e NOT. Definida recursivamente da seguinte forma: Todo átomo é uma fórmula. Se F1 e F2 são fórmulas, então (F1 AND F2), (F1 OR F2), NOT(F1) e NOT(F2) também o são.

Quantificador Universal e Existencial (t)(F) existe uma tupla na relação-limite de t para a qual a fórmula F é verdadeira. (t)(F) para todas as tuplas da relação- limite de t, a fórmula F é verdadeira.

Variáveis Livres e Vinculadas Toda variável em uma fórmula F que é um átomo do cálculo de predicado é livre em F. Nas fórmulas F do tipo (F1 AND F2), (F1 OR F2), NOT(F1) e NOT(F2), a ocorrência de uma variável t será livre ou vinculada em F, dependendo se ela é livre ou vinculada em F1 e/ou F2. Todas as ocorrências livres de uma variável de tupla em F serão vinculadas em uma fórmula F’ = (t)(F) ou F’ = (t)(F) para o quantificador especificado em F’ .

Exemplo Nas fórmulas: F1 : d.DNOME = “Pesquisa” F2 : (t)(d.DNUMERO = t.DNO) F3 : (d)(d.GERSSN = “33344555”) d é livre em F1 e F2 ; d está vinculada ao quantificador universal em F3 ; e t está vinculada ao quantificador existencial em F2.

Definição de Fórmulas (cont) Se é F uma fórmula então (t)(F) é fórmula. (t)(F) será VERDADEIRA se F for VERDADEIRA para, pelo menos, uma ocorrência de t. Se é F uma fórmula então (t)(F) é fórmula. (t)(F) será VERDADEIRA se F for VERDADEIRA para todas as ocorrências de t.

Exemplos Nome e endereço de todos os empregados que trabalham para o departamento de Pesquisa: {t.Nome, t.SNome, t.Endereço | Empregado(t) AND (d)(Departamento(d) AND d.Nome = “Pesquisa” AND d.Sigla = t.Depto) } Para cada projeto localizado em “Brasília”, liste o código do projeto, a sigla do departamento responsável e o sobrenome, data de nascimento e endereço do gerente do departamento: {p.Código, p.Depto, m.Snome, m.DataNasc, m.Endereço | Projeto(p) AND p.Local = “Brasília” AND (d)(Departamento(d) AND d.Sigla = p.Depto AND (m) (Empregado(m) AND m.Matrícula = d.Gerente ) ) }

Exemplo: Banco agência (nome, cidade, ativos) cliente (nome, endereço, cidade) conta (número, agência, saldo) empréstimo (número, agência, valor) correntista (cliente, conta) tomador (cliente, empréstimo)

Consultas número, agência e valor dos empréstimos acima de 1200 reais: { e | empréstimo (e)  e.valor  1200 } nome dos tomadores que tomaram empréstimos acima de 1200 reais: { t.nome | tomador (t)  (e) ( empréstimo (e)  e.número = t.empréstimo  e.valor  1200 ) } Nome dos clientes que possuem uma conta e tomaram um empréstimo no banco: { c1.nome | cliente (c1)  ( (c2) ( correntista (c2)  c2.cliente = c1.nome )  (t) ( tomador (t)  t.cliente = c1.nome ) ) }

Consultas nomes dos clientes que tomaram empréstimos na agência XYZ: { c.nome | cliente (c)  ( (t) ( tomador (t)  t.cliente = c.nome )  (e) ( empréstimo (e)  e.número = t.empréstimo  e.agência = “XYZ” ) ) } nomes dos clientes que tomaram empréstimos na agência XYZ, mas não possuem contas no Banco: { c1.nome | cliente (c1)  ( (t) ( tomador (t)  t.cliente = c1.nome )  (e) ( empréstimo (e)  e.número = t.empréstimo  e.agência = “XYZ” ) )  (c2) ( correntista (c2)  c2.cliente = c1.nome ) ) }