Modelagem de dados Conceitual, Lógica e Física

Modelagem de dados é o processo de criação de uma representação visual de todo um sistema de informação ou de partes dele para comunicar conexões entre pontos de dados e estruturas. 

O objetivo é ilustrar os tipos de dados utilizados e armazenados no sistema, as relações entre esses tipos de dados, as formas como os dados podem ser agrupados e organizados e seus formatos e atributos.

Os modelos de dados são construídos em torno das necessidades do negócio. As regras e os requisitos são definidos antecipadamente através do feedback das partes interessadas do negócio, para que possam ser incorporados no design de um novo sistema ou adaptados na iteração de um sistema existente.

Os dados podem ser modelados em vários níveis de abstração. O processo começa com a coleta de informações sobre os requisitos de negócios das partes interessadas e dos usuários finais.

Essas regras de negócios são então traduzidas em estruturas de dados para formular um projeto concreto de banco de dados. 

Um modelo de dados pode ser comparado a um roteiro, um projeto de arquiteto ou qualquer diagrama formal que facilite uma compreensão mais profunda do que está sendo projetado.

A modelagem de dados emprega esquemas padronizados e técnicas formais. Isso fornece uma maneira comum, consistente e previsível de definir e gerenciar recursos de dados em uma organização ou mesmo fora dela.

Idealmente, os modelos de dados são documentos vivos que evoluem junto com as mudanças nas necessidades de negócios. Eles desempenham um papel importante no suporte aos processos de negócios e no planejamento da arquitetura e estratégia de TI. 

  1. Modelo Conceitual:
    • Pergunta: O QUÊ?
    • Visão do Negócio
    • Sem Detalhes Técnicos
    • Entidades e Relacionamentos
    • Atividade: Reuniões com Usuários
  2. Modelo Lógico:
    • Pergunta: COMO?
    • Estrutura Lógica
    • Independente de SGBD
    • Tabelas, Chaves, Atributos
    • Atividade: Design do Banco
  3. Modelo Físico:
    • Pergunta: IMPLEMENTAÇÃO
    • Banco de Dados Real
    • Específico para SGBD
    • Índices, Constraints, Tipos
    • Resultado: Banco Pronto para Usar

Progressão Lógica:

  • Conceitual → Lógico → Físico
  • Cada nível adiciona mais detalhe técnico
  • Do abstrato para o concreto

Primeiro passo: Entendimento do Negócio

Imagine que você vai construir uma casa. Você não começa comprando cimento e tijolos no primeiro dia. Primeiro, você desenha um esboço com o arquiteto para entender quantos quartos a casa terá (o conceito). Depois, faz uma planta baixa com as medidas e a disposição das portas (a lógica). Por fim, o engenheiro define a espessura da parede, a fiação e o tipo de encanamento (o físico).

Na Engenharia de Software e de Dados, o processo de criar um banco de dados segue exatamente a mesma lógica. A Modelagem de Dados é dividida em três fases: Conceitual, Lógica e Física.

Atividades:

  • Reuniões com stakeholders para entender o modelo de negócio, processos e objetivos da startup.
  • Análise de documentos e softwares utilizados pela contabilidade.
  • Levantamento dos requisitos de dados para cada área da empresa (financeiro, fiscal, clientes, etc.).

Exemplo: Identificar quais dados são necessários para registrar transações financeiras, gerar relatórios fiscais, gerenciar clientes e acompanhar indicadores de desempenho.

Modelagem Conceitual: A Visão de Negócio

O modelo conceitual é o mais alto nível de abstração. O foco aqui não é a tecnologia, mas sim entender as regras de negócio e como as informações se relacionam no mundo real. É um desenho feito para que gerentes, diretores e analistas de negócio consigam entender o sistema sem precisar saber programação.

Os modelos conceituais geralmente são criados como parte do processo de coleta dos requisitos iniciais do projeto. Normalmente, eles incluem classes de entidade (definindo os tipos de coisas que são importantes para o negócio representar no modelo de dados), suas características e restrições, os relacionamentos entre elas e os requisitos relevantes de segurança e integridade de dados. 

Objetivo: Criar uma representação abstrata das entidades, relacionamentos e atributos dos dados, independente de tecnologia.

Atividades:

  • Identificação das entidades principais (Cliente, Conta Bancária, Transação Financeira, Plano de Contas, Nota Fiscal, etc.).
  • Definição dos atributos de cada entidade (nome, CPF/CNPJ, data, valor, descrição, categoria, etc.).
  • Estabelecimento dos relacionamentos entre as entidades (um cliente possui várias contas bancárias, uma transação está associada a uma conta e a um plano de contas, etc.).
  • Criação de um Diagrama Entidade-Relacionamento (DER) para visualizar o modelo conceitual.

Exemplo Prático:

