-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathview.sql
141 lines (102 loc) · 3.78 KB
/
view.sql
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
/*
Criando uma view no database - é uma tabela virtual criada com base em uma select que
já estava processada pelo banco e permite dar uma resposta
mais agil do que executar o script manualmente.
*/
/*
Cria uma view
*/
create view vwListaFilme as
select tblfilme.nomeFilme,
tblFilme.dataLancamentoFilme,
tblFilme.sinopseFilme,
tblClassificacao.nomeClassificacao,
tblGenero.nomeGenero,
tblAtor.nomeArtisticoAtor,
tblAtor.dataNascimentoAtor,
tblDiretor.nomeDiretor,
tblRoteirista.nomeRoteirista,
tblNacionalidade.nomeNacionalidade as Nacionalidade
from tblClassificacao inner join tblFilme
/* on tblFilme.idClassificacao = tblClassificacao.idClassificacao */
on tblClassificacao.idClassificacao = tblFilme.idClassificacao
inner join tblFilmeGenero
on tblFilme.idFilme = tblFilmeGenero.idFilme
inner join tblGenero
on tblGenero.idGenero = tblFilmeGenero.idGenero
inner join tblAtorFilme
on tblFilme.idFilme = tblAtorFilme.idFilme
inner join tblAtor
on tblAtor.idAtor = tblAtorFilme.idAtor
inner join tblatornacionalidade
on tblAtor.idAtor = tblatornacionalidade.idAtor
inner join tblnacionalidade
on tblNacionalidade.idNacionalidade = tblatornacionalidade.idNacionalidade
inner join tblFilmeDiretor
on tblFilme.idFilme = tblFilmeDiretor.idFilme
inner join tblDiretor
on tblDiretor.idDiretor = tblFilmeDiretor.idDiretor
inner join tblFilmeRoteirista
on tblFilme.idFilme = tblFilmeRoteirista.idFilme
inner join tblRoteirista
on tblRoteirista.idRoteirista = tblFilmeRoteirista.idRoteirista
order by tblFilme.nomeFilme asc, tblAtor.nomeAtor desc;
/*
permite visualizar as colunas virtuais de uma view
*/
desc vwListaFilme;
/*
Permite visualizar as views e tabelas do banco
*/
show tables;
/*
Premite rodar uma view
*/
select * from vwListaFilme;
/*
Permite alterar o script da view
*/
alter view vwListaFilme as
select tblfilme.nomeFilme,
tblFilme.dataLancamentoFilme,
tblFilme.sinopseFilme,
tblClassificacao.nomeClassificacao,
tblGenero.nomeGenero,
tblAtor.nomeArtisticoAtor,
tblAtor.dataNascimentoAtor,
tblDiretor.nomeDiretor,
tblRoteirista.nomeRoteirista,
tblNacionalidade.nomeNacionalidade as Nacionalidade
from tblClassificacao inner join tblFilme
/* on tblFilme.idClassificacao = tblClassificacao.idClassificacao */
on tblClassificacao.idClassificacao = tblFilme.idClassificacao
inner join tblFilmeGenero
on tblFilme.idFilme = tblFilmeGenero.idFilme
inner join tblGenero
on tblGenero.idGenero = tblFilmeGenero.idGenero
inner join tblAtorFilme
on tblFilme.idFilme = tblAtorFilme.idFilme
inner join tblAtor
on tblAtor.idAtor = tblAtorFilme.idAtor
inner join tblatornacionalidade
on tblAtor.idAtor = tblatornacionalidade.idAtor
inner join tblnacionalidade
on tblNacionalidade.idNacionalidade = tblatornacionalidade.idNacionalidade
inner join tblFilmeDiretor
on tblFilme.idFilme = tblFilmeDiretor.idFilme
inner join tblDiretor
on tblDiretor.idDiretor = tblFilmeDiretor.idDiretor
inner join tblFilmeRoteirista
on tblFilme.idFilme = tblFilmeRoteirista.idFilme
inner join tblRoteirista
on tblRoteirista.idRoteirista = tblFilmeRoteirista.idRoteirista
group by tblGenero.nomeGenero, tblAtor.nomeAtor
order by tblFilme.nomeFilme asc, tblAtor.nomeAtor desc;
/*
Permite deletar a view
*/
drop view vwListaFilme;
/*
Permite visualizar a estrutura de criação da view (select que foi criado)
*/
show create view vwListaFilme;