---
# System prepended metadata

title: Recomeçar

---

# Recomeçar
Autor: Felipe Oliveira Verissimo
Numero: 16
Turma: Info C

[toc]


# Modelagem 1: Tabela de filmes

> Create script
```sql=
create table tb_genero (
id_genero  int primary key auto_increment,
ds_genero  varchar(200),
bt_ativo   bool
);
  
create table tb_netflix (
id_filme       int primary key auto_increment,
nm_filme       varchar(100),
id_genero      int,
vl_avaliacao   decimal(15,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, bt_ativo)
values ("acao", true),
       ("acao suspense", true),
       ("terror", true);
       
insert into tb_netflix (nm_filme, id_genero, vl_avaliacao, bt_disponivel, dt_lancamento)
values ("Velozes e furiosos", 1, 6.8, true, "2001-6-22"),
("Mais Velozes Mais Furiosos", 1, 5.9, true, "2003-6-6"),
("Velozes e furiosos: Desafio em Tóquio", 1, 6, true, "2006-6-16"),
("Velozes e furiosos 4", 1, 6.6, true, "2009-4-3"),
("Velozes e furiosos 5: Operação Rio", 1, 7.7, true, "2011-5-6"),
("Velocidade furiosa 6", 1, 7, true, "2013-5-24"),
("Velozes e furiosos 7", 1, 7.1, true, "2015-4-3"),
("Velocidade furiosa 8", 1, 6.6, true, "2017-4-14"),
("Incontrolável", 2, 6.8, true, "2010-11-12"),
("Annabelle", 3, 6.4, true, "2014-10-3");
 ```
 
 > ## Alterar 2 registros da tabela
> Update
```sql=
update tb_netflix set id_genero = 3 where id_filme = 1;
update tb_netflix set id_genero = 2 where id_filme = 3;
```

> ## Remover 2 registros da tabela
> Delete
```sql=
delete from tb_netflix where id_filme = 4;
delete from tb_netflix where id_filme = 5;
```

> ## Consultar todos os filmes com gênero igual a Ação
> Select script
```sql=
select n.nm_filme
from tb_netflix n
inner join tb_genero g
on n.id_genero = g.id_genero
where ds_genero = "acao";
```

> ## Consultar todos os filmes que possuam o nome e gênero contendo a letra a
> Select script
```sql=
select n.nm_filme
from tb_netflix n
inner join tb_genero g
on n.id_genero = g.id_genero
where nm_filme like "%a%"
and ds_genero like "%a%";
```

> ## Consultar todos os filmes que estejam disponíveis e com avaliação maior que 8
> Select script
```sql=
select nm_filme
from tb_netflix n
where vl_avaliacao >= 8;
```

> ## Consultar todos os filmes que foram lançados entre 2010 e 2020 com nome de filme menor que 10 caracteres
> Select script
```sql=
select nm_filme
from tb_netflix 
where length (nm_filme) < 10 
and dt_lancamento between "2010-01-01" and "2020-12-31";
```

> ## Selecionar o nome dos filmes cujo a data de lançamento for 2013
> Select script
```sql=
select nm_filme 
from tb_netflix
where dt_lancamento like "%2013%";
```

> ## Selecionar o nome dos filmes cujo a data de lançamento for maior ou igual que 2013-1-1
> Select script
```sql=
select nm_filme 
from tb_netflix
where dt_lancamento >= "2013-1-1";
```

> ## Selecionar o nome dos filmes cujo o gênero for terror
> Select script
```sql=
select n.nm_filme 
from tb_netflix n
inner join tb_genero g
on n.id_genero = g.id_genero
where ds_genero = "terror";
```

> ## Selecionar o nome dos filmes cujo o gênero for ação suspense e a data de lançamento for maior ou igual que 2006-1-1
> Select script
```sql=
select n.nm_filme
from tb_netflix n
inner join tb_genero g
on n.id_genero = g.id_genero
where ds_genero = "acao suspense"
and dt_lancamento >= "2006-1-1";
```

> ## Selecionar o nome dos filmes cujo o gênero for ação e a avaliação for maior ou igual que 7.0
> Select script
```sql=
select n.nm_filme
from tb_netflix n
inner join tb_genero g
on n.id_genero = g.id_genero
where ds_genero = "acao"
and vl_avaliacao >= "7.0";
```

[toc]


