# Final Session | Banco de dados
**author** Murillo Tadeu
**Turma** Info - D
**Número**: 33
#
## Tabela Filme
> Create Scipt
```sql=
create table tb_genero(
id_genero int primary key auto_increment,
ds_genero varchar(100),
ds_restrição bool,
bt_ativo bool
);
create table tb_filme(
id_filme int primary key auto_increment,
nm_filme varchar(200),
id_genero int,
vl_avaliacao decimal(5,2),
bt_disponivel bool,
dt_lancamento date,
foreign key (id_genero) references tb_genero (id_genero)
);
```
>Insert Script
```sql=
insert into tb_genero (ds_genero, ds_restrição, bt_ativo)
values ('Ação', true, true),
('Romance', true, true),
('Comédia', false, true),
('Ficção', false, false);
insert into tb_filme (nm_filme, id_genero, vl_avaliacao, bt_disponivel, dt_lancamento)
values ('Fast&Furious 5', 1, 4.3, true, '2011-04-15'),
('50 tons de cinza', 2, 4.6, true, '2015-02-12'),
('Minha mãe é uma peça ', 3, 3.8, true, '2013-06-18'),
('Vingadores: Ultimato', 4, 5, true, '2019-04-25'),
('Tropa de elite', 1, 3.9, false, '2017-10-05'),
('Por lugares incriveis', 2, 3.6, true, '2020-02-28'),
('Para todos garotos que já amei 2', 2, 3.6, true, '2021-02-12'),
('Bird Box', 1, 3.7, true, '2018-12-14'),
('Interestelar', 4, 4.5, true, '2014-11-06'),
('Paul: O Alien Fugitivo', 4, 2.9, false, '2013-11-13');
```
>Insert Script
```sql=
Modificação -
1- Update tb_filme
set dt_lancamento = '2011-11-11'
where id_filme = 10;
2- Update tb_filme
set nm_filme = 'Velozes e Furiosos 5'
where id_filme = 1;
Remoção -
1- Delete from tb_filme
where id_filme = 7;
2- Delete from tb_filme
where id_filme = 3;
```
>Select Script
```sql=
Select 1 –
select*
FROM tb_filme F
INNER JOIN tb_genero G
ON F.id_genero = G.id_genero
WHERE G.ds_genero = 'ação'
Select 2 –
select G.ds_genero,
F.nm_filme
FROM tb_filme F
INNER JOIN tb_genero G
ON F.id_genero = G.id_genero
where nm_filme = 'A';
select 3 –
select*
FROM tb_filme F
INNER JOIN tb_genero G
ON F.id_genero = G.id_genero
Order by vl_avaliacao > 4
and bt_disponivel = true;
Select 4 –
select*
FROM tb_filme F
INNER JOIN tb_genero G
ON F.id_genero = G.id_genero
Where dt_lancamento between '2010' and '2020',
and nm_filme LIKE <= '10';
Select 5 –
A) select*
FROM tb_filme F
INNER JOIN tb_genero G
ON F.id_genero = G.id_genero
order by vl_avaliacao desc
B) select*
FROM tb_filme F
INNER JOIN tb_genero G
ON F.id_genero = G.id_genero
order by vl_avaliacao asc
C) select*
FROM tb_filme F
INNER JOIN tb_genero G
ON F.id_genero = G.id_genero
where ds_genero in ('ação', 'ficção');
D) select*
FROM tb_filme F
INNER JOIN tb_genero G
ON F.id_genero = G.id_genero
where G.bt_ativo = true
E) select*
FROM tb_filme F
INNER JOIN tb_genero G
ON F.id_genero = G.id_genero
where F.bt_disponivel = false
```
#
## Tabela Alunos
> Create script
```sql
create table tb_turma (
id_turma int primary key auto_increment,
nm_turma varchar(255),
nr_ano_letivo int,
nm_cruso varchar(255)
);
create table tb_aluno (
id_aluno int primary key auto_increment,
id_turma int,
ds_sexo varchar(255),
nm_aluno varchar(255),
nr_chamada int,
tp_desistente bool,
foreign key (id_turma) references tb_turma (id_turma)
);
```
>Insert Script
```sql=
insert into tb_turma (nm_turma, nr_ano_letivo, nm_cruso)
values ('Info C', 2021, 'Informática'),
('Info D', 2021, 'Informática'),
('Adm F', 2021, 'Administração');
insert into tb_aluno (id_turma, ds_sexo, nm_aluno, nr_chamada, tp_desistente)
values (1, 'feminino', 'Larissa Barbosa dos Santos', 28, false),
(2, 'feminino', 'Barbara Barbosa dos Santos', 02, false),
(3, 'masculino', 'Augusto Alcantara Oliveira', 01, true),
(2, 'feminino', 'Aysha Fernades de Medeiros', 02, false),
(2, 'feminino', 'Bruna Barbosa Vieira', 03, true ),
(1, 'masculino', 'Matheus Felipe Vieira', 37, true ),
(1, 'masculino', 'Lucas Elias Ferreira', 29, false),
(3, 'feminino', 'Mariana do Carmo Santos', 40, false),
(2, 'masculino', 'Gabriel Rafael Eneas da Silva', 10, false),
(1, 'masculino', 'Leonardo Gonçalves Dias', 25, true),
(3, 'masculino', 'Henrique Souza Avelar', 17, true);
```
>Insert Script
```sql=
Modificação -
1- update tb_aluno
set nr_chamada = 48
where id_aluno = 9;
2- update tb_aluno
set nr_chamada = 50
where id_aluno = 11;
Remoção -
1- delete from tb_aluno
where id_turma = 2;
2- delete from tb_aluno
where id_turma = 3;
```
>Select Script
```sql=
1 - select t.nm_turma,
a.nm_aluno,
a.nr_chamada
from tb_aluno a
inner join tb_turma t
on a.id_turma = t.id_turma;
2- select *
from tb_aluno a
inner join tb_turma t
on a.id_turma = t.id_turma
where nm_aluno LIKE 'A%'
or nm_aluno LIKE 'M%'
and nm_turma like 'I%';
3 - select t.nr_ano_letivo,
t.nm_turma,
a.nr_chamada,
a.ds_sexo
from tb_aluno a
inner join tb_turma t
on a.id_turma = t.id_turma;
4 - select a.nm_aluno,
a.ds_sexo
from tb_aluno a
inner join tb_turma t
on a.id_turma = t.id_turma
where nr_ano_letivo = 2021
and ds_sexo = 'feminino'
and nm_turma = 'Info D'
5 - select *
from tb_aluno a
inner join tb_turma t
on a.id_turma = t.id_turma
where nm_aluno LIKE 'm%';
6 - select *
from tb_aluno a
inner join tb_turma t
on a.id_turma = t.id_turma
order by nr_chamada desc;
7 - select *
from tb_aluno a
inner join tb_turma t
on a.id_turma = t.id_turma
order by nr_chamada asc;
8 - select *
from tb_aluno a
inner join tb_turma t
on a.id_turma = t.id_turma
order by tp_desistente = true;
9- select *
from tb_aluno a
inner join tb_turma t
on a.id_turma = t.id_turma
order by nr_chamada desc;