---
# System prepended metadata

title: Final Session | Banco de dados

---

# 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;