🏗️ CAPÍTULO 02: FUNDAMENTOS DE SGBDS E SISTEMAS DE ARQUIVOS
Seja bem-vindo(a) à base da pirâmide do conhecimento em tecnologia. Nesta unidade, desconstruiremos a forma como as aplicações modernas armazenam e processam seu maior ativo: o Dado. 🛡️🧩
🎯 Objetivo Curricular
Compreender a diferença técnica entre dados e informações, a anatomia de um SGBD moderno e os quatro pilares (Autodescrição, Abstração, Visões e Concorrência) que tornam o modelo relacional indispensável para empresas.
🏢 O Cenário Prático (Seu Desafio)
Imagine que você assumiu como Arquiteto de Banco de Dados na TecProExpress. A empresa atualizou o sistema de rastreamento de entregas, mas o setor de atendimento ainda salva os contatos dos clientes no Excel.
"Seu desafio é demonstrar para a diretoria, de forma técnica e prática, por que manter dados de clientes em planilhas gera inconsistência e por que a TecProExpress deve centralizar tudo no novo SGBD."
🧠 Fundamentos: A Teoria Traduzida
1. O Ciclo de Vida da Informação
Na engenharia de software de alta performance, trabalhamos com ativos que seguem um fluxo de valor:
flowchart TD
D["📄 DADO<br/>Fato Bruto"] --> P{"⚙️ SGBD<br/>Processamento"}
P --> I["📊 INFORMAÇÃO<br/>Conhecimento"]
I --> V["💰 VALOR<br/>Decisão Estratégica"]
🔍 Detalhamento do Fluxo:
- DADO: Um fato isolado, por exemplo, o texto
"TecProExpress". Sozinho, ele é mudo. - INFORMAÇÃO: O dado contextualizado.
"TecProExpress é o nosso cliente VIP de transporte". - BANCO DE DADOS (DB): Uma coleção de dados logicamente relacionados.
- SGBD (Sistema Gerenciador): O motor de execução (ex: MySQL 8.4) que processa esses dados em alta velocidade.
2. Por que não usar planilhas?
| Característica | Planilhas (Excel) 📁 | SGBD Relacional (MySQL/Postgres) 🛡️ |
|---|---|---|
| Redundância | Alta (nomes repetidos) | Minimizada e controlada |
| Integridade | Depende de quem digita | Automática com Constraints (CHECK, PK) |
| Acesso Simultâneo | Bloqueia o arquivo para outros | Permite milhares de transações ao mesmo tempo |
📖 Exemplo Guiado: Protegendo os Dados (DDL -> DML)
A principal vantagem do SGBD é a Integridade. Veja como o SGBD impede erros que uma planilha permitiria. Lembre-se do fluxo obrigatório: primeiro desenhamos a tabela (DDL), depois inserimos o dado (DML).
🛠️ Código do Exemplo
-- PASSO 1: DDL (Criação da Estrutura com Regras)
CREATE TABLE cliente_vip (
id INT PRIMARY KEY,
nome VARCHAR(100) NOT NULL,
limite_credito DECIMAL(10,2) CHECK (limite_credito >= 0)
);
-- PASSO 2: DML (Inserção Válida)
INSERT INTO cliente_vip (id, nome, limite_credito) VALUES (1, 'TecProExpress', 5000.00);
-- PASSO 3: Tentativa de Erro (O SGBD bloqueia!)
-- INSERT INTO cliente_vip (id, nome, limite_credito) VALUES (2, 'Transportadora B', -100.00);
🔍 Detalhamento do Código:
NOT NULL: Regra que impede que um cliente seja salvo sem nome. (No Excel, isso passaria).CHECK (limite_credito >= 0): Regra matemática. O SGBD recusa qualquer limite de crédito negativo. O Passo 3 falharia de propósito para proteger os dados.
🛠️ Prática Obrigatória: Abstração de Dados
Cenário: O catálogo interno da TecProExpress. Um SGBD guarda a "receita" do banco (Metadados) em um Catálogo interno. Isso permite que diferentes perfis vejam o mesmo dado de formas diferentes.
- Crie uma visão (View) simulando o painel de um Gerente, que quer ver os dados de faturamento.
- Não se preocupe se errar a sintaxe avançada, foque na estrutura.
🚀 Script de Seed (Gabarito de Visão)
-- PASSO 1: DDL (Criar Tabela Mestre)
CREATE TABLE faturamento (
id INT PRIMARY KEY,
filial VARCHAR(50),
lucro_total DECIMAL(15,2)
);
-- PASSO 2: DML (Popular)
INSERT INTO faturamento VALUES (101, 'São Paulo', 250000.00);
INSERT INTO faturamento VALUES (102, 'Rio de Janeiro', 180000.00);
-- PASSO 3: DDL (Criar a VIEW - Visão do Usuário)
CREATE VIEW relatorio_gerente AS
SELECT filial, lucro_total FROM faturamento WHERE lucro_total > 200000;
🔍 Detalhamento do Seed:
- CREATE VIEW: Cria um "atalho" ou "lente virtual" que filtra os dados originais. O Gerente só verá a filial de São Paulo.
📤 Instruções de Entrega (Microsoft Teams)
Após validar seus códigos práticos e de estudo:
Use o operador e para critérios rigorosos e ou para critérios flexíveis. Salve os arquivos com a extensão .sql (Ex: Atividade_XX_SeuNome.sql ou Atividade_XX_SeuNome.png ou Atividade_XX_SeuNome.drawio
💡 Checkpoint de Lógica
[!IMPORTANT] Reflexão Profissional: Qual a diferença entre um DB (Database) e um DBMS (Sistema Gerenciador de Banco de Dados)? O DB é o arquivo salvo no disco rígido. O DBMS é o software (MySQL, Postgres) que você usa para conversar com esse arquivo e garantir a segurança dele de forma simultânea. 🧠🛡️