0% acharam este documento útil (0 voto)
39 visualizações3 páginas

Lista de Exercícios Algebra Relacional

O documento apresenta uma lista de exercícios sobre álgebra relacional, incluindo definições de tabelas e operações como projeção, seleção e junção. Cada exercício solicita a recuperação de informações específicas de empregados, departamentos e projetos usando consultas em álgebra relacional. As consultas abordam temas como salários, dependentes, e gerentes, utilizando operadores como ρ, π e σ.

Enviado por

brdanielbr
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOC, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
39 visualizações3 páginas

Lista de Exercícios Algebra Relacional

O documento apresenta uma lista de exercícios sobre álgebra relacional, incluindo definições de tabelas e operações como projeção, seleção e junção. Cada exercício solicita a recuperação de informações específicas de empregados, departamentos e projetos usando consultas em álgebra relacional. As consultas abordam temas como salários, dependentes, e gerentes, utilizando operadores como ρ, π e σ.

Enviado por

brdanielbr
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOC, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 3

Lista de Exercícios

ÁLGEBRA RELACIONAL

empregado (cod_empregado, primeiro_nome_emp, último_nome_emp, data_niver_emp, end_emp,


sexo_emp, salário_emp, cod_supervisor, nro_departamento)

departamento (nro_departamento, nome_depto, cod_gerente, data_início_gerente)

projeto (nro_projeto, nome_projeto, local_projeto, nro_departamento)

trabalha_para (cod_empregado, nro_projeto, horas_trabalhadas)

dependente (cod_empregado, nome_dependente, sexo_depte, data_niver_depte, parentesco)

ρ (rho) – permite renomear relações ou atributos


π (pi) – operador de projeção cria uma relação de projeção com atributos selecionados, sem tuplas repetidas
σ (sigma) – operador de seleção que permite selecionar tuplas de uma determinada relação

cod_empregado cod_supervisor nro_departamento


1 4 5
5 2 3
2 3 5
3 3 3
4 2 5

1. Liste as informações dos empregados que trabalham para o departamento 4 e que recebem salário maior do
que R$25.000,00 ou que trabalham para o departamento 5 e que recebem salário maior do que R$30.000,00.
R. π(nome, salario, departamento) σ ( ( salario = 25,000 ^ departamento = 4) v (salario = 30,000 ^
departamento = 5) empregado )

2. Liste o primeiro nome, o último nome e o salário dos empregados que trabalham para o departamento 4 e
que recebem salário maior do que R$25.000,00.

R. π( primeiro_nome_emp, último_nome_emp, salário_emp ) σ( salario = 25,000 ^ departamento = 4 )


( empregado )

3. Liste o código dos empregados que trabalham para o departamento 5 ou que supervisionam um empregado
que trabalha para o departamento 5
R.

A  σ ( nro_departamento = 5 ) empregado
1 4 5
4 2 5
2 3 5

B  σ ( A.cod_supervisor = E.cod_empregado ) empregado x A


1 4 5
4 2 5
2 3 5
2 3 5
3 3 3
4 2 5

A  σ ( nro_departamento = 5 ) empregado
B  σ ( A.cod_supervisor = E.cod_empregado ) empregado x A
C  B-A
BCUA
π (cod_empregado) B

4. Recupere, para cada empregado do sexo feminino, o seu nome completo e os nomes dos seus dependentes.
Use a operação de produto cartesiano.

R.
ρ E (empregado) , ρ D (dependente)
A σ (E.cod_empregado = D.codEmpregado ^ E.sexo = “feminino”) (DxE)
π (primeiro_nome_emp, último_nome_emp, nome_dependente) A

5. Recupere, para cada departamento, o seu nome e o nome completo de seu gerente.
R.
A  σ (cod_gerente = cod_empregado) empregado x departamento
π (nome_depto, primeiro_nome_emp, último_nome_emp) A

6. Recupere o nome completo dos empregados que trabalham em todos os projetos no qual o empregado João
Silva trabalha
R.
ρ E (empregado) , ρ T (trabalha_para)
ET ( empregado x trabalha_para)
JS  σ (T.cod_empregado= E.cod_empregado ^ E.primeiro_nome_emp = “joao” ^ E.último_nome_emp =
“silva” ) ET
A σ (JS.nro_projeto = ET.nro_projeto ^ T.cod_empregado = E.cod_empregado) (JS x ET)
π (primeiro_nome_emp, último_nome_emp) A

7. Recupere os nomes completos dos empregados que não têm dependentes.


R.
A  σ(cod_empregado = cod_empregado) empregado x dependente
π (primeiro_nome_emp, último_nome_emp ) (empregado x dependente) - A

8. Recupere, para cada empregado do sexo feminino, o seu nome completo e os nomes dos seus dependentes.
Use a operação de junção natural.
R.
A  σ (sexo_emp = “feminino”) (empregado * dependente)
π (primeiro_nome_emp, último_nome_emp, nome_dependente) A

9. Para cada projeto localizado no Bloco 19, liste: (i) o número do projeto; (ii) o nome do departamento que
controla o projeto; e (iii) o nome completo, o endereço e a data de aniversário do gerente do projeto.
R.
A  σ (local_projeto = “bloco 19” ^ nro_departamento = nro_departamento) (projeto)
B  σ (nro_departamento = nro_departamento) (A x departamento)
C  σ (cod_gerente = cod_empregado)(B x empregado)

(i) π (nro_projeto) A
(ii) π (nro_projeto, nome_departamento) B
(iii) π (nro_projeto, nome_departamento, primeiro_nome_emp, último_nome_emp) C

10. Recupere o nome completo e o endereço de todos os empregados que trabalham para o Departamento de
Informática.
R.
A  σ ( nome_depto = “informática” ^ nro_departamento = nro_departamento )empregado x departamento
π (primeiro_nome_emp, último_nome_emp, end_emp )A

11. Encontre os nomes dos empregados que trabalham em todos os projetos controlados pelo departamento
número 5.
A  σ ( nro_departamento = 5 ^ nro_projeto = nro_projeto ) (projeto x trabalha_para)
B  σ ( cod_empregado = cod_empregado ) (A x empregado)
π (primeiro_nome_emp) B

12. Liste os números dos projetos nos quais que existe um empregado cujo último nome é Silva que trabalha
no projeto tanto como um funcionário quanto como um gerente do departamento que controla o projeto.
R.
A  σ ( cod_empregado = cod_gerente ) departamento x trabalha_para
B  σ (nro_projeto = nro_projeto ^ nro_departamento = nro_departamento) A x projeto
C  σ (E.cod_empregado = B.cod_gerente ^ ultimo_nome_emp = “silva”) empregado x B
π (nro_projeto) C

R2.
π (nro_projeto) σ (cod_empregado = cod_gerente ^ T.nro_projeto = P.nro_projeto ^ P.nro_departamento =
D.nro_departamento ^ E.ultimo_nome_emp = “silva” )( trabalha_para x empregado x projeto x departamento
)

13. Liste os nomes completos dos gerentes que têm pelo menos um dependente.
R.
A σ (D.cod_gerente = E.cod_empregado) empregado x departamento
B σ (D.cod_empregado = A.cod_empregado) A x dependente
π (primeiro_nome_emp, último_nome_emp)B

R2.
π (primeiro_nome_emp, último_nome_emp) σ(cod_gerente = E.cod_empregado ^ E.cod_empregado =
cod_empregado) ( empregado x departamento x dependente )

Você também pode gostar