dxxc
1458 palavras
6 páginas
Álgebra RelacionalModelo Relacional - Manipulação
• Duas categorias de linguagens
– Formais : álgebra relacional e cálculo relacional
– Alto Nível (Comerciais) - baseadas nas linguagens formais - SQL
• Linguagens formais – Características
– orientadas a conjuntos
– linguagens de base : linguagens relacionais devem ter no mínimo um poder de expressão equivalente ao de uma linguagem formal
• Fechamento
– resultados de consultas são relações
Álgebra Relacional
• Álgebra desenvolvida para descrever operações sobre uma base de dados relacional
• O conjunto de objetos são as Relações
• Operadores para consulta e alteração de relações
• Linguagem procedural
– uma expressão na álgebra define uma execução seqüencial de operadores
– a execução de cada operador produz uma relação
Álgebra Relacional
• Os operadores da álgebra relacional recebem uma ou mais relações de entrada e geram uma nova relação de saída
Álgebra Relacional
• Porque aprender:
– Compreendendo álgebra relacional é mais fácil apreender SQL
– Não há SGBD que implementa álgebra diretamente como
DML (Data Manipulation Language), mas SQL incorpora cada vez mais conceitos de álgebra
– Algoritmos de otimização de consulta são definidos sobre álgebra (possível uso internamente no SGBD)
Álgebra Relacional
• Operadores sobre conjuntos (uma tabela é um conjunto de linhas):
–
–
–
–
União
Interseção
Diferença
Produto Cartesiano
• Operadores específicos da álgebra relacional:
– Seleção
– Projeção
– Junção
– Divisão
– Renomeação
Operações
Project
Select
Union
Intersection
Difference
R
R
R
S
S
Join
*
Cartesian product
X
S
Divi sion
Esquema Relacional: Exemplo
Empregado
codEmp
200
201
202
203
Nome
Pedro
Paulo
Maria
Ana
Salario
3.000,00
2.200,00
2.500,00
1.800,00
idade
45
43
38
25
codDep
001
001
001
002
Projeto codProj Descricao codDep A
AATOM
001
B
DW