🧠 Quiz: Tipagem e Otimização MySQL
1. Para armazenar a idade de uma pessoa (0 a 120 anos) ocupando o menor espaço possível, qual tipo usar?
2. Por que usar DECIMAL(10,2) para preços em vez de FLOAT?
3. Um campo ID que chegará a 5 bilhões de registros deve ser de qual tipo?
4. O que define o parâmetro (10,4) em um campo DECIMAL(10,4)?
5. Qual o impacto direto de escolher tipos de dados maiores do que o necessário?
Estrutura de Dados - Prof. Carlos Tojeiro
MySQL
-- Criando o banco de dados
CREATE DATABASE MicroMercado;
USE MicroMercado;
-- Exercício 1: Micro-Mercado (Foco em economia e precisão)
CREATE TABLE PRODUTO (
id_produto SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nome_produto VARCHAR(100) NOT NULL,
preco_venda DECIMAL(10,2) NOT NULL,
quantidade_estoque INT DEFAULT 0,
status_ativo TINYINT(1) DEFAULT 1 -- 1 para Ativo, 0 para Inativo
);
-- Exercício 2: Monitoramento de Sensores (Foco em Big Data e performance)
CREATE TABLE LEITURA_SENSOR (
id_leitura BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
valor_temperatura FLOAT NOT NULL,
data_hora DATETIME DEFAULT CURRENT_TIMESTAMP,
bateria_sensor TINYINT UNSIGNED -- Valor de 0 a 100 cabe em 1 byte
);
-- Exercício 3: Folha de Pagamento (Foco em alta precisão financeira)
CREATE TABLE FUNCIONARIO (
id_funcionario INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
salario_base DECIMAL(15,2) NOT NULL,
percentual_bonus DECIMAL(6,5), -- Exemplo: 1.12534%
total_filhos TINYINT UNSIGNED DEFAULT 0
);
// Apagar o Banco de Dados
DROP DATABASE nome_do_banco;
Nenhum comentário:
Postar um comentário