Exercicios de Revisao de Banco de Dados – professora Vania Bogorny- INE/UFSC
Cada linha da tabela abaixo mostra 2 consultas em SQL, Algebra ou Calculo. Na terceira coluna responda SIM se as consultas são
equivalentes e NAO se não forem equivalentes. Lembre-se que duas consultas são equivalentes se elas sempre retornam exatamente
a mesma resposta sobre qualquer conjunto de tuplas.
Todas as consultas se referem as relações R(A, B) e/ou S(A, B).
1)
Em ambas as relações R e S, A é o atributo chave e B não é chave
2)
Nenhum atributo terá valor nulo
3)
Não imagine outras coisas sobre os dados, são 2 tabelas, cada qual com 2 atributos
Sim ou nao?
Select A
from R
Where B In (Select B From S)
Select R.A
From R,S
Where R.B = S.B
Select A
From R
Where B In (Select B From S)
Select distinct R.A
From R,S
Where R.B = S.B
Select B
From R
Where A In (Select A From S)
Select R.B
From R,S
Where R.A = S.A
Select B
From R
Where A In (Select A From S)
Select distinct R.B
From R,S
Where R.A = S.A
Select A
From R
Where A not in (Select A From S)
Select A From R
Select B From R
Select distinct B From R
Select B
From R
Where A In (Select A From S)
Select B
From R
Where B In (Select B From S
Select max(A),B
From R
Group by A,B
Π A(R) – Π A(S)
Select R.A
From R,S
Where R.A <> S.A
Select A From R Group By
Select B From R Group By
Select B From R Group By
Select Distinct R.B
From R,S
Where R.A = S.A
Select Distinct R.B
From R,S
Where R.B = S.B
Select max(A),B
From R
Group by B
{t.A|R(t) ∧ NOT((x)S(x)
Select R.A
From R, S
Where R.A=S.A
Select R.A
From R, S
Where R.A=S.A
Π A(R)  Π A(S)
Π A,B(R) / Π A(S)
Select A From R
Union
Select A From S
Select A from R
Intersects
Select A from S
{t.A|R(t) ∧ ((x)S(x) ∧ t.A=x.A)}
{t.B |R(t) ∧ ((x)(S(x) ∧ (x.A=t.A)))}
Select B
From R
Where B not in (select B from S)
Select A
From R
Where A in (select A from S)
Π B(R) – Π B(S)
Select R.A
From R, S
Where R.A = S.A
A
B
B
∧ t.A=x.A)}
Considere a relação R(A) contendo valores inteiros únicos. Assuma que R contem 3 tuplas. É possível escrever uma
consulta em SQL que retorne o terceiro maior inteiro de R?
( ) Sim ( ) NAO
Considere as relações R(A,B) e S(A,B) onde A é chave primária em ambas as relações.
1) Crie um usuário U
2) Dê ao usuário U permissão para consultar apenas a coluna A da relação R
3) Dê ao usuário U permissão para consultar as tuplas de R cujo valor de A exista na coluna A da relação S.
4) Crie um usuário U1, U2 e U3
5) Crie um papel P que tenha permissão para inclusão e exclusão em S e de as permissões do papel aos
usuários U1, U2 e U3
Considere as relações R(A,B) e S(Y,A,z) onde A é chave primária de R e chave estrangeira de S, Y é a chave
primária de S e z é um atributo numérico. Escreva uma consulta em SQL que retorne todos os valores de B em R
onde a soma dos valores de z em S seja maior que 1000.
Download

Exercicios de Revisao de Banco de Dados – professora