Banco de dados

Disponível somente no TrabalhosFeitos
  • Páginas : 7 (1641 palavras )
  • Download(s) : 0
  • Publicado : 16 de dezembro de 2011
Ler documento completo
Amostra do texto
Banco de Dados
Módulo 8 - Modelo Relacional
Consultas e Atualizações em SQL

modulo08.PRZ

1

10/17/01

Consultas em SQL
Consultas em SQL:
estrutura básica da forma select-from-where:

select from where
consultas simples: correspondem diretamente à Álgebra Relacional consultas com aninhamento: envolvem outras consultas consultas com agregação: envolvem operadores de agregaçãomodulo08.PRZ 2 10/17/01

Consultas Simples
Consultas Simples:
consultas da forma select-from-where:
select from where onde a lista de resultados e a qualificação envolvem apenas valores de atributos

ou combinação de consultas simples, das formas:
(Q1 union Q2) (Q1 except Q2) (Q1 intersect Q2)
modulo08.PRZ

Q1  Q2 Q1 - Q2 Q1  Q2
3 10/17/01

Consultas Simples
Consultas Simples(cont.):
a qualificação é uma expressão booleana de comparações:

E and F E or F not E

modulo08.PRZ

4

10/17/01

Consultas Simples
Consultas Simples (cont.):
comparações simples:

Vk

comparação  entre o valor V de um atributo e uma constante k

V  W comparação  entre dos valores V e W de atributos
outras formas de comparação (V é o valor de um atributo) :

V like PV é uma cadeia de caracteres que deve satisfazer o padrão P

(V between N and M) V é um valor numérico que deve pertencer ao intervalo [N,M] V in (a, b,c, ...)
modulo08.PRZ

V deve pertencer ao conjunto {a,b,c,...} V deve ser nulo 5
10/17/01

V is null

Consultas Simples
Consultas Simples x Álgebra Relacional:
Projeção: select Con, End from Disc

Cod, End (Disc)

Disc

CodEnd

Matr

Nível

inf1731 L520 inf1732 L510 inf1732 L520 inf2324 L520

15315 GR 11239 GR 15315 GR 24217 PG

Seleção:

select * from Disc where End = L510

End=L510 (Disc)

modulo08.PRZ

6

10/17/01

Consultas Simples
Consultas Simples x Álgebra Relacional:
Disc Cod End Matr Nível

inf1731 L520 inf1732 L510 inf1732 L520 inf2324 L520

15315 GR 11239 GR 15315 GR 24217PG

Junção: select * from Disc, Prof where Disc.Matr = Prof. Matr Disc _Disc.Matr=Prof.Matr Prof

_Disc.Matr=Prof.Matr
Prof Matr Nome Idade 46 33 66 Cod End Matr Nível Matr Nome Idade 46 33 46 66
10/17/01

15315 Pedro 11239 Manuel 24217 José

inf1731 L520

15315 GR 11239 GR 15315 GR 24217 PG

15315 Pedro 11239 Manuel 15315 Pedro 24217 José

=

inf1732 L510 inf1732 L520 inf2324L520

modulo08.PRZ

7

Consultas Simples
Exemplos:
Esquema Relacional do Banco de Dados:
Disc[Cod, End, Matr, Nível] Prof[Matr, Nome, Idade] Dep[Matr, DNome, DIdade]

Estado do Banco de Dados:
Disc Cod inf1731 inf1732 inf1732 inf2324 End L520 L510 L520 L520 Matr 15315 11239 15315 24217 Nível GR GR GR PG Prof Matr 15315 11239 24217 Nome Pedro Manuel José Idade 46 33 66 Dep Matr 1531511239 11239 DNome Pedro Sonia Maria Didade 22 35 65

modulo08.PRZ

8

10/17/01

Consultas Simples
Exemplos (cont.):
Qual a matrícula dos professores que lecionam disciplinas na L520?
R1 := selecione Disc onde End = L520; R2 := projete R1 em Matr; { t / ( _s . Disc ) ( t = s[Matr] select Matr from Disc where End = "L520"

s[End] = L520 ) }

modulo08.PRZ

9

10/17/01 Consultas Simples
Exemplos (cont.):
Qual o nome dos professores com mais de 45 anos que lecionam disciplinas na GR?
R1 := junte Disc e Prof onde DiscPG.Matr = Prof.Matr; R2 := selecione R1 onde Nível = GR e Idade > 45; R3 := projete R2 em Nome; { n / ( _r . Prof ) ( _s . Disc ) (n = r[Nome] r[Idade] > 45 s[Nível] = GR r[Matr] = s[Matr] ) } select Prof.Nome from Prof, Disc where Prof.Idade > 45and Disc.Nível = "GR" and Prof.Matr = Disc.Matr
modulo08.PRZ 10 10/17/01

Consultas Simples
Caracteristicas adicionais das consultas simples:
a resposta a uma consulta em SQL pode conter duplicatas: select distinct ... select all... select... elimina duplicatas mantém as duplicatas

a resposta pode ser ordenada: select A,B,C,... from ... where ... order by B,C
modulo08.PRZ 11 10/17/01...
tracking img