Buscar

Desafio ADMINISTRAÇÃO DE BANCO DE DADOS - BD

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Desafio 
O banco de dados de sua empresa apresenta lentidão no seu desempenho. Você é 
analista e responsável por melhorar a performance do acesso e das consultas. Observe as 
informações: 
Tabela Vendas 
Produto Valor Vendedor Data 
TV LED 
Smart 43” 
2.350,00 João 2017-03-20 
Refrigerante 
350L 
1.670,00 Maria 2017-03-18 
Celular 5.5” QuadCore 960,00 Pedro 2017-03-18 
Máquina 
Lava/seca roupas 
2.330,00 João 2017-03-15 
MacBook Air 13.3” 6.450,00 Maria 2017-03-12 
Home Theater Bluetooth 7.1 850,00 Pedro 2017-03-10 
 
Modelagem 
Produto Text 
Valor Double 
Vendedor Text 
Data Timestamp 
 
Consulta das 3 maiores vendas 
SELECT*FROM Vendas 
ORDER BY Valor DESC 
 
Baseado nas tabelas, identifique os erros e mostre como você faria a otimização da 
modelagem da tabela, tipagem dos dados e das consultas. Apresente os dados da tabela 
e o código SQL da consulta. Justifique as suas escolhas. 
Sua resposta 
id Integer(int) Produto VarChar Valor decimal(10,2) Vendedor VarChar Data 
Timestamp Em relação aos campos da tabela: 1. Foi inserido o campo id no qual deve 
ser uma chave primária. Para aumentar o rendimento e uma futura busca nessa tabela. 2. 
Segundo pesquisa o Varchar ( tipo) no caso do Produto aceita até 8000 caracteres aprox. 
3. O Valor pode ser Decimal com a devida formatação. 4. O Vendedor é VarChar não é 
uma string longa. Para a CONSULTA EM SQL: SELECT id, Produto, Valor, 
Vendedor, Data FROM Vendas ORDER BY Valor DESC Se for o caso usar uma 
mascara para a visualização da data. 
Enviado em: 17/10/2021 20:46 
Padrão de resposta esperado 
Foram encontrados vários erros que prejudicam a performance do servidor de banco de 
dados: 
 
- A Tabela de Vendas não apresenta a coluna ID_Vendas para indexação da tabela. 
- A Modelagem apresenta erros na tipagem dos dados de todas as colunas. 
- Produto → Deve ser usada a tipagem VarChar(100), ao invés de Text (por ser uma 
informação muito curta). 
- Valor → Deve ser usada a tipagem Float, ao invés de Double (porque ocupa metade da 
memória). 
- Vendedor → Deve ser usada a tipagem VarChar(20), ao invés de Text (por ser uma 
informação muito curta). 
- Data → Deve ser usada a tipagem Date, ao invés de Timestamp (por ocupar menos 
memória). 
 
Quanto à consulta, ela também apresenta lentidão no tempo de resposta, já que todas as 
colunas e todos os registros são selecionados. No caso de milhões de registros, o 
sistema ficaria extremamente lento, já que o objetivo é apenas as 3 maiores vendas. 
O SQL Código ideal para consulta seria assim: 
SELECT ID_vendas, Produto, Valor, Vendedor, Data 
FROM Vendas 
ORDER BY Valor LIMIT 3.

Continue navegando