SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
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 a lógica;
• Conclusão.
2
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
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
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
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
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
Lógica de predicados
• Interpretação de fórmulas:
• Atribuir valores para:
• Constantes;
• Variáveis;
• Funções;
• Predicados (V ou F).
8
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
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 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
Á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
Á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
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
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
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
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
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 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
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
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
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

Weitere ähnliche Inhalte

Was ist angesagt? (20)

Função exponencial e Função logaritma
Função exponencial e Função logaritmaFunção exponencial e Função logaritma
Função exponencial e Função logaritma
 
Função exponencial
Função exponencialFunção exponencial
Função exponencial
 
Resumo de Função exponencial
Resumo de Função exponencialResumo de Função exponencial
Resumo de Função exponencial
 
Apostila de-2013
Apostila de-2013Apostila de-2013
Apostila de-2013
 
Funções e Função Afim
Funções e Função Afim Funções e Função Afim
Funções e Função Afim
 
Aula03
Aula03Aula03
Aula03
 
Apostila excel-avancado-senac
Apostila excel-avancado-senacApostila excel-avancado-senac
Apostila excel-avancado-senac
 
Excel 2007 funções se, procv, gráficos
Excel 2007   funções se, procv, gráficosExcel 2007   funções se, procv, gráficos
Excel 2007 funções se, procv, gráficos
 
Aulas EXCEL
Aulas EXCELAulas EXCEL
Aulas EXCEL
 
000 sintese funcoes
000 sintese funcoes000 sintese funcoes
000 sintese funcoes
 
Funções polinomiais
Funções polinomiais Funções polinomiais
Funções polinomiais
 
Alg aula 02 - algoritmos 1 tp1
Alg   aula 02 - algoritmos 1 tp1Alg   aula 02 - algoritmos 1 tp1
Alg aula 02 - algoritmos 1 tp1
 
Funções e Função Afim
Funções e Função Afim Funções e Função Afim
Funções e Função Afim
 
Ig excel operadores
Ig excel operadoresIg excel operadores
Ig excel operadores
 
Apostila excel-avancado
Apostila excel-avancadoApostila excel-avancado
Apostila excel-avancado
 
Intro funcoes(2)
Intro funcoes(2)Intro funcoes(2)
Intro funcoes(2)
 
Funções
FunçõesFunções
Funções
 
Apostila excel avançado
Apostila excel avançadoApostila excel avançado
Apostila excel avançado
 
Apostila 001 trigonometria funcoes
Apostila  001 trigonometria funcoesApostila  001 trigonometria funcoes
Apostila 001 trigonometria funcoes
 
Apostila3
Apostila3Apostila3
Apostila3
 

Ähnlich wie A lógica aplicada no modelo relacional

FICHA4_Esquema Relacional _BD_Novo-1.pdf
FICHA4_Esquema Relacional _BD_Novo-1.pdfFICHA4_Esquema Relacional _BD_Novo-1.pdf
FICHA4_Esquema Relacional _BD_Novo-1.pdfhelton56
 
3 modelo relacional
3 modelo relacional3 modelo relacional
3 modelo relacionalMarcos Souza
 
Modelo de regressão linear: aspectos teóricos e computacionais
Modelo de regressão linear: aspectos teóricos e computacionais Modelo de regressão linear: aspectos teóricos e computacionais
Modelo de regressão linear: aspectos teóricos e computacionais Rodrigo Rodrigues
 
TI para Concursos: Modelagem Conceitual de Bancos de Dados
TI para Concursos: Modelagem Conceitual de Bancos de DadosTI para Concursos: Modelagem Conceitual de Bancos de Dados
TI para Concursos: Modelagem Conceitual de Bancos de DadosEstratégia Concursos
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1engenhariadecomputacao
 
Base de Dados - Álgebra Relacional
Base de Dados - Álgebra RelacionalBase de Dados - Álgebra Relacional
Base de Dados - Álgebra RelacionalMariana Hiyori
 
Aula 02 operadores aritiméticos
Aula 02   operadores aritiméticosAula 02   operadores aritiméticos
Aula 02 operadores aritiméticosTácito Graça
 
