# **SESSION ONE: RECOMEÇAR - BANCO DE DADOS** Author: Igor Lima Charles N°: 18 Grade: INFOA # ATIVIDADE 1: TB_FILMES ## Modelagem ```sql= create table tb_genero ( id_genero int primary key auto_increment, ds_genero varchar(255), bt_ativo bool ); create table tb_filmes ( id_filme int primary key auto_increment, nm_filme varchar(255), id_genero int, dt_lancamento date, bt_disponivel bool, vl_avaliacao decimal(15,2), foreign key (id_genero) references tb_genero (id_genero) ); insert into tb_genero (ds_genero, bt_ativo) values ('Ação', true), ('Aventura', true), ('Drama', true), ('Animação', true); insert into tb_filmes (nm_filme, id_genero, vl_avaliacao, bt_disponivel, dt_lancamento) values ('Mad Max: Estrada da Fúria', 1 , 8.1, true, '2015-05-14'), ('Fuga à Meia-Noite', 1, 7.5, true, '1988-01-01'), ('Baby Driver: Em Ritmo de Fuga', 1, 7.6, true, '2017-07-27'), ('Invasão Zumbi', 1, 7.6, true, '2016-12-23'), ('Arranha-Céu: Coragem sem Limite', 1, 5.8, true, '2018-07-12'), ('Dunkirk', 1, 7.8, true, '2017-07-27'), ('A Teoria de Tudo', 3, 7.7, true,'2015-01-29'), ('Interestelar', 2, 8.6, true, '2014-11-06'), ('Viva - A Vida é uma Festa', 4, 8.4, true, '2018-01-04'), ('Up - Altas Aventuras', 4, 8.2, true, '2009-10-04'); update tb_filmes inner join tb_genero set bt_disponivel = false where id_filme = 10; update tb_filmes inner join tb_genero set vl_avaliacao = 10 where id_filme = 8; delete from tb_filmes where id_filme = 4; delete from tb_filmes where id_filme = 5 ``` ## Query SQL: TB_FILMES ```sql= select * from tb_filmes inner join tb_genero order by ds_genero and id_filme; /* Filmes com genero igual 'Ação' */ select nm_filme from tb_filmes F inner join tb_genero G on G.id_genero = F.id_genero where G.id_genero = 1; /*Avaliação maior que 8*/ select nm_filme from tb_filmes F inner join tb_genero G on F.vl_avaliacao where F.vl_avaliacao > 8; /* FIlmes que possuem Nome e Genero que contém "A"*/ select nm_filme from tb_filmes F inner join tb_genero G where G.ds_genero like '%a%' or '%A%' and F.nm_filme like '%a%' or '%A%'; /* Filmes lançados entre 2010 e 2020 com caracteres inferiores a 10 caracteres */ select nm_filme from tb_filmes F where F.dt_lancamento between '2010-01-01' and '2020-12-25' and length(F.nm_filme) < 10; /* 5 consultas personalizadas */ select vl_avaliacao from tb_filmes F inner join tb_genero G where F.vl_avaliacao between 7.0 and 9.0; select ds_genero from tb_filmes F inner join tb_genero G on G.ds_genero = G.id_genero where G.id_genero = 3; select dt_lancamento from tb_filmes F inner join tb_genero G where G.id_genero = 3; select nm_filme from tb_filmes F inner join tb_genero G where F.vl_avaliacao < 7.0; select nm_filme from tb_filmes F inner join tb_genero G on F.dt_lancamento >= '2018-01-01' ``` # ATIVIDADE 2: TB_ALUNOS ## Modelagem ```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_alunos ( id_aluno int primary key auto_increment, id_turma int, ds_sexo varchar(255), nm_aluno varchar(255), nr_chamada int , tp_status varchar(1), foreign key (id_turma) references tb_turma (id_turma) ); insert into tb_turma (nm_turma, nr_ano_letivo, nm_curso) values ('INFO Y', 2021, 'Informática'), ('ADM X', 2021, 'Administração'), ('ING T', 2021,'Inglês'), ('CV N', 2021, 'Comunicação Visual'); insert into tb_alunos (id_turma, ds_sexo, nm_aluno, nr_chamada, tp_status) Values (1, 'Masculino', 'João Gregorio Branco', 10, 'F' ), (3, 'Masculino', 'Guilherme da Silva', 05, 'F' ), (3, 'Feminino', 'Michelle Fonseca', 25, 'F' ), (1, 'Masculino', 'João Pedro Silva', 28, 'T' ), (1, 'Masculino', 'Igor Lima Charles', 18, 'F' ), (3, 'Feminino', 'Letícia Rodriguês', 12, 'F' ), (4, 'Masculino', 'Nicolas Lima', 40, 'F' ), (1, 'Feminino', 'Bárbara Lorena', 32, 'T' ), (1, 'Masculino', 'Yolanda Lombard', 43, 'T'); update tb_alunos set tp_status = 'T' where id_aluno = 9; update tb_alunos set nm_aluno = 'Yasmin Lombard' where id_aluno = 10; delete from tb_alunos where id_aluno = 2 and 6; ``` ## Query SQL: TB_ALUNOS ```sql= select * from tb_alunos; /* Selecionar turma, nome e chamada da tabela alunos filtrando por turma. */ select T.nm_turma, A.nm_aluno, A.nr_chamada from tb_alunos A inner join tb_turma T on A.id_turma = T.id_turma where T.nm_turma like '%INFO Y%'; /* Selecionar todos campos da tabela alunos filtrando por nome e turma de forma parcial. */ select A.* from tb_alunos A inner join tb_turma T on A.id_turma = T.id_turma where T.nm_turma like '%ING T%' and A.nm_aluno Like 'Michelle Fonseca'; /* Selecione ano letivo, turma, nome, chamada, sexo da tabela alunos filtrando os frequentes por turma e ano letivo. */ select T.nr_ano_letivo, T.nm_turma, A.nm_aluno, A.nr_chamada, A.ds_sexo from tb_turma T inner join tb_alunos A on T.id_turma = A.id_turma where A.tp_status = 'F' and T.nm_turma = 'INFO Y' and T.nr_ano_letivo = 2021; /* Selecione nome, sexo da tabela alunos filtrando por ano, turma e sexo. */ select A.nm_aluno, A.ds_sexo from tb_alunos A inner join tb_turma T on A.id_turma = T.id_turma where A.ds_sexo like 'Feminino' and T.nm_turma = 'ING T' and T.nr_ano_letivo = 2021; /* Crie mais 5 consultas personalizadas */ select nm_aluno from tb_alunos A inner join tb_turma T on A.id_turma = T.id_turma where A.tp_status = 'T'; select ds_sexo from tb_alunos A inner join tb_turma T on A.id_turma = T.id_turma where T.nr_ano_letivo = 2021; select nm_curso from tb_alunos A inner join tb_turma T on A.id_turma = T.id_turma where T.nr_ano_letivo = 2021; select nm_aluno from tb_alunos A inner join tb_turma T on A.id_turma = T.id_turma where A.ds_sexo = 'Masculino' and T.nm_curso = 'Comunicação Visual'; select A.nm_aluno, T.nm_turma, A.nr_chamada from tb_alunos A inner join tb_turma T on A.id_turma = T.id_turma where A.nm_aluno like 'Y%' ```
{"metaMigratedAt":"2023-06-15T23:24:35.675Z","metaMigratedFrom":"Content","title":"**SESSION ONE: RECOMEÇAR - BANCO DE DADOS**","breaks":true,"contributors":"[{\"id\":\"80bf1c37-2722-44c2-96a3-490c9bac8b2e\",\"add\":6102,\"del\":0}]"}
Expand menu