🛠️ EVOLUÇÃO E ARQUITETURAS MODERNAS
Mudar a estrutura de um banco de dados em produção é um desafio técnico chamado Schema Evolution. 🛡️🧩
Objetivo: Dominar os comandos de alteração estrutural (ALTER TABLE), compreender a manipulação de dados semiestruturados (JSON) e diferenciar as arquiteturas SQL e NoSQL.
📗 PASSO 1: Evolução de Schema (ALTER TABLE)
Sistemas reais mudam. O comando ALTER TABLE permite que a tabela se adapte sem perda de dados.
📊 Ciclo de Adaptação
flowchart LR
V1[📄 Tabela V1] --> |"ADD COLUMN"| V2[📑 Tabela V2]
V2 --> |"ALTER COLUMN"| V3[⚙️ Tabela V3]
V3 --> |"DROP COLUMN"| V1
🐬 MySQL 8.4 (MODIFY)
-- Alterando o tipo de uma coluna existente
ALTER TABLE CONTATO MODIFY COLUMN APELIDO VARCHAR(50);
🐘 PostgreSQL 17 (ALTER TYPE)
-- Alterando o tipo de uma coluna existente
ALTER TABLE CONTATO ALTER COLUMN APELIDO TYPE VARCHAR(50);
📗 PASSO 2: JSON em Bancos Relacionais
Os SGBDs modernos (MySQL 8.4 e Postgres 17) suportam dados híbridos (NoSQL dentro do SQL).
| SGBD | Tipo de Dado | Operador de Extração |
|---|---|---|
| MySQL 8.4 | JSON | -> (ex: JSON->'$.NOME') |
| PostgreSQL 17 | JSONB | ->> (ex: JSONB->>'NOME') |
📗 PASSO 3: O Ecossistema NoSQL
Surgiu da necessidade de Escalabilidade Horizontal (adicionar mais servidores) em vez de apenas um servidor potente.
📊 Tipos de NoSQL
| Tipo | Exemplo | Aplicação Profissional |
|---|---|---|
| Documentos | MongoDB | Esquema flexível (JSON). |
| Chave-Valor | Redis | Cache e Sessoes ultrarápidas. |
| Grafos | Neo4j | Redes sociais e Fraudes. |
| Colunares | Cassandra | Big Data e Escala Global. |
✅ Verificação de Aprendizagem (Unidade IV)
1. No Postgres 17, qual operador extrai JSON como Texto Limpo?
a) ->
b) ->>
c) JSON_EXTRACT
2. O que ocorre no comando DROP SCHEMA VENDAS CASCADE?
a) Apaga o schema e tudo o que depende dele (Tabelas, FKs, Views).
b) Dá erro se houver tabelas.
➡️ Clique aqui para revelar o Gabarito (SPOILER) ⬅️
📊 Gabarito:
- Letra B. O
->>converte para TEXT. O->mantém como JSON. - Letra A. O
CASCADEé destrutivo e remove as dependências.
💡 Perspectiva do Arquiteto: SQL é para consistência. NoSQL é para volume e velocidade. O engenheiro moderno sabe usar ambos de forma híbrida. 🚀🛡️