Tutorial formulas excell
Tutorial formulas excellTutorial formulas excell
Tutorial formulas excellgusmao2010
 
Testes de especificação, diagnóstico e interpretação de Modelo OLS (Ordinary ...
Testes de especificação, diagnóstico e interpretação de Modelo OLS (Ordinary ...Testes de especificação, diagnóstico e interpretação de Modelo OLS (Ordinary ...
Testes de especificação, diagnóstico e interpretação de Modelo OLS (Ordinary ...Kleverton Saath
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo RelacionalJoel Santos
 
Excel Avançado - Aulas
Excel Avançado - AulasExcel Avançado - Aulas
Excel Avançado - AulasGustavo Sousa
 

Ähnlich wie A lógica aplicada no modelo relacional (20)

FICHA4_Esquema Relacional _BD_Novo-1.pdf
FICHA4_Esquema Relacional _BD_Novo-1.pdfFICHA4_Esquema Relacional _BD_Novo-1.pdf
FICHA4_Esquema Relacional _BD_Novo-1.pdf
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
Construcao de Algoritmos - Aula 04
Construcao de Algoritmos - Aula 04Construcao de Algoritmos - Aula 04
Construcao de Algoritmos - Aula 04
 
3 modelo relacional
3 modelo relacional3 modelo relacional
3 modelo relacional
 
Modelo de regressão linear: aspectos teóricos e computacionais
Modelo de regressão linear: aspectos teóricos e computacionais Modelo de regressão linear: aspectos teóricos e computacionais
Modelo de regressão linear: aspectos teóricos e computacionais
 
TI para Concursos: Modelagem Conceitual de Bancos de Dados
TI para Concursos: Modelagem Conceitual de Bancos de DadosTI para Concursos: Modelagem Conceitual de Bancos de Dados
TI para Concursos: Modelagem Conceitual de Bancos de Dados
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Visualg
VisualgVisualg
Visualg
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Ed1
Ed1Ed1
Ed1
 
Linguagem_C.pdf
Linguagem_C.pdfLinguagem_C.pdf
Linguagem_C.pdf
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Base de Dados - Álgebra Relacional
Base de Dados - Álgebra RelacionalBase de Dados - Álgebra Relacional
Base de Dados - Álgebra Relacional
 
Aula 02 operadores aritiméticos
Aula 02   operadores aritiméticosAula 02   operadores aritiméticos
Aula 02 operadores aritiméticos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Banco de Dados Relacional Estendido
Banco de Dados Relacional EstendidoBanco de Dados Relacional Estendido
Banco de Dados Relacional Estendido
 
Tutorial formulas excell
Tutorial formulas excellTutorial formulas excell
Tutorial formulas excell
 
Testes de especificação, diagnóstico e interpretação de Modelo OLS (Ordinary ...
Testes de especificação, diagnóstico e interpretação de Modelo OLS (Ordinary ...Testes de especificação, diagnóstico e interpretação de Modelo OLS (Ordinary ...
Testes de especificação, diagnóstico e interpretação de Modelo OLS (Ordinary ...
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 
Excel Avançado - Aulas
Excel Avançado - AulasExcel Avançado - Aulas
Excel Avançado - Aulas
 

A lógica aplicada no modelo relacional

  • 1. A lógica aplicada no modelo relacional Mailson de Queiroz Proença mailson.proenca@dc.ufscar.br 1
  • 2. Roteiro • Introdução; • Lógica de Predicados; • Modelo Relacional; • Álgebra Relacional; • Cálculo Relacional; • Link com a lógica; • Conclusão. 2
  • 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. 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. 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. 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. 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. Lógica de predicados • Interpretação de fórmulas: • Atribuir valores para: • Constantes; • Variáveis; • Funções; • Predicados (V ou F). 8
  • 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
  • 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. Á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. Á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. 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. 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. 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. 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. Link com a lógica • As interpretações das sentenças podem ser feitas através de Diagramas de Venn: 18
  • 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. 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. 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. 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