Modelagem de dados
Essa guia terá como objetivo apresentar a modelagem de dados, desde seus primeiros passos com banco pequenos até a modelagem para bancos Big Data.
O que é Modelagem de dados?
A modelagem de dados está associada com as informações gerenciadas pela aplicação. Quase todos os sistemas lidam com dados - por exemplo, um sistema de vendas precisa armazenar os dados do cliente, do produto, as vendas geradas etc. Um aplicativo mobile de busca precisa acessar algum back-end para obter os dados solicitados - a lista de exemplos é imensa.
A pergunta é: como ‘mapear’ corretamente os dados que serão coletados e armazenados pela aplicação?
A modelagem de dados é uma técnica que lida com esse tipo de questão, fornecendo processos e ferramentas para auxiliar o programador na gestão dos dados armazenados.
Como você pode perceber, a modelagem de dados é um assunto mais relacionado aos sistemas back-end, ou seja, os sistemas que lidam e processam dados - para serem entregues aos sistemas front-end.
A modelagem de dados é a base para a construção de um sistema.
- A modelagem de dados é similar a modelagem de classes.
- A associação entre entidades é similar às associações entre classes.
Por que aprender Modelagem de dados?
Se você pretende se tornar um programador Back-end ou um programador Full Stack, então aprender a modelar os dados da aplicação é um conhecimento fundamental.
Sistemas back-end vão lidar com dados e você precisa mapear estes dados corretamente. A forma como os dados são mapeados é um pilar, ou seja, vai impactar a aplicação como um todo.
Por exemplo, imagine que sua aplicação armazena dados de clientes. Você modelou um campo na tabela ‘Cliente’ para armazenar o número de telefone do usuário. Veja o exemplo:
Tabela Clientes
Código do cliente
Nome do cliente
Telefone do cliente
Agora suponha que por algum motivo a aplicação precise armazenar novos números de telefone, tais como ‘telefone do trabalho’ ou ‘telefone de contato de emergencia’. Como resolver isso? Criando novos campos na tabela Clientes? Ou criando uma nova tabela para armazenar mais telefones?
Esse tipo de questionamento vai surgir o tempo todo durante um projeto de software e é por esse motivo que aprender modelagem de dados é uma excelente escolha.
Através da modelagem de dados é possível:
- Criar a estrutura de dados do sistema.
- Definir o funcionamento e o comportamento de cada entidade.
- Criar a base do banco de dados
Exemplo de Modelagem de dados
Veja abaixo um exemplo de modelo físico de dados:

Através da modelagem de dados é possível:
- Levantar os requisitos de um sistema - funcionalidades e comportamentos esperados.
- Projetar o esquema interno de um banco de dados.
- Explorar o relacionamento entre as entidades.
Carreira Back-end e Modelagem de dados
Durante sua carreira de programador back-end, você vai se deparar o tempo todo com a necessidade de trabalhar com banco de dados, e é nesse contexto que a Modelagem de dados se torna importante.
Sistemas web, aplicativos e jogos precisam de uma modelagem bem feita para que executem sem problemas, possam escalar de tamanho e complexidade e também para que a sua manutenção não tenha um custo alto.
Por isso, qualquer programador que deseja evoluir na área back-end deve aprender a trabalhar com Modelagem de dados.
- A modelagem de dados é muito utilizado na carreira de programador.
- Sistemas simples e complexos precisam de uma boa modelagem para que sejam fáceis de manutenção e escaláveis.
O que você vai aprender sobre Modelagem de dados na DevMedia
Por que aprender na DevMedia?
Estudar tecnologia na DevMedia é uma experiência única. Nossa metodologia de ensino é baseada nos seguintes pilares:
Plano de estudo orientado
Didática simples e fácil de entender
Exercícios gamificados para praticar
Suporte ao aluno 24 horas
Comunidade ativa de alunos
Encontro semanais com experts
Casos de sucesso da DevMedia
Confira outros conteúdos
Veja todos os conteúdos
2 Conquistas
Aprenda como trabalhar com esse banco de dados para se tornar um DBA MySQL.
Fundamentos do banco de dados MySQL
Stored Procedures e Triggers
Full-text Search
Tabelas e Índices
Views
100 exerícios
17 conteúdos
Intermediário

2 Conquistas
Teste de software consiste em uma série de processos com o objetivo de verificar a qualidade de um software.
Testes unitários
Testes funcionais
Testes de integração
Testes de performance
Testes de segurança
50 exerícios
27 conteúdos
Avançado

5 Conquistas
O Scrum é um framework estrutural para gestão de projetos com o foco no produto final.
Product Owner
Scrum Master
Time
Backlog
Kanban
50 exercícios
25 conteúdos
Intermediário

2 Conquistas
O Oracle é um sistema de gerenciamento de banco de dados relacional (SGBD) criado pela Oracle Corporation que utiliza a linguagem PL/SQL
Tabelas e índices
Views
PL/SQL
Stored Procedures, Functions e Triggers
Oracle para DBAs
100 exercícios
37 Conteúdos
Avançado

3 Conquista
O PostgreSQL é um sistema de gerenciamento de bancos de dados objeto-relacional de uso geral
Tabelas e índices
Views
Stored procedures, Functions e Triggers
Full-Text Search
PostgreSQL para DBAs
50 exercícios
19 conteúdos
Avançado

2 Conquistas
SQL (Structured Query Language) é a linguagem padrão de manipulação de bancos de dados relacionais.
Fundamentos do SQL
Comandos SQL
Group by e Funções
Join
Subqueries
100 exercícios
41 conteúdos
Iniciante