Em um sistema de biblioteca escolar:

  • Um Aluno pega emprestado um Livro.
  • O modelo conceitual mostrará apenas caixas para “Aluno” e “Livro”, unidas por uma linha representando o “Empréstimo”. Não nos importamos com o CPF do aluno ou o ISBN do livro ainda.

Esse modelo oferece uma visão geral do que o sistema conterá, como será organizado e quais regras de negócios estão envolvidas. 

2. Modelagem Lógica: A Estrutura da Informação

Esse modelo fornece maiores detalhes sobre os conceitos e relações no domínio em consideração. 

Os modelos lógicos não especificam nenhum requisito técnico do sistema. Este estágio é frequentemente omitido em práticas ágeis ou DevOps. 

Os modelos lógicos podem ser úteis em ambientes de implementação altamente processuais ou para projetos que são orientados a dados por natureza, como design de Data Warehouse ou desenvolvimento de sistemas de relatórios.

Objetivo: Transformar o modelo conceitual em um modelo mais detalhado, utilizando estruturas e regras específicas.

Atividades:

  • Definição das características detalhadas dos dados (tipo de dado, tamanho, formato, constraints, etc.).
  • Estabelecimento de regras de negócio (validações, gatilhos, etc.).
  • Criação de um Modelo Lógico de Dados (MLD) utilizando notações como UML.

Uma vez aprovado o conceito, avançamos para o modelo lógico. Aqui, começamos a adicionar detalhes estruturais aos dados, mas ainda sem nos prender a um banco de dados específico (como Oracle, MySQL ou PostgreSQL). Este modelo é geralmente construído por Arquitetos de Dados ou Analistas de Sistemas.

  • Objetivo: Responder como os dados serão estruturados e relacionados.
  • Elementos adicionados:
    • Atributos: As características das entidades (ex: Nome, Data de Nascimento, Preço).
    • Chaves Primárias (PK): O identificador único de cada registro (ex: ID_Cliente).
    • Chaves Estrangeiras (FK): O campo que cria a ligação entre duas tabelas.
    • Normalização: É aqui que aplicamos as Formas Normais (1FN, 2FN, 3FN) para evitar redundâncias.

Exemplo Prático (Tabelas Lógicas):

Tabela: LIVRO

id_livrotituloisbndescricaoid_autorid_categoriaquantidade_totalquantidade_disponiveldata_publicacaoidioma
1Dom Casmurro978-8535929003Romance clássico de Machado de Assis11531899-01-01Português
21984978-0451524935Distopia futurista de George Orwell22421949-06-08Inglês
3O Cortiço978-8535914689Romance naturalista de Aluísio Azevedo31311890-01-01Português
4O Pequeno Príncipe978-8525051696Fábula infantil de Antoine de Saint-Exupéry43641943-04-06Francês
5Grande Sertão Veredas978-8535915853Romance épico de Guimarães Rosa51211956-01-01Português

Tabela: AUTOR

id_autornomenacionalidadedata_nascimentobiografia
1Machado de AssisBrasileira1839-06-21Escritor brasileiro, considerado por muitos críticos o maior nome da literatura brasileira
2George OrwellBritânica1903-06-25Escritor inglês conhecido por seus romances distópicos
3Aluísio AzevedoBrasileira1857-04-14Escritor brasileiro pioneiro do naturalismo
4Antoine de Saint-ExupéryFrancesa1900-06-29Piloto e escritor francês, autor de O Pequeno Príncipe
5Guimarães RosaBrasileira1908-06-27Escritor mineiro, um dos maiores modernistas brasileiros

Tabela: CATEGORIA

id_categorianomedescricao
1RomanceNarrativas de ficção sobre a vida humana e relacionamentos
2DistopiaFicção científica que retrata sociedades futuras negativas
3InfantilHistórias e fábulas destinadas ao público infantil
4MistérioHistórias que envolvem suspense e investigação
5PoesiaTextos em verso com linguagem lírica e expressiva

Tabela: MEMBRO

id_membronomeemailtelefoneenderecodata_cadastrostatus
1João Silva[email protected](11) 98765-4321Rua A, 123 – São Paulo2024-01-15Ativo
2Maria Santos[email protected](11) 99876-5432Avenida B, 456 – São Paulo2024-02-20Ativo
3Pedro Oliveira[email protected](11) 97654-3210Rua C, 789 – São Paulo2024-03-10Ativo
4Ana Costa[email protected](11) 96543-2109Avenida D, 321 – São Paulo2024-01-25Inativo
5Carlos Mendes[email protected](11) 95432-1098Rua E, 654 – São Paulo2024-04-05Ativo

Tabela: EMPRESTIMO

id_emprestimoid_membroid_livrodata_emprestimodata_devolucao_previstadata_devolucao_realstatus
1112024-05-012024-05-152024-05-14Devolvido
2222024-05-032024-05-17NULLPendente
3342024-05-052024-05-19NULLPendente
4132024-04-202024-05-042024-05-06Devolvido com Atraso
5552024-05-022024-05-162024-05-15Devolvido