# Modelagem 2: Tabela de alunos

> Create script
```sql=
create table tb_turma (
id_turma      int primary key auto_increment,
nm_turma      varchar(255),
nr_ano_letivo int,
nm_curso      varchar(255)
);
  
create table tb_aluno (
id_aluno       int primary key auto_increment,
id_turma       int,
ds_sexo        varchar(200),
nm_aluno       varchar(255),
nr_chamada     int,
tp_status      varchar(100),
foreign key (id_turma) references tb_turma (id_turma)
);

```
> Insert script

```sql=
insert into tb_turma (nm_turma, nr_ano_letivo, nm_curso)
values ("info c", 2021, "informatica"),
       ("info d", 2021, "informatica"),
       ("indo a", 2021, "informatica");
       
insert into tb_aluno (id_turma, ds_sexo, nm_aluno, nr_chamada, tp_status)
values (1, "masculino", "Felipe Oliveira Verissimo", 16, "presente"),
(2, "masculino", "Guilherme Manso Vieira", 12, "presente"),
(2, "feminino", "Barbara Barbosa dos Santos", 1, "presente"),
(1, "masculino", "Erik de Almeida Benito", 14, "presente"),
(3, "feminino", "Caroline da Silva Pereira", 2, "presente"),
(1, "masculino", "Guilherme Oliveira Verissimo", 21, "presente"),
(1, "feminino", "Beatriz Gomes Feliciano", 6, "presente"),
(1, "masculino", "Eduardo Ferreira Dias", 10, "presente"),
(1, "masculino", "Luis Paulo de Oliveira", 33, "presente"),
(1, "feminino", "Mariana Sousa do Carmo", 37, "presente");
 ```
 
 > ## Alterar 2 registros da tabela
> Update
```sql=
update tb_aluno set nr_chamada = 3 where id_aluno = 1;
update tb_aluno set nr_chamada = 2 where id_aluno = 6;
```

> ## Remover 2 registros da tabela
> Delete
```sql=
delete from tb_aluno where id_aluno = 4;
delete from tb_aluno where id_aluno = 5;
```

> ## Selecionar turma, nome e chamada da tabela alunos filtrando por turma
```sql=
select a.nm_aluno, a.nr_chamada, t.nm_turma
from tb_aluno a
inner join tb_turma t
on a.id_turma = t.id_turma
where nm_turma = "info c";
```

> ## Selecionar todos campos da tabela alunos filtrando por nome e turma de forma parcial
> Select script
```sql=
select * from tb_aluno a
inner join tb_turma t
on a.id_turma = t.id_turma
where nm_turma like "%info%"
and nm_aluno like "%ol%";
```

> ## Selecione ano letivo, turma, nome, chamada, sexo da tabela alunos filtrando os frequentes por turma e ano letivo.
> Select script
```sql=
select t.nr_ano_letivo, a.nm_aluno, 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
where tp_status = "presente"
and t.nr_ano_letivo = "2021";
```

> ## Selecione nome, sexo da tabela alunos filtrando por ano, turma e sexo
```sql=
select a.nm_aluno, a.ds_sexo
from tb_aluno a
inner join tb_turma t
on a.id_turma = t.id_turma
where nm_turma = "info c"
and ds_sexo = "masculino";
```

> ## Selecionar o nome do aluno onde o numero da chamada é maior ou igual que doze
> Select script
```sql=
select nm_aluno
from tb_aluno
where nr_chamada >= "12";
```

> ## Selecionar o nome do aluno onde o sexo da pessoa for feminino
> > Select script 
```sql=
select nm_aluno
from tb_aluno
where ds_sexo = "feminino";
```

> ## Selecionar o nome do aluno onde o numero da chamada for menor ou igual a doze e o sobrenome do aluno conter oliveira 
> Select script
```sql=
select nm_aluno
from tb_aluno
where nr_chamada <= "12"
and nm_aluno like "%oliveira%";
```

> ## Selecionar o nome do aluno onde o sobrenome conter ol e o numero da chamada for maior ou igual que trinta
> Select script
```sql=
select nm_aluno 
from tb_aluno
where nm_aluno like "%ol%"
and nr_chamada >= "30";
```

> ## Selecionar o nome do aluno onde o id da turma for um
> Select script
```sql=
select nm_aluno
from tb_aluno
where id_turma = "1"
```


