Você está na página 1de 3

DISCIPLINA - BANCO DE DADOS

EXERCÍCIO - SQL

PROF.: JO~
AO BATISTA MENDES
====================================================================================

1. Dado o banco de dados empregados, construas as sentenças sql para as seguintes consutas

(a) Nome dos empregados que trabalham na Unimontes;


(b) Nome e cidade dos empregados que trabalham na Unimontes;
(c) Nome e cidade dos empregados da Unimontes que ganham mais de 10000 anualmente;
(d) Empregados que moram e trabalham na mesma cidade;
(e) Empregados que moram no mesmo endereço de seu gerente;
(f) Empregados que não trabalham na Unimontes;
(g) Empregados que ganham mais que qualquer empregado da Unimontes;
(h) Empregados que ganham mais que a média salarial da companhia;
(i) Companhia que possui a maioria dos empregados;
(j) Companhia com a menor folha de pagamento;
(k) Modifique o banco de dados para que João passe a morar em Bocaiuva;
(l) Dê um aumento de 10% a todos os empregados da Unimontes;
(m) Dê um aumento de 10% a todos os gerentes da Unimontes;
(n) Remova todas as tuplas da relação trabalha correspondentes aos empregados da
Unimontes com salário inferior a 300,00;
(o) Defina uma visão com o nomeGer e a média de salário dos empregados subordinados
ao gerente. Explique por que o sistema de bd não permite atualizações expressas em
termos de visões.

2. Dê uma expressão em SQL para cada uma das consultas seguintes

(a) Modifique o banco para que Jones passe a morar em Newton;


(b) Dê um aumento de 10% a todos os empregados que trabalham na Unimontes;
(c) Dê um aumento de 10% a todos os gerentes da Maisa;
(d) Dê um aumento de 10% a todos os gerentes da Maisa, exceto àqueles cujo salário
alcance 100.000; nesses casos dê apenas 3% de aumento;

1
(e) Remova todas as tuplas da relação trabalha correspondentes aos empregados da
UFMG.

3. Sejam dados os equemas das seguintes relações:

R = (A, B, C) S = (D, E, F)

Sejam dadas as relações r(R) e s(S). Dê uma expressão em SQL que seja equivalente a
cada uma das seguintes consultas:

• ΠA (r)
• σB=17 (r)
• rxs
• ΠA,F (σC=D (rxs))

4. Sejam R = (A, B, C) e sejam as relações r1 e r2 do esquema R. Dê uma expressão em


SQL que seja equivalente a cada uma das seguintes consultas:

• r1 ∪ r2
• r1 ∩ r2
• r1 − r2
• ΠAB (r1 ) ⊗ ΠBC (r2 )

onde ⊗ identifica a operação de junção natural.

5. Considere a consulta SQL:

select p.a1 from p, r1 , r2 where p.a1 = r1.a1 or p.a1 = r2.a1

Sob quais condições a consulta seleciona os valores de p.a1 que estão em r1 ou em r2 ?


Examine com cuidado os casos em que r1 ou r2 seja vazia.

6. A SQL-92 proporciona uma operação chamada case, que é definida como segue:
case
when pred1 then result1
when pred2 then result2
when pred3 then result3
..
.

2
when predn then resultn
else result0
end
A expressão retorna resulti , em que i é o primeiro entre pred1 · · · predn que é satisfeito;
se nenhum dos predicados é satisfeito, a operação retorna result0 .
Suponha que temos a relação marcas (idEstudante, pontos) em que desejamos designar
nı́veis para os estudantes, com base em seus pontos, como segue: grau F se pontos < 40,
grau C se 40 ≤ pontos < 60, grau B se 60 ≤ pontos < 80 e grau A para aqueles com
pontos ≥ 90. Escreva as consultas para:

• Mostre o grau de cada estudante com base em seus pontos;


• Encontre o número de estudantes em cada grau.

Você também pode gostar