Antes de criar um banco de dados é necessário planejar como as informações serão armazenadas e relacionadas.
A modelagem de dados é o processo utilizado para representar a estrutura, organização e relacionamento das informações que serão armazenadas.
Modelagem de dados é a criação de uma representação visual e lógica das informações de um sistema.
Ela permite identificar entidades, atributos, relacionamentos e regras antes da implementação no banco de dados.
| Etapa | Descrição |
|---|---|
| Modelo Conceitual | Representa as informações de forma simples, sem detalhes técnicos. |
| Modelo Lógico | Define tabelas, atributos e relacionamentos. |
| Modelo Físico | Implementa a estrutura no banco de dados. |
O modelo conceitual representa a visão do negócio.
Neste momento não são definidos tipos de dados ou comandos SQL.
Cliente
|
realiza
|
Pedido
O objetivo é entender quais informações existem e como elas se relacionam.
O modelo lógico transforma as informações em estruturas que podem ser implementadas em um banco relacional.
CLIENTE
- id_cliente
- nome
- email
PEDIDO
- id_pedido
- data
- id_cliente
O modelo físico representa a implementação real no SGBD.
Nesta etapa são definidos comandos SQL, tipos de dados, índices e restrições.
CREATE TABLE cliente (
id_cliente INT PRIMARY KEY,
nome VARCHAR(100),
email VARCHAR(100)
);
| Elemento | Descrição |
|---|---|
| Entidade | Objeto ou informação importante do sistema. |
| Atributo | Característica de uma entidade. |
| Relacionamento | Ligação entre entidades. |
| Chave Primária | Identifica cada registro. |
Sistema de uma escola:
| Entidade | Atributos |
|---|---|
| Aluno | Código, Nome, Data de Nascimento |
| Curso | Código, Nome, Carga Horária |
| Matrícula | Aluno, Curso, Data |
| Problema | Consequência |
|---|---|
| Dados duplicados | Maior espaço utilizado. |
| Falta de organização | Dificuldade de consulta. |
| Relacionamentos incorretos | Informações inconsistentes. |
| Alterações difíceis | Maior custo de manutenção. |
| Ferramenta | Utilização |
|---|---|
| MySQL Workbench | Criação de modelos ER. |
| Draw.io | Diagramas e documentação. |
| ERwin | Modelagem profissional. |