9. Noções de álgebra e cálculo relacional.pptx

laurinhamakers 6 views 46 slides Sep 07, 2025
Slide 1
Slide 1 of 46
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46

About This Presentation

algebra relacional


Slide Content

9. Noções de álgebra e cálculo relacional REDES DE COMPUTADORES E LÓGICA PARA COMPUTAÇÃO - EDITAL Nº 90/2024 Prof. Me. Caio César de Freitas Dantas

Objetivos Compreender os conceitos básicos de álgebra relacional. Entender os princípios do cálculo relacional. Diferenciar álgebra relacional e cálculo relacional. Aplicar operações relacionais em consultas a bancos de dados. Relacionar esses conceitos com SQL. 2 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Introdução Introdução aos Bancos de Dados Relacionais Definição de banco de dados relacional. Estrutura: tabelas, atributos, tuplas e chaves. Importância da álgebra e cálculo relacional para consultas. 3 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Introdução Linguagens de consulta: Permitem manipulação e recuperação de dados de um BD • O modelo relacional suporta LCs simples e poderosas: • Forte fundamentação teórica baseada em lógica • Permite otimizações • Ling. de consulta ¹ ling. de programação • LCs não tem a intenção de suportar cálculos complexos • LCs suportam acesso fácil e eficiente a grandes conjuntos de dados 4 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Introdução Duas LCs matemáticas formam a base para as LCs “reais” (p.ex., SQL), e p/ implementação: 1. Álgebra relacional: Predominantemente operacional, útil para representar planos de execução 2. Cálculo Relacional : Permite usuários descreverm o que querem, ao invés de como querem (não operacional, declarativa) Entender álgebra e cálculo é uma chave para entender SQL e processamento de consultas. 5 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Definição Conjunto básico de operações que nos permitem manipular relações no modelo relacional. As operações da álgebra relacional produzem novas relações, ou seja, a aplicação de uma operação da álgebra relacional tem sempre como resultado uma nova relação. As relações obtidas por utilização das operações da álgebra relacional podem ser igualmente utilizadas em outras operações da álgebra. 6 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Definição Uma sequência de operações da álgebra relacional forma uma expressão cujo resultado é uma relação que representa o resultado de uma consulta à base de dados. A álgebra relacional é utilizada principalmente como formalismo para implementar e optimizar consultas no modelo relacional. A linguagem SQL incorpora alguns dos conceitos da álgebra relacional. 7 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Importância A álgebra relacional é muito importante por diversos motivos: Oferece um alicerce formal para as operações do modelo relacional. É usada como base para a implementação e otimização de consultas nos módulos de otimização e processamento de consulta, que são partes integrais dos sistemas de gerenciamento de banco de dados relacional ( SGBDRs ). Alguns de seus conceitos são incorporados na linguagem de consulta padrão SQL para SGBDRs . 8 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Operações Básicas Seleção () : Filtra as tuplas de uma relação. Projeção () : Seleciona colunas específicas. Renomeação (): usado para atribuir um novo nome União () : Combina duas relações distintas. Diferença () : Encontra diferenças entre duas relações. Produto Cartesiano () : Combina cada tupla de uma relação com todas da outra. 9 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Seleção Definição: filtra tuplas de uma relação com base em uma condição. Sintaxe: σ<condição>(R) Exemplo: σ<salário > 3000>(Funcionários) 10 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Seleção Definição: filtra tuplas de uma relação com base em uma condição. Sintaxe: σ<condição>(R) Exemplo: σ<salário > 3000>(Funcionários) EXEMPLO COM TABELAS 11 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Projeção Definição: seleciona colunas específicas de uma relação. Sintaxe: π <atributos> (R) Exemplo: π<nome, salário>(Funcionários) 12 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Projeção Definição: seleciona colunas específicas de uma relação. Sintaxe: π <atributos> (R) Exemplo: π<nome, salário>(Funcionários) EXEMPLO COM TABELAS 13 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Sequência de Operações Como recuperar o nome e salario dos funcionários do departamento 5? – Alternativa 1: expressão da AR π lname , pname , salary ( σdno =5( employee )) – Alternativa 2: sequência explícita de operações EDEP5←σdno=5( employee ) RESUL←π lname , pname , salary (EDEP5) 14 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Renomeação Definição: seleciona colunas específicas de uma relação. Sintaxe: π <atributos> (R) Exemplo: π<nome, salário>(Funcionários) 15 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Renomeação R( unome,pnome,salario ) ← π lname , pname , salary (EDEP5) Operação renomear, denotada por ρ: Renomeando a relação: ρS (R) Renomeando os atributos: ρunome,pnome , salario(R) Renomeando a relação e seus atributos: ρS ( unome,pnome , salario)(R) 16 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – União Definição: combina tuplas de duas relações, eliminando duplicatas. Requisito: relações devem ser compatíveis (mesmos atributos). Sintaxe: R ∪ S Exemplo: Funcionários ∪ Gerentes 17 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – União Definição: combina tuplas de duas relações, eliminando duplicatas. Requisito: relações devem ser compatíveis (mesmos atributos). Sintaxe: R ∪ S Exemplo: Funcionários ∪ Gerentes EXEMPLO COM TABELAS 18 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Diferença Definição: retorna tuplas presentes em uma relação, mas não em outra. Sintaxe: R − S Exemplo: Funcionários − Gerentes 19 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Diferença Definição: retorna tuplas presentes em uma relação, mas não em outra. Sintaxe: R − S Exemplo: Funcionários − Gerentes EXEMPLO COM TABELAS 20 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Produto Cartesiano Definição: combina todas as tuplas de duas relações. Sintaxe: R × S Exemplo: Funcionários × Departamentos 21 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Produto Cartesiano Definição: combina todas as tuplas de duas relações. Sintaxe: R × S Exemplo: Funcionários × Departamentos EXEMPLO COM TABELAS 22 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Operações Derivadas Interseção () : Retorna apenas elementos comuns a ambas as relações. Junção () : Combina tuplas com valores comuns. Divisão () : Encontra subconjuntos relacionados 23 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Interseção R Ç M retorna uma instância de relaçãocontendotodas as tuplas que ocorrememambasReM – As relações R e M devemser compatíveisàunião – O esquema do resultado é definidodeformaidênticaao esquema de R A opera¸c˜ao de intersec¸c˜ao ´e similar `a opera¸c˜ao de uni˜ao . Tamb´em tem como argumentos duas rela¸c˜oes compat´ıveis e o seu resultado ´e uma nova instˆancia contendo todas as tuplas que ocorrem em ambas as rela¸c˜oes . Por exemplo, a Fig. 7 mostra o resultado da intersec¸c˜ao das rela¸c˜oes S1 e S2. 24 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Junção Definição: combina tuplas de duas relações com base em uma condição. Tipos de junção: Junção natural Junção interna Junção externa Exemplo: Funcionários ⨝ Departamentos 25 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Junção Natural Definição: combina tuplas de duas relações com base em uma condição. Tipos de junção: Junção natural Junção interna Junção externa Exemplo: Funcionários ⨝ Departamentos 26 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Divisão Permite obter os valores de uma relação que estão combinados com todos os tuplos de outra relação. A operação de divisão é representada pela expressão R ÷ S em que ÷ é o operador de divisão e R e S são duas relações em que os atributos de S são um subconjunto dos atributos de R. O resultado da operação R(Z) ÷ S(X) é a relação T(Y), com Y = Z – X, que inclui todos os tuplos t para os quais existe um subconjunto R’ de R tal que πY(R’) = t e πX(R’) = S. A operação de divisão pode ser expressa utilizando os operadores π, × e –: R(Z) ÷ S(X) = πY(R) – πY((S × πY(R)) – R), com Y = Z – X. 27 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Álgebra Relacional – Divisão EXEMPLO COM TABELAS 28 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Cálculo Relacional INTRODUZIR MUDAR DE ALGEBRA RELACIONAL PARA CÁLCULO RELACIONAL 29 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Cálculo Relacional – Definição Modelo formal que se baseia na lógica de predicados e que permite manipular relações no modelo relacional. O cálculo relacional tem o mesmo poder expressivo da álgebra relacional. Uma expressão do cálculo relacional é igualmente uma relação que representa o resultado de uma consulta à base de dados. As expressões do cálculo podem ser especificadas em termos de variáveis sobre os tuplos , cálculo relacional por tuplos (ou CRT), ou em termos de variáveis sobre o domínio dos atributos, cálculo relacional por domínios (ou CRD). O cálculo relacional é uma linguagem não-procedimental. Nas expressões do cálculo não se especifica o modo de obter o resultado mas sim o tipo de informação que se pretende obter. Isto difere da álgebra relacional onde é necessário especificar a sequência de operações a aplicar para obter o resultado. A linguagem SQL baseia-se em parte no cálculo relacional por tuplos . 30 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Cálculo Relacional – Definição Definição: linguagem declarativa para consultar bancos de dados. Tipos: Cálculo relacional de tuplas. Cálculo relacional de domínio. Diferença em relação à álgebra relacional (declarativo x procedural). 31 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Cálculo Relacional de Tuplas Definição: foca em tuplas de relações. Sintaxe: { t | P(t) } Exemplo: { t | t ∈ Funcionários ∧ t.salário > 3000 } 32 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Cálculo Relacional de Tuplas Definição: foca em tuplas de relações. Sintaxe: { t | P(t) } Exemplo: { t | t ∈ Funcionários ∧ t.salário > 3000 } MAIS EXEMPLOS 33 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Cálculo Relacional de Tuplas – Quantificadores Definição: foca em tuplas de relações. Sintaxe: { t | P(t) } Exemplo: { t | t ∈ Funcionários ∧ t.salário > 3000 } MAIS EXEMPLOS 34 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Cálculo Relacional de Tuplas – Expressões Seguras Quando utilizamos quantificadores ou negação numa fórmula do CRT é necessário verificar se a expressão resultante faz sentido. Uma expressão do CRT diz-se segura se é garantido que esta calcula um número finito de tuplos como resultado. Caso contrário é não-segura. Por exemplo, {e | NOT EMPREGADO(e)} é uma expressão não-segura pois calcula todos os tuplos que não são empregados! O domínio de uma expressão do CRT é o conjunto de todos os valores que ou aparecem como constantes na expressão ou existem em algum tuplo das relações referenciadas na expressão. Definição alternativa: uma expressão do CRT diz-se segura se todos os valores do seu resultado pertencem ao domínio da expressão. Caso contrário é não-segura. 35 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Cálculo Relacional de Domínio Definição: foca em valores de atributos (domínios). Sintaxe: { <x1, x2, ..., xn > | P(x1, x2, ..., xn ) } Exemplo: { <nome, salário> | Funcionários(nome, salário) ∧ salário > 3000 } 36 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Cálculo Relacional de Domínio Definição: foca em valores de atributos (domínios). Sintaxe: { <x1, x2, ..., xn > | P(x1, x2, ..., xn ) } Exemplo: { <nome, salário> | Funcionários(nome, salário) ∧ salário > 3000 } MAIS EXEMPLOS 37 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Comparativo entre Álgebra e Cálculo Relacional Álgebra relacional: Linguagem procedural. Define como obter o resultado. Cálculo relacional: Linguagem declarativa. Define o que se deseja obter. Equivalência expressiva: ambas são igualmente poderosas. 38 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Comparativo entre Álgebra e Cálculo Relacional Comparativo entre Álgebra e Cálculo Relacional 39 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Exemplos Práticos Consulta em álgebra relacional: π <nome> (σ<salário > 3000>(Funcionários)) Consulta em cálculo relacional de tuplas: { t | t ∈ Funcionários ∧ t.salário > 3000 } Equivalência em SQL: SELECT nome FROM Funcionários WHERE salário > 3000; 40 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Relação com SQL Álgebra relacional e cálculo relacional são a base teórica do SQL. Operações SQL correspondentes: SELECT → Projeção (π) e Seleção (σ) JOIN → Junção (⨝) UNION → União (∪) EXCEPT → Diferença (−) 41 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Aplicações Uso em sistemas de gerenciamento de banco de dados ( SGBDs ). Otimização de consultas. Projeto e análise de bancos de dados. 42 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Vantagens e Desvantagens Álgebra relacional: Vantagem: clareza e simplicidade. Desvantagem: pode ser verbosa para consultas complexas. Cálculo relacional: Vantagem: expressividade e facilidade de leitura. Desvantagem: pode ser menos intuitivo para iniciantes. 43 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

Conclusão Recapitulação dos tópicos abordados: Álgebra relacional e suas operações. Cálculo relacional e suas variantes. Relação com SQL. Importância desses conceitos para o estudo de bancos de dados. Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão 44

Referências KUROSE, J. F.; ROSS, K. W. Redes de computadores e a Internet : uma abordagem top- down . 5ª ed. São Paulo: Pearson, 2010. 640p. TANENBAUM, A. S.; WETHERALL, D. Redes de computadores . 5ª ed. São Paulo: Pearson, 2011. 600p. COMER, D. E. Redes de computadores e Internet . 4ª ed. Porto Alegre: Bookman, 2007. 720p. FOROUZAN, B. A. Comunicação de dados e redes sem-fio . 4ª ed. Rio de Janeiro: McGraw-Hill, 2008. 1134p. 45 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão

FIM! 46 Introdução Definição Características Camadas Protocolos Aplicação Transporte Rede Enlace Conclusão