Todos os projetos

04 · SQL · Modelagem Relacional

Da regra de negócio ao script executável.

Modelagem ponta a ponta de um banco de dados relacional para gestão acadêmica: levantamento de requisitos, conceitual, lógico, dicionário de dados, implementação física em MySQL e queries analíticas. Documentação técnica completa em padrão de entrega de mercado.

PapelModelagem & SQL
Período2025
TipoDBA · Documentação
StackMySQL · brModelo · Workbench
Modelo lógico, visão simplificada 18 tabelas · 3ª Forma Normal matricula aluno disciplina curso turma professor avaliacao

Contexto

Modelar bem é tão importante quanto consultar bem. Quando o schema é fraco, qualquer consulta que vier depois carrega o problema. Este projeto foi escolhido propositalmente para exercitar todo o ciclo de modelagem relacional , não só escrever SQL, mas projetar o domínio antes.

Problema

Construir, a partir de requisitos de negócio escritos em linguagem natural, um banco de dados para gestão acadêmica de uma faculdade: alunos, cursos, disciplinas, turmas, professores, matrículas e avaliações, com todas as integridades referenciais corretas e documentação que outra pessoa consiga manter no futuro.

Abordagem

  • Levantamento de requisitos escrito em prosa estruturada (não bullet points soltos).
  • Modelo conceitual: entidades, relacionamentos, cardinalidades em brModelo.
  • Modelo lógico: normalização até 3ª FN, com associativas para N:N e auto-relacionamento para hierarquia de pré-requisitos.
  • Dicionário de dados: toda coluna documentada com tipo, restrição, regra de domínio e finalidade (xlsx).
  • Implementação física: script DDL + DML + DQL idempotente em MySQL Workbench.
  • Queries analíticas: JOINs múltiplos, agregações, subqueries para perguntas de gestão acadêmica.

Entregas

18
Tabelas normalizadas (3ª FN)
100%
Script idempotente, executa N vezes
3
Documentos de apoio (docx, xlsx, .mer)

Decisões de modelagem

  • Tabelas associativas para N:N entre aluno↔disciplina (matricula) e disciplina↔professor (alocação).
  • Auto-relacionamento em disciplina para representar pré-requisitos sem schema duplicado.
  • Constraints explícitas: NOT NULL, UNIQUE, FK com ON DELETE escolhido caso a caso.
  • Soft delete em entidades históricas (matricula, avaliação), auditoria preservada.
  • Convenção de nomes consistente em snake_case, singular para entidade.

Resultado

O entregável é um pacote completo: alguém que pegue o repositório consegue executar o script, popular o banco com dados de exemplo, rodar queries analíticas e entender cada decisão lendo o dicionário de dados.

Esse é o padrão de entrega que aprendi na advocacia, relatório técnico não é tarefa cumprida quando você entende; é cumprida quando outra pessoa consegue continuar de onde você parou.

Stack

MySQL SQL brModelo MySQL Workbench Modelagem Relacional 3ª Forma Normal

Aprendizados

O ganho real desse projeto não foi o SQL, foi o processo. Escrever os requisitos em prosa primeiro, antes de desenhar qualquer tabela, obriga a pensar no domínio. Quase todo erro de schema é, na verdade, um erro de compreensão do negócio.

Também aprendi que script idempotente é um padrão de respeito ao próximo desenvolvedor. Quem for rodar amanhã não quer descobrir que tem que apagar tabela na mão.