A lógica aplicada no
modelo relacional
Mailson de Queiroz Proença
mailson.proenca@dc.ufscar.br
1
Roteiro
• Introdução;
• Lógica de Predicados;
• Modelo Relacional;
• Álgebra Relacional;
• Cálculo Relacional;
• Link com ...
Introdução
• Modelo de gerenciamento de banco de dados mais
utilizado;
• Proposto em 1970 por Edgar F. Codd;
• Baseado na ...
Lógica de predicados
• Alfabeto:
• Variáveis: A, MAI, Miguel;
• Constantes: a, maria, 92;
• Símbolos funcionais: f(P), g(a...
Lógica de predicados
• Termo:
• Constante;
• Variável;
• Símbolos funcionais;
• Fórmulas bem formadas:
• Símbolos de predi...
Lógica de predicados
• Escopo dos quantificadores:
• O escopo de um quantificador ocorrendo em uma
fórmula α é a fórmula à...
Lógica de predicados
• Linguagem de Primeira Ordem X Linguagem Natural
• Quantificador Universal:
• “tudo”, “cada”, “todos...
Lógica de predicados
• Interpretação de fórmulas:
• Atribuir valores para:
• Constantes;
• Variáveis;
• Funções;
• Predica...
Modelo Relacional
• Modelo de dados representativo criado por Edgar
Codd, em 1970;
• Utiliza o conceito de relação matemát...
Modelo Relacional
Fonte: http://www.cavalcanteassociados.com.br/files/bd01_aa4.gif
10
Modelo Relacional
• Cada linha na tabela representa um conjunto de dados
relacionados;
• Uma linha é chamada de tupla, um ...
Álgebra Relacional
• Alicerce formal para as operações do modelo
relacional;
• Base para a implementação e otimização de c...
Álgebra Relacional
• As principais operações da álgebra relacional são:
• Seleção: usada para escolher um subconjunto das ...
Cálculo Relacional
• Oferece uma linguagem declarativa de nível mais alto para
especificar consultas relacionais;
• Basead...
Cálculo Relacional
• O cálculo relacional de tupla é baseado na especificação de
uma série de variáveis de tupla, tendo a ...
Cálculo Relacional
• Utiliza os símbolos conectivos e quantificadores da lógica de
predicados;
• Quantificador existencial...
Link com a lógica
• Enunciados mais comuns da lógica de predicados:
1. “Todo P é Q” (universal afirmativa);
2. “Nenhum P é...
Link com a lógica
• As interpretações das sentenças podem ser feitas
através de Diagramas de Venn:
18
Link com a lógica
• Na linguagem natural:
• Listar os nomes dos funcionários que trabalham em algum projeto do
gerente com...
Link com a lógica
• Modelo relacional também considera os valores como
verdadeiro e falso.
• As consultas só retornam dado...
Conclusão
• Lógica de predicados está diretamente relacionada
com o modelo relacional;
• Álgebra relacional e o cálculo re...
Bibliografia
Abar, C. (2004). Noções de lógica matemática. http://www.pucsp.br/
logica/Calculode-Predicados.htm. Acessado ...
Próximos SlideShares
Carregando em…5
×

A lógica aplicada no modelo relacional

383 visualizações

Publicada em

O link da lógica com o modelo relacional de banco de dados

Publicada em: Software
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

A lógica aplicada no modelo relacional

  1. 1. A lógica aplicada no modelo relacional Mailson de Queiroz Proença mailson.proenca@dc.ufscar.br 1
  2. 2. Roteiro • Introdução; • Lógica de Predicados; • Modelo Relacional; • Álgebra Relacional; • Cálculo Relacional; • Link com a lógica; • Conclusão. 2
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. Lógica de predicados • Interpretação de fórmulas: • Atribuir valores para: • Constantes; • Variáveis; • Funções; • Predicados (V ou F). 8
  9. 9. 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
  10. 10. Modelo Relacional Fonte: http://www.cavalcanteassociados.com.br/files/bd01_aa4.gif 10
  11. 11. 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
  12. 12. Á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
  13. 13. Á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
  14. 14. 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
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. Link com a lógica • As interpretações das sentenças podem ser feitas através de Diagramas de Venn: 18
  19. 19. 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
  20. 20. 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
  21. 21. 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
  22. 22. Bibliografia Abar, 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

×