Para ilustrar as operações da Álgebra Relacional, considere os esquemas (conceitual e lógico) do BD Empresa.
A figura abaixo ilustra a operação DIVISÃO.
A operação DIVISÃO é usualmente referida como "para todas":
- Em T ← R ÷ S na figura:
- o conjunto de atributos de R é XR = {A, B};
- o conjunto de atributos de S é XS = {A};
- os atributos de S são um subconjunto dos atributos de R, isto é, XS ⊆ XR;
- o conjunto de atributos de T é XR - XS = {B};
- cada tupla em T se refere às tuplas de R que existem "para todas" as tuplas de S, conforme ilustrado na figura.
Qual o nome dos funcionários que trabalham em todos os projetos que o "João Silva" trabalha?
Expressão | Operação |
---|---|
SILVA ← σPnome=‘João’ AND Unome=‘Silva’(FUNCIONARIO) | RENOMEAÇÃO, SELEÇÃO |
PROJETOS_SILVA ← πPnr(TRABALHA_EM ⋈Fcpf=CpfSILVA) | RENOMEAÇÃO, EQUIJUNÇÃO, PROJEÇÃO |
PROJETOS_TODOS_FUNCS ← πFcpf, Pnr(TRABALHA_EM) | RENOMEAÇÃO, PROJEÇÃO |
FUNC(Cpf) ← PROJETOS_TODOS_FUNCS ÷ PROJETOS_SILVA | RENOMEAÇÃO, DIVISÃO |
RESULT ← πPnome, Unome(FUNC * FUNCIONARIO) | RENOMEAÇÃO, JUNÇÃO NATURAL, PROJEÇÃO |
Qual o nome dos funcionários que possui o mesmo salário do "João Silva"?
■ escreva a consulta em álgebra relacional...
As FUNÇÕES AGREGADAS usam funções matemáticas para cálculos estatísticos simples nos conjuntos do banco de dados:
- O símbolo ℑ identifica a operação (F Script).
- A funções agregadas são CONTA (COUNT), SOMA (SUM), MÉDIA (AVERAGE), MÁXIMO (MAXIMUM) e MÍNIMO (MINIMUM).
- Alguns exemplos de aplicação das funções agregadas são:
- qual a média dos salários dos funcionários?
- qual a soma dos salários dos funcionários?
- qual o número (a quantidade) de funcionários?
Qual a quantidade de funcionários bem como a soma e a média de salários da empresa?
■ ℑ CONTA Cpf, SOMA Salario, MÉDIA Salario (FUNCIONARIO)
O AGRUPAMENTO envolve o agrupamento de tuplas em uma relação, a partir do valor um ou mais atributos:
- Os atributos usados para estabelecer o agrupamento de tuplas são denominados atributos de agrupamento.
- Cada grupo é formado pelas tuplas que possuem o mesmo valor para os atributos de agrupamento.
- A sintaxe genérica para o agrupamento é:
- atributos-de-agrupamento ℑ lista-de-funções-agregadas (R)
- A relação resultante é formada pelos valores dos atributos de agrupamento e pelos valores das funções agregadas.
Qual a quantidade de funcionários e média salarial por departamento da empresa?
■ Dnr ℑ CONTA Cpf, MÉDIA Salario (FUNCIONARIO)
OU
■ ρ RESULT (Identificacao_do_departamento, Quantidade_de_empregados, Salario_medio) (Dnr ℑ CONTA Cpf, MÉDIA Salario (FUNCIONARIO))
Qual o nome dos funcionários que possuem dois ou mais dependentes?
Expressão | Operação |
---|---|
RESUMO(Cpf, Qtde_depend)← Fcpf ℑ CONTA Fcpf (DEPENDENTE) | RENOMEAÇÃO, FUNÇÃO AGREGADA, AGRUPAMENTO |
RESUMO_DOIS ← σ Qtde_depend >= 2 (RESUMO) | RENOMEAÇÃO, SELEÇÃO |
RESULT ← π Pnome, Unome (RESUMO_DOIS * FUNCIONARIO) | RENOMEAÇÃO, JUNÇÃO NATURAL, PROJEÇÃO |
Criar uma issue no projeto https://github.com/plinioleitao/bd-2021-1-bia, com o título "Tópico 12", para responder:
Escreva em álgebra relacional as seguintes consultas ao BD Empresa:
- Qual o nome dos departamentos que possuem três ou mais empregados que trabalham para o departamento?
- Qual o nome dos departamentos cujo salário médio dos empregados que trabalham para o departamento é superior a 2000 reais?
IMPORTANTE: Use a sintaxe da Álgebra Relacional conforme os exemplos apresentados.
- Issue criada no projeto https://github.com/plinioleitao/bd-2021-1-bia, cujo título é "Tópico 12", para praticar operações da álgebra relacional.