.2. Álgebra Relacional
Operações da teoria dos conjuntos que suportam a linguagem SQL.
Seleção -> $\sigma_{
}(R)$ onde R é uma relação e $p$ um predicado obtém os elementos de R que atendem o predicado $p$. ![[Pasted image 20250513161726.png]]
Projeção $\prod_{\text{lista de atributos}}(R)$ -> obtém todos os elementos de R mas exibe apenas os atributos pedidos na lista de atributos. ![[Pasted image 20250513162010.png]]
Produto Cartesiano $R \times S$ -> Permite combinar a informação contida em duas relações. cliente X Conta. Concatena todas as tuplas de R com todas as de S. ($n\times m$) conta($\underline{rg_cli}$, num_cta, saldo)
Conjuntos compatíveis
Conjunto cujos elementos tem a mesma quantidade e são de mesmo tipo.
Considere as relações:
- Cliente($\underline{RG}$, nome_cli, ano_nasc, cidade_cli, sexo)
- Agencia($\underline{cod_ag}$, nome_ag, cidade_ag, ativo)
- Deposito($\underline{num_dep}$, RG, saldo, cod_ag)
- Emprestimo($\underline{num_empr}$, RG, valor, cod_ag)
União ($\cup$)
$A\cup B$, se e, somente se, são conjuntos compatíveis. $$\prod_{\text{nome_dep, \ saldo}}(\sigma_{cod_{ag}=10}\ \text{(deposito)}) \cup \prod_{\text{num_empr, \ valor}}(\sigma_{cod_{ag}=10}\ \text{(emprestimo)})$$ todos os depósitos ou empréstimos (na agencia 10) associados ao saldo e valor. e.g $A = {(1,1), \ (1,3)}$ $B = {(1,1), \ (1,4)}$ $A\cup B = {(1,1), \ (1,3), \ (1,4)}$
Intersecção ($\cap$)
$$\prod_{\text{nome_dep, \ saldo}}(\sigma_{cod_{ag}=10}\ \text{(deposito)}) \cap \prod_{\text{num_empr, \ valor}}(\sigma_{cod_{ag}=10}\ \text{(emprestimo)})$$ Somente o que aparece nos 2, ou seja, neste caso, empréstimos de mesmo valor ao valor do depósito. e.g $A = {(1,1), \ (1,3)}$ $B = {(1,1), \ (1,4)}$ $A\cap B = {(1,1) }$
Subtração ($-$)
$$\prod_{\text{nome_dep, \ saldo}}(\sigma_{cod_{ag}=10}\ \text{(deposito)}) - \prod_{\text{num_empr, \ valor}}(\sigma_{cod_{ag}=10}\ \text{(emprestimo)})$$ Todos os depósitos (na agencia 10) associados ao saldo e valor que não estão associados aos empréstimos.
e.g $A = {(1,1), \ (1,3)}$ $B = {(1,1), \ (1,4)}$ $A - B = {(1,3)}$
Junção Natural ($\Join$)
$$ \text{(cliente x deposito)}_{<cliente.RG \ = \ deposito.RG>} = \ \text{cliente} \Join \text{deposito} $$
Combinação de tuplas relacionados de 2 relações em uma única tupla. Pode ser definida como um produto cartesiano entre A e B seguido de uma seleção.

