Exercício A


  • 01. Abra seu SGBD
MySQL, PostgreSQL, Oracle, ...


  • 02. Crie a tabela Climas
Create table Climas (
cidade varchar(50),
temp_min float,
temp_max float,
prcp float,
data date);


  • 03. Insira dados coletados na Web sobre as seguintes cidades
Belo Horizonte
insert into climas (cidade, temp_min, temp_max, prcp, data)
values ('Belo Horizonte', 22.0, 14.0, 24.0, '2015-06-21');
Cuiabá
insert into climas (cidade, temp_min, temp_max, prcp, data)
values ('Cuiabá', 31.0, 18.0, 1.0, '2015-06-21');
Curitiba
insert into climas (cidade, temp_min, temp_max, prcp, data)
values ('Curitiba', 20.0, 12.0, 3.0, '2015-06-21');
Fortaleza
insert into climas (cidade, temp_min, temp_max, prcp, data)
values ('Fortaleza', 26.0, 23.0, 11.0, '2015-06-21');
Uberlândia
insert into climas (cidade, temp_min, temp_max, prcp, data)
values ('Uberlândia', 22.0, 4.0, 4.0, '2015-06-21');


  • 04. Crie a tabela Cidades com os seguintes campos:
    • Nome(Str) , Habitantes (Int) , NomeEstado (Str), Aniversário (Date) , Area (Km2) (Float)
Create table Cidades (
Nome varchar(50),
Habitantes Integer,
NomeEstado varchar(30),
Aniversário Date,
Area Float);


  • 05. Insira dados na tabela acima
insert into cidades (Nome, Habitantes, NomeEstado, Aniversário, Area)
values ('Belo Horizonte', 2479175, 'MG', '1897-12-12', 330.95) ;
insert into cidades (Nome, Habitantes, NomeEstado, Aniversário, Area)
values ('Cuiabá', 575480 , 'MT', '1719-04-08', 3538.167) ;
insert into cidades (Nome, Habitantes, NomeEstado, Aniversário, Area)
values ('Fortaleza', 8166.56 , 'CE', '1726-04-13', 314.930) ;
insert into cidades (Nome, Habitantes, NomeEstado, Aniversário, Area)
values ('Uberlândia', 15712 , 'MG', '1888-08-31', 4115822.0) ;
insert into cidades (Nome, Habitantes, NomeEstado, Aniversário, Area)
values ('Curitiba', 1864416 , 'PR', '1693-03-29', 435036) ;


  • 06. Crie os índices nome e Aniversário
CREATE INDEX IndNome
ON Cidades (Nome);
CREATE INDEX IndAniversario
ON Cidades (Aniversário);


  • 07. Altere o nome do Campo Habitantes para NroHabitantes
ALTER TABLE cidades CHANGE Habitantes NroHabitantes varchar(50);


  • 08. Crie a tabela Eventos com os seguintes campos:
    • NomeEvento (Str) , Data (Date) , Horário (Int), Local (Str), Preço (Float)
Create table Eventos (
NomeEvento varchar(50),
Data Date,
Horário Integer,
Local varchar(50),
Preço Float );


  • 09. Insira dados de eventos quaisquer para as cidades
  • 09. Insira dados de eventos quaisquer para as cidades
Insert into table EVentos (NomeEvento, Data, Horário, Local, Preço)
values ('Lo Borges', '2015-12-22', 21, 'Belo Horizonte', 30.0);
Insert into EVentos (NomeEvento, Data, Horário, Local, Preço)
values ('Sá e Guarabira', '2015-11-12', 22, 'Belo Horizonte', 25.0);
Insert into EVentos (NomeEvento, Data, Horário, Local, Preço)
values ('Jota Quest', '2015-09-12', 21, 'Belo Horizonte', 35.0);
Insert into EVentos (NomeEvento, Data, Horário, Local, Preço)
values ('Alexandre Pires', '2015-08-14', 21, 'Uberlândia', 30.0);
Insert into EVentos (NomeEvento, Data, Horário, Local, Preço)
values ('Só pra contrariar', '2015-10-21', 22, 'Uberlândia', 25.0);
Insert into EVentos (NomeEvento, Data, Horário, Local, Preço)
values ('Lucas Lucco', '2015-07-13', 21, 'Uberlândia', 25.0);
Insert into EVentos (NomeEvento, Data, Horário, Local, Preço)
values ('Lenine', '2015-06-23', 22, 'Curitiba', 35.0);
Insert into EVentos (NomeEvento, Data, Horário, Local, Preço)
values ('Luan Santana', '2015-08-25', 21, 'Curitiba', 35.0);
Insert into EVentos (NomeEvento, Data, Horário, Local, Preço)
values ('Elba Ramalho', '2015-07-22', 21, 'Cuiabá', 25.0);
Insert into EVentos (NomeEvento, Data, Horário, Local, Preço)
values ('Banda Malta', '2015-09-02', 22, 'Cuiabá', 20.0);
Insert into EVentos (NomeEvento, Data, Horário, Local, Preço)
values ('Seu Jorge', '2015-11-11', 22, 'Fortaleza', 30.0);
Insert into EVentos (NomeEvento, Data, Horário, Local, Preço)
values ('Sorriso Maroto', '2015-12-22', 21, 'Fortaleza', 25.0);


  • 10. Gere um relatório mostrando os dados da Cidade
Select * from cidades;


  • 11. Gere um relatório mostrando apenas Nome, Estado e Area das Cidades
Select Nome, Area, NomeEstado from cidades;


  • 12. Gere um relatório mostrando Nome, NomeEstado e Area das Cidades em ordem alfabética de Nome
Select Nome, Area, NomeEstado from cidades
order by Nome;


  • 13. Gere um relatório mostrando Nome, NomeEstado e Area das Cidades em ordem descendente de Nome
Select Nome, Area, NomeEstado from cidades
order by Nome desc;


  • 14. Gere um relatório com as cidades que possuem eventos
Select distinct local from eventos


  • 15. Gere uma view com as cidades de Minas Gerais
create view ViewCidade AS
select nome
from cidades
where NomeEstado = 'MG'


select * from viewcidades


  • 16. Gere uma view com todos os dados de Cidades com seus eventos


  • 17. Exclua a cidade de Curitiba


  • 18. Recupere a tabela com a cidade de Curitiba


  • 19. Inclua a tabela Estados com os seguintes campos:
    • UF (Int), NomeEstado (Str), Regiao (Str)


  • 20. Insira dados para a tabela Estados


  • 21. Gere uma view que mostre os novos dados


  • 22. Altere a chave da Tabela Cidades para NomeAbreviadoCidade