# Final Session | Banco de Dados **Autor**: Vitório Trindade Santana **Turma**: Informática C **Número**: 50 [toc] ## Modelagem 1: Catálogo Loja Apps > Create Script ```sql= CREATE TABLE TB_Apps ( ID_Apps int primary key auto_increment, NM_Nome varchar (40), DS_Genero varchar (30), BT_Disponivel_App_store bool, BT_Disponivel_Google_Play bool, DT_Ultima_Atualizacao date, QTD_Tamanho decimal (4, 2), NM_Criador varchar (30), VL_Avaliacao decimal (2, 1), QTD_Total_Downloads int ); ``` > Insert Script ```sql= INSERT INTO TB_Apps (NM_Nome, DS_Genero, BT_Disponivel_App_store, BT_Disponivel_Google_Play, DT_Ultima_Atualizacao, QTD_Tamanho, NM_Criador, VL_Avaliacao, QTD_Total_Downloads) values ('Discord', 'Comunicação', true, true, '2021-04-01', 67.04, 'Discord Inc.', 4.5, 100000000), ('Netflix', 'Entreterimento', true, true, '2021-04-07', 18.37, 'Netflix, Inc.', 4.4, 1000000000), ('Instagram', 'Social', true, true, '2021-04-12', 35.81, 'Instagram', 4.4, 1000000000); ``` > Select Script ```sql= -- Consulta por aplicativos com mais de 30mb e uma avaliação maior que 4 SELECT NM_Nome, DS_Genero FROM TB_Apps WHERE QTD_Tamanho > 30 AND VL_Avaliacao > 4; -- Consulta por aplicativos que tenham um total de downloads maior ou igual que um bilhão ou que o gênero seja comunicação SELECT NM_Nome, QTD_Total_Downloads FROM TB_Apps WHERE QTD_Total_Downloads >= 1000000000 OR DS_Genero IN ('Comunicação'); ``` ## Modelagem 2: Países > Create script ```sql= CREATE TABLE TB_Paises ( ID_Paises int primary key auto_increment, NM_Nome varchar (30), NM_Sigla varchar (10), QTD_Populacao int, QTD_Area int, DT_Data_Aniversario date, VL_Pib decimal (15, 2), NM_Continente varchar (20), NM_Capital varchar (20), DS_Idioma varchar (20) ); ``` > Insert script ```sql= INSERT INTO TB_Paises (NM_Nome, NM_Sigla, QTD_Populacao, QTD_Area, DT_Data_Aniversario, VL_Pib, NM_Continente, NM_Capital, DS_Idioma) values ('Peru', 'PE', 32510000, 1285000, '2021-07-28', 1270000000, 'América', 'Lima', 'Castelhano'), ('Brasil', 'BR', 212000000, 851600, '2021-09-07', 7400000000 , 'América', 'Brasília', 'Português Brasileiro'), ('Nova Zelândia', 'NZ', 4917000, 268.021, '2021-09-26', 1158640000, 'Oceania', 'Wellington', 'Inglês'); ``` > Select script ```sql= -- Consulta por países que tenham a data de aniversário entre junho e julho e que tenham uma população maior que 30 milhões de habitantes. SELECT * FROM TB_Paises WHERE DT_Data_Aniversario between '2021-06-01' and '2021-07-30' AND QTD_Populacao > 30000000; -- Consulta por países que tenham uma populacação maior que 20 milhões de habitantes e que são da América. SELECT * FROM TB_Paises WHERE QTD_Populacao > 20000000 AND NM_Continente IN ('América'); ``` ## Modelagem 3: Clube Futebol > Create script ```sql= CREATE TABLE TB_Clube_de_Futebol ( ID_Clube_de_Futebol int primary key auto_increment, NM_Nome varchar(50), NM_Sigla varchar(10), NM_Pais varchar(40), NM_Cidade varchar(40), DT_Data_Fundacao date, QTD_Total_Titulos int, NM_Presidente varchar(70), QTD_Capacidade_Estadio int, NM_Estadio varchar(100) ); ``` > Insert script ```sql= INSERT INTO TB_Clube_de_Futebol (NM_Nome, NM_Sigla, NM_Pais, NM_Cidade, DT_Data_Fundacao, QTD_Total_Titulos, NM_Presidente, QTD_Capacidade_Estadio, NM_Estadio) values ('Sao Paulo Futebol Clube','SPFC','Brasil','São Paulo','1930-01-25',41,'Julio Casares', 66795, 'Morumbi'), ('LIverpool', 'L.F.C','inglaterra','Liverpool', '1892-06-03', 63 ,'Peter Moore', 53594, 'Anfield'), ('Paris Saint-Germain', 'PSG', 'França', 'Paris', '1970-08-12', 44, 'Nasser Al-Khelaif', 48583, 'Parc de Princes'); ``` > Select script ```sql= -- Consultar os clubes de futebol que tenham mais que 30 títulos e que o nome do país comece com "F". SELECT NM_nome ,NM_Pais FROM TB_Clube_de_Futebol WHERE QTD_Total_titulos > 30 AND NM_Pais like 'F%'; -- Consultar os clubes de futebol que tenham mais que 50 titulos ou que a capacidade do estádio seja maior que 50 mil. SELECT * FROM TB_Clube_de_Futebol WHERE QTD_Total_Titulos > 50 OR QTD_Capacidade_Estadio > 50000; ``` ## Modelagem 4: Música > Create script ```sql= CREATE TABLE TB_Musica ( ID_Musica int primary key auto_increment, NM_Nome varchar (20), NM_Artista varchar (15), NM_Album varchar (20), DS_Genero varchar (20), DT_Data_Lancamento date, QTD_Total_Views int, QTD_Duracao varchar (10) ); ``` > Insert script ```sql= INSERT INTO TB_Musica (NM_Nome, NM_Artista, NM_Album, DS_Genero, DT_Data_Lancamento, QTD_Total_Views, QTD_Duracao) values ('Ballbreaker', 'AC/DC', 'Ballbreaker', 'Hard rock', '1995-09-26', 1627638, '4:31'), ('Tusk', 'Fleetwood Mac', 'Tusk', 'Pop rock', '1979-10-12', 6409042, '3:18'), ('Sorairo Days', 'Shoko Nakagawa', 'Big Bang!!!', 'Pop japonês', '2014-04-30', 3472287, '4:12'); ``` > Select script ```sql= -- Consultar músicas que tenham o gênero rock e que a data de lançamento esteja entre 01/01/1975 e 01/01/2000. SELECT * FROM TB_Musica WHERE DS_Genero like '%rock%' AND DT_Data_Lancamento BETWEEN '1975-01-01' AND '2000-01-01'; -- Consultar músicas que tenham mais de um milhão de views e que tenham 4 minutos. SELECT NM_Nome, QTD_Total_Views, QTD_Duracao FROM TB_Musica WHERE QTD_Total_Views > 1000000 AND QTD_Duracao like '%4:%'; ``` ## Modelagem 5: Concessionária > Create script ```sql= CREATE TABLE TB_Concessionaria ( ID_Concessionaria int primary key auto_increment, NM_Modelo varchar (20), NM_Marca varchar (20), DT_Ano_Fabricacao date, DT_Ano_Modelo date, BT_Possui_Direcao_Hidraulica bool, BT_Possui_Ar_Condicionado bool, QTD_Kilometragem int, VL_Preco decimal (10, 2), DS_Cor varchar (20) ); ``` > Insert script ```sql= INSERT INTO TB_Concessionaria (NM_Modelo, NM_Marca, DT_Ano_Fabricacao, DT_Ano_Modelo, BT_Possui_Direcao_Hidraulica, BT_Possui_Ar_Condicionado, QTD_Kilometragem, VL_Preco, DS_Cor) values ('Corsa wind', 'Chevrolet', '1994-03-25', '1995-03-25', false, false, 356670, 3576.90, 'Preto'), ('Punto ELX', 'Fiat', '2010-02-27', '2010-04-15', true, false, 120430, 19570.90, 'Branco/Preto'), ('Civic', 'Honda', '2002-01-12', '2002-03-15', false, false, 234970, 12790, 'Preto'); ``` > Select script ```sql= -- Consultar um carro que tenha direção hidráulica e tenha um preço menor que 25 mil. SELECT * FROM TB_Concessionaria WHERE BT_Possui_Direcao_Hidraulica IS true AND VL_Preco < 25000; -- Consultar um carro que tenha uma kilometragem menor que 250 mil km ou que tenha um preço menor que 15 mil. SELECT NM_Modelo, NM_Marca, QTD_Kilometragem FROM TB_Concessionaria WHERE QTD_Kilometragem < 250000 OR VL_Preco < 15000; ``` ## Modelagem 6: Computador > Create script ```sql= CREATE TABLE TB_Computador ( ID_Computador int primary key auto_increment, NM_Marca varchar (20), NM_Processador varchar (20), QTD_Memoria_Ram int, QTD_Armazenamento int, NM_Sistema_Operacional varchar (30), BT_Vem_com_Office bool, QTD_Tamanho decimal (3,1), VL_Preco decimal (10,2) ); ``` > Insert script ```sql= INSERT INTO TB_Computador (NM_Marca, NM_Processador, QTD_Memoria_Ram, QTD_Armazenamento, NM_Sistema_Operacional, BT_Vem_Com_Office, QTD_Tamanho, VL_Preco) values ('Lenovo', 'Ryzen 5 3600', 12, 240, 'Windows 10 Pro', true, 16.5, 3400), ('Asus', 'Intel Core i5 9400f', 16, 500, 'Windows 7', true, 17, 2800), ('Acer', 'Ryzen 5 2500u', 8, 1000, 'Windows 10 Home', true, 15, 2400); ``` > Select script ```sql= -- Consultar um computador que venha com Office e tenha um preço menor que 3 mil. SELECT * FROM TB_Computador WHERE BT_Vem_com_Office IS true AND VL_Preco < 3000; -- Consultar um computador que tenha um armazenamento maior ou igual que 500gb, um tamanho maior que 16 e mais que 12gb de ram . SELECT * FROM TB_Computador WHERE QTD_Armazenamento > 500 AND QTD_Tamanho > 16 AND QTD_Memoria_Ram > 12; ```
{"metaMigratedAt":"2023-06-15T22:53:34.974Z","metaMigratedFrom":"Content","title":"Final Session | Banco de Dados","breaks":true,"contributors":"[{\"id\":\"052c8e10-b233-429a-a1e0-0d8df7864830\",\"add\":8943,\"del\":61}]"}
Expand menu