Você está na página 1de 3

1 ) Considere o modelo relacional abaixo:

Projeto ( pn, nome, local )


Empregado ( matricula, nome, salario )
Trabalha ( pn, matricula, carga_horaria )

1 ) Nomes dos Empregados com salario > 10000

R = Empregados ( salario > 10000 )


R2 = R(nome)

2 ) Empregados que não estão trabalhando

R = Empregado ( matricula ) - Trabalha ( matricula )


R2 = R(matricula)

3 ) Nome dos empregados que trabalham em algum projeto

R = PC ( Trabalha * Empregado ) Trabalha.matricula = Empregado.matricula


R2 = R( nome )

4 ) Nome dos empregados e o Código dos projetos que ele trabalha, considerando
também os empregados que não estão alocados em nenhum projeto.

R = PC ( Trabalha * Empregado ) Trabalha.matricula (+) = Empregado.matricula


R2 = R( nome, pn )

5 ) Código dos Projetos que possuem empregados alocados a eles

R = Trabalha( pn )

6 )Matricula do Empregado e Código do Projeto que ele não trabalha

R = PC ( Empregado * Projetos )
R2 = R( matricula ) - Trabalha( matricula )
R3 = R2( matricula, pn )

7 ) Matricula dos empregados que trabalham em todos os projetos

R = A(x) - ((A(x) * B(x)) - B(x,y))

R = Empregados ( matricula ) - ( PC ( Empregados * Trabalha ) (matricula ) -


Trabalha(matricula ) ) (matricula )
R2 = R( matricula )

2 ) Considere o esquema abaixo:

Cliente ( cn, cnome, email )


Produto ( pn, pnome, preco )
Venda ( vn, pn, quant, cn )
cn referencia Cliente
pn referencia Produto

1 ) Nome dos Clientes que não compraram nada

R = Cliente ( cn ) - Venda ( cn )
R2 = R(cnome)
2 ) Nome dos Produtos e a lista de clientes que ainda não o compraram

R = PC ( Cliente * Produto )
R2 = R ( cn ) - Venda ( cn )
R3 = R2(pnome, cnome )

3 ) Uma lista de nome dos clientes com os nomes dos produtos que cada um já comprou

R = PC ( Cliente * Venda ) ( Cliente.cn = Venda.cn )


R2 = PC ( R * Produto ) ( R.pn = Produto.pn )
R3 = R2( cnome, pnome )

4 ) Nome dos clientes que compraram 'BANANA'

R = PC ( Venda * Cliente ) ( Venda.cn = Cliente.cn )


R2 = PC ( R * Produto ) ( R.pn = Produto.pn )
R3 = R2( pnome = 'BANANA' )
R4 = R3( cnome )

5 ) Codigo dos clientes que compraram o produto P1 ou o produto P2.

R = Venda ( pn = 'P1' or pn = 'P2' )


R2 = R(cn)

6 ) Codigo dos clientes que compraram o produto P1 e o produto P2

7 ) Nome dos clientes e dos produtos que eles compraram. Na lista também devem
aparecer os clientes que não compraram nenhum produto.

8 ) Codigo dos clientes que compraram todos os produtos.

3 ) Considere o esquema abaixo:

Esquema relacional "Empresa":

Empregado (PrimeiroNome, InicialMeio, UltimoNome, NumEmpregado, DataNascimento,


Endereco, Sexo, Salario, NumSupervisor, NumDepto)
Departamento (NomeDepto, NumDepto, NumGerente, DataInicioGerencia)
Localizacao_Depto (NumDepart, Localizacao)
Projeto (NomeProj, NumProj, Localizacao, NumDepto)
Trabalha_em (NumEmpregado, NumProj, Horas)
Dependente (NumEmpregado, NomeDependente, Sexo, DataAniversario, Parentesco)

1 ) Recuperar o nome (primeiro e último nome) e o endereço dos empregados que


trabalham para o departamento de número 5.

R = ( Empregado * Trabalha_em ) ( Empregado.NumEmpregado =


Trabalha_em.NumEmpregado )
R2 = R( NumProj = 5 )
R3 = R2( PrimeiroNome, UltimoNome, Endereco )

2 ) Recuperar o nome (primeiro e último nome) e o endereço dos empregados que


trabalham para o departamento 'Pesquisa'.

R = ( Empregado * Trabalha_em ) ( Empregado.NumEmpregado =


Trabalha_em.NumEmpregado )
R2 = ( R * Departamento ) ( R.NumDepto = Departamento.NumDepto )
R3 = R2 ( NomeDepto = 'Pesquisa' )
R4 = R3( PrimeiroNome, UltimoNome, Endereco )

3 ) Para cada projeto localizado no 'Centro', recuperar o número do projeto, o


número do departamento controlador e o nome (primeiro e último nome), o endereço e
a data de nascimento do gerente do departamento.

4 ) Recuperar o nome (primeiro e último nome) dos empregados que trabalham em todos
os projetos controlados pelo departamento de número 5.

5 ) Recuperar o número dos projetos que envolvam um empregado cujo sobrenome seja
'Silva', como sendo um trabalhador ou como um gerente do departamento que controla
o projeto.

6 ) Recuperar o nome (primeiro e último nome) dos empregados que tenham


dependentes.

7 ) Recuperar o nome (primeiro e último nome) dos empregados que tenham dois ou
mais dependentes.

8 ) Recuperar o nome (primeiro e último nome) dos empregados que não tenham
dependentes.

9 ) Recuperar o nome (primeiro e último nome) dos gerentes que tenham dependentes.