-
Notifications
You must be signed in to change notification settings - Fork 0
/
Defesa
49 lines (28 loc) · 1.97 KB
/
Defesa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Situação 6
Imagine que o proprietário de um clube de vídeo o contratou para desenvolver uma base de dados para gerir o seu negócio.
Depois de ter analisado os seus requisitos verificou que este pretendia manter actualizada:
i. Uma lista de filmes com informação apropriada (titulo português, titulo original ,sinopse, duração, realizador e sua nacionalidade, actores principais e suas nacionalidades, duração, género (comédia, aventura ,etc.), classificação (Maior/6, M/12, M/16, M/18, Adultos) )
ii. A lista de sócios com os seus dados pessoais (nome ,morada, telemóveis, emails, data de nascimento ,número do bilhete de identidade)
iii. Os alugueres efectuados com data de aluguer e devolução
Exemplo de busca para a defesa:
Criar uma consulta que mostre os filmes que determinado socio alugou em um determinado intervalo de anos de uma determinada classificacao e que tenham idade superior a 12 anos.
Para a defesa do projecto:
- identificar as tabelas
- seus relacionamentos
- o que vai receber pela jsp : ano, mes1, mes2, genero do filme
- DAO (buscar os metodos que retornam os dados)
- DefesaDao: like '?%'
- o que vai mostrar pela jsp : nomes dos socios
Busca da defesa:
Mostrar os socios cujo nome começa com determinada letra que alugaram filmes de determinado genero em um intervalo de meses de determinado ano.
select pnome , unome from pessoa pe inner join socio so on pe.pk_pessoa=so.fk_pessoa
inner join alugar alu on so.pk_socio=alu.fk_socio
inner join filme fil on alu.fk_filme=fil.pk_filme
where pnome like 'letra%' and fil.fk_genero=? and
date_part('month',alu.data_alugar) between ? and ?
and date_part('year',alu.data_alugar)=?
sugestao : mostrar quantos filmes determinado socio alugou de determinado genero.
select f.fk_genero, count(al.fk_filme) from filme f
inner join alugar al on (al.fk_filme=f.pk_filme)
inner join socio on (pk_socio=fk_socio)
where pk_socio=4 and f.fk_genero=4 group by f.fk_genero