A lógica aplicada no modelo relacional
-
Upload
mailson-queiroz -
Category
Software
-
view
265 -
download
1
Transcript of A lógica aplicada no modelo relacional
![Page 2: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/2.jpg)
Roteiro
• Introdução;
• Lógica de Predicados;
• Modelo Relacional;
• Álgebra Relacional;
• Cálculo Relacional;
• Link com a lógica;
• Conclusão.
2
![Page 3: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/3.jpg)
Introdução
• Modelo de gerenciamento de banco de dados mais
utilizado;
• Proposto em 1970 por Edgar F. Codd;
• Baseado na lógica de predicados;
3
![Page 4: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/4.jpg)
Lógica de predicados
• Alfabeto:
• Variáveis: A, MAI, Miguel;
• Constantes: a, maria, 92;
• Símbolos funcionais: f(P), g(a), f2(X,y), pai(X,Y);
• Símbolos de predicados: f(P), g(a), f2(X,y), pai(X,Y);
• Conectivos: ¬, ˄, ˅, → e ↔.
• Quantificadores: ∀ e ∃;
• Símbolos de pontuação: ( ) e ,
4
![Page 5: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/5.jpg)
Lógica de predicados
• Termo:
• Constante;
• Variável;
• Símbolos funcionais;
• Fórmulas bem formadas:
• Símbolos de predicado;
• Quantificadores;
Exemplos:a
X2
g(X1, b, f(f(f(a))))
Exemplos:p(a,b)
∀X q(X)
5
![Page 6: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/6.jpg)
Lógica de predicados
• Escopo dos quantificadores:
• O escopo de um quantificador ocorrendo em uma
fórmula α é a fórmula à qual o quantificador se aplica:
• O escopo de ∀X em ∀X α é α;
• O escopo de ∃X em ∃X α é α;
• Variável ligada;
• Variável livre.
6
![Page 7: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/7.jpg)
Lógica de predicados
• Linguagem de Primeira Ordem X Linguagem Natural
• Quantificador Universal:
• “tudo”, “cada”, “todos” - ∀X;
• Quantificador Existencial:
• “algum”, “alguns”, “pelo menos um” - ∃X;
7
![Page 8: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/8.jpg)
Lógica de predicados
• Interpretação de fórmulas:
• Atribuir valores para:
• Constantes;
• Variáveis;
• Funções;
• Predicados (V ou F).
8
![Page 9: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/9.jpg)
Modelo Relacional
• Modelo de dados representativo criado por Edgar
Codd, em 1970;
• Utiliza o conceito de relação matemática;
• Tabela de valores;
• Fundamenta-se na teoria de conjuntos e lógica de
predicados;
9
![Page 10: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/10.jpg)
Modelo Relacional
Fonte: http://www.cavalcanteassociados.com.br/files/bd01_aa4.gif
10
![Page 11: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/11.jpg)
Modelo Relacional
• Cada linha na tabela representa um conjunto de dados
relacionados;
• Uma linha é chamada de tupla, um cabeçalho da coluna é
chamado de atributo e a tabela é chamada de relação;
• O raciocínio é feito a partir da lógica de predicados sobre
dois valores: verdadeiro ou falso;
• Os dados são interpretados por meio de um cálculo
relacional ou uma álgebra relacional;
11
![Page 12: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/12.jpg)
Álgebra Relacional
• Alicerce formal para as operações do modelo
relacional;
• Base para a implementação e otimização de consultas
nos módulos de otimização e processamento de
consultas.
• A manipulação de dados no modelo relacional
depende de um conjunto de operações:
12
![Page 13: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/13.jpg)
Álgebra Relacional
• As principais operações da álgebra relacional são:
• Seleção: usada para escolher um subconjunto das tuplas de uma relação
que satisfaça uma condição;
• Projeção: utilizada para selecionar certas colunas e descarta as outras;
• Produto cartesiano: produz um novo elemento combinando cada tupla
de uma relação com cada membro da outra relação.
• União: junta duas relações eliminando tuplas duplicadas.
• Diferença entre conjuntos: inclui todas as tuplas que estão na primeira
relação mas que não estão na segunda.
13
![Page 14: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/14.jpg)
Cálculo Relacional
• Oferece uma linguagem declarativa de nível mais alto para
especificar consultas relacionais;
• Baseado na lógica matemática;
• Utilizado pela linguagem de consulta padrão (SQL);
• Linguagem não procedimental:
• uma expressão de cálculo especifica o que deve ser recuperado
e não como ou em que ordem deve ser recuperado.
14
![Page 15: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/15.jpg)
Cálculo Relacional
• O cálculo relacional de tupla é baseado na especificação de
uma série de variáveis de tupla, tendo a seguinte forma:
(t1A1,t2A2,…,tnAn | COND(t1,t2,…,tn+1, tn+2,…,tn+m))
• t1,t2,…,tn são variáveis de tupla;
• Cada A é um atributo da relação;
• COND(t) é uma expressão condicional ou fórmula:
• composta por cálculos de predicados ou átomos;
• valor verdade do átomo (V ou F).
15
![Page 16: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/16.jpg)
Cálculo Relacional
• Utiliza os símbolos conectivos e quantificadores da lógica de
predicados;
• Quantificador existencial: se pelo menos uma tupla satisfazer a
fórmula como verdadeira;
• Quantificador universal: se e somente se todas tuplas forem
verdadeiras;
• Exemplo:
f.Nome — FUNCIONARIO(f) AND ((∃p) (∃t)(PROJETO(p) AND
TRABALHA(t) AND p.Dep = 5 AND t.cpf = f.cpf AND p.ProjNum =
t.ProjNum))
16
![Page 17: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/17.jpg)
Link com a lógica
• Enunciados mais comuns da lógica de predicados:
1. “Todo P é Q” (universal afirmativa);
2. “Nenhum P é Q” ou “Todo P não é Q” (universal
negativa);
3. “Algum P é Q” (existencial afirmativa);
4. “Algum P não é Q” (existencial negativa);
(∀X)(p(X) → q(X))
(∀X)(p(X) → ¬q(X))
(∃X)(p(X) ˄ q(X))
(∃X)(p(X) ˄ ¬q(X))
17
![Page 18: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/18.jpg)
Link com a lógica
• As interpretações das sentenças podem ser feitas
através de Diagramas de Venn:
18
![Page 19: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/19.jpg)
Link com a lógica• Na linguagem natural:
• Listar os nomes dos funcionários que trabalham em algum projeto do
gerente com Id número 5.
• Interpretação do cálculo relacional:
f.Nome — FUNCIONARIO(f) AND ((∃p) (∃t)(PROJETO(p) AND TRABALHA(t) AND
p.Dep = 5 AND t.cpf = f.cpf AND p.ProjNum = t.ProjNum))
• Consulta sql:
• SELECT f.nome FROM funcionario f INNER JOIN trabalha t ON
f.IdFuncionario = t.IdFuncionario INNER JOIN projeto p ON p.IdProjeto =
t.IdProjeto WHERE p.IdGerente = 5
19
![Page 20: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/20.jpg)
Link com a lógica
• Modelo relacional também considera os valores como
verdadeiro e falso.
• As consultas só retornam dados das sentenças que
foram interpretadas como verdadeiras.
• Exemplo:
• Em um SELECT somente as tuplas que satisfazerem todas
condições são retornadas;
20
![Page 21: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/21.jpg)
Conclusão
• Lógica de predicados está diretamente relacionada
com o modelo relacional;
• Álgebra relacional e o cálculo relacional compõem a
base de ambos;
• O entendimento da lógica de predicados é essencial
para o entendimento do funcionamento do modelo
relacional.
21
![Page 22: A lógica aplicada no modelo relacional](https://reader034.fdocumento.com/reader034/viewer/2022042907/5878d6fc1a28ab917a8b64bf/html5/thumbnails/22.jpg)
BibliografiaAbar, C. (2004). Noções de lógica matemática. http://www.pucsp.br/ logica/Calculode-Predicados.htm. Acessado em: 21/05/2015.
Codd, E. F. (1970). A relational model of data for large shared data banks. In Baxendale, P., editor, Communications of the ACM 13(6), pages 377–387.
Elmasri, R. and Navathe, S. B. (2011). Sistemas de Banco de Dados. Pearson, 6th edition.
Nicoletti, M. D. C. (2008). A Cartilha da lógica. EdUFSCar, 1th edition.
Silberschatz, A., Korth, H. F., and Sudarshan, S. (2006). Sistema de Banco de Dados.
Elsevier, Rio de Janeiro, 5th edition.
Souza, J. N. D. (2008). Lógica para computação: uma introdução concisa. Elsevier, Rio de Janeiro, 2th edition.
Alguns slides foram baseados do material Lógica de Predicados -Profa. Helena Caseli – 2015.
22