Entidades (Tabelas) e seus Atributos:

  1. LIVRO:
    • id_livro (Chave Primária)
    • titulo, isbn (Chave Única)
    • descricao, data_publicacao
    • quantidade_total, quantidade_disponível
    • id_autor (Chave Estrangeira)
    • id_categoria (Chave Estrangeira)
  2. AUTOR:
    • id_autor (Chave Primária)
    • nome, nacionalidade
    • data_nascimento, biografia
  3. CATEGORIA:
    • id_categoria (Chave Primária)
    • nome, descricao
  4. MEMBRO:
    • id_membro (Chave Primária)
    • nome, email (Chave Única)
    • telefone, endereco
    • data_cadastro, status
  5. EMPRESTIMO:
    • id_emprestimo (Chave Primária)
    • id_membro (Chave Estrangeira)
    • id_livro (Chave Estrangeira)
    • data_emprestimo, data_devolucao_prevista
    • data_devolucao_real, status

Relacionamentos:

  • Um LIVRO é escrito por Um AUTOR
  • Um LIVRO pertence a Uma CATEGORIA
  • Um LIVRO tem vários EMPRÉSTIMOs
  • Um MEMBRO realiza vários EMPRÉSTIMOs

Legenda

  • PK (Primary Key): Chave Primária – Identifica unicamente cada registro
  • FK (Foreign Key): Chave Estrangeira – Estabelece relacionamento com outra tabela
  • UK (Unique Key): Chave Única – Campo único que não pode ser duplicado

3. Modelagem Física: A Implementação Tecnológica

O modelo físico é a “mão na massa”. É aqui que o modelo lógico é traduzido para a linguagem de um Sistema Gerenciador de Banco de Dados (SGBD) específico. O Engenheiro de Dados ou o DBA (Database Administrator) define como os dados serão efetivamente gravados no disco do servidor.

  • Objetivo: Responder como o sistema vai armazenar os dados fisicamente, otimizando o desempenho.
  • Elementos adicionados:
    • Tipos de Dados (Data Types): Definir se um campo será VARCHAR(50), INT, DECIMAL(10,2) ou BOOLEAN.
    • Índices (Indexes): Criados para acelerar a busca de dados.
    • Restrições (Constraints): Regras do banco, como NOT NULL ou UNIQUE.
    • Particionamento: Decisões de arquitetura (como vimos no caso do Sharding e Partitioning).

Exemplo Prático (Especificação Física):

A tabela de Aluno agora ganha sua definição técnica, pronta para virar código SQL:

Nome da ColunaTipo de Dado (PostgreSQL)Restrição (Constraint)Descrição
id_alunoINTEGERPRIMARY KEY, AUTOINCREMENTIdentificador único numérico
nome_alunoVARCHAR(100)NOT NULLNome completo do aluno
matriculaVARCHAR(20)UNIQUE, NOT NULLCódigo de matrícula da escola
data_nascDATENULLData de nascimento (formato YYYY-MM-DD)

Quadro Resumo: Comparando as 3 Fases

Para facilitar a visualização e servir de material de estudo, aqui está a comparação direta:

CaracterísticaModelo ConceitualModelo LógicoModelo Físico
Público-AlvoGestores, Analistas de Negócio e Clientes.Arquitetos de Dados e Analistas de Sistemas.DBAs, Engenheiros de Dados e Desenvolvedores.
Nível de DetalheMuito baixo (Visão Macro).Médio (Visão Estrutural).Muito alto (Visão Técnica).
Dependência de SGBDNenhuma.Nenhuma (Agnóstico).Total (Depende se é MySQL, Oracle, etc.).
O que define?Entidades e Relacionamentos gerais.Atributos, Chaves (PK/FK) e Normalização.Tipos de dados, Índices, Views e Constraints.

Referências Importantes sobre o Tema

Se você deseja se aprofundar na literatura acadêmica e de mercado que padronizou esses conceitos, recomendo os seguintes pilares da engenharia de dados:

  1. Peter Chen (1976): Criador do Modelo Entidade-Relacionamento (MER), que é a base da modelagem conceitual até hoje. Seu artigo “The Entity-Relationship Model: Toward a Unified View of Data” mudou a história da computação.
  2. DAMA-DMBOK (Data Management Body of Knowledge): O guia oficial da Data Management Association. O capítulo de Data Modeling and Design estabelece os padrões globais da indústria para a criação de modelos lógicos e físicos em empresas de grande porte.
  3. Ralph Kimball e Bill Inmon: Para modelagem focada em Data Warehouses (OLAP), que utiliza modelagem dimensional (Star Schema/Snowflake), que é uma variação específica após a modelagem relacional clássica.
Compartilhe nas redes sociais:
Alexandre Polselli
Alexandre Polselli

Escrevo artigos e desenvolvo projetos nas minhas áreas de maior interesse: Engenharia de Dados e Data Science.

Artigos: 58