Você está na página 1de 31

Projeto de Banco de Dados:

Modelagem Conceitual

Prof. Diego M. Rosa

Na aula
passada…
O que é um banco de
dados?

• Armazena informações na memória não-volátil (disco)

• Informação é armazenada de forma organizada e


relacionada

• Fácil de acessar as informações

• Que aplicações utilizam BD?


O que é um banco de
dados?

• Exemplos de aplicações que utilizam banco de dados:

• GMail, Mercado Livre, Facebook, etc.

• allmusic.com, imdb.com

• Aplicações que NÃO utilizam banco de dados:

• Calculadora, câmera, alguns jogos, etc.


Vamos criar um banco de
dados?

• Nós criamos, na verdade, a estrutura do banco de dados

• O Sistema de Gerenciamento de Banco de Dados (SGBD)


cuida da parte operacional. Ex.: MySQL, MongoDB, etc.

• Precisamos escolher um domínio/universo

• O que podemos fazer com esse banco depois?


Que banco vamos criar?

• Que tipo de banco vamos criar?

• Qual o nosso domínio?

• Alguma ideia inovadora?

• Podemos de nir a estrutura do nosso banco através de


entidades e relacionamentos entre elas

• Que entidades estarão presentes no nosso banco?


fi
Um pouco de teoria…
Modelos de dados

• Criar um modelo para um banco de dados: modelagem

• Descrição dos tipos de informação que estão


armazenadas no banco de dados

• Para construir o modelo, utilizamos uma linguagem


textual ou grá ca

• Podemos modelar em diferentes níveis de abstração


fi
Níveis de abstração
• Modelo conceitual:

• Abstrato e independente de SGBD

• Ex.: abordagem entidade-relacionamento (ER)

• Modelo lógico:

• Estrutura do banco vista pelo usuário do SGBD

• Modelo físico:

• Implementação técnica em um armazenamento físico


Projeto de banco de dados
• Modelagem conceitual: captura as necessidades da
organização em um diagrama ER

• Projeto lógico: transforma modelo conceitual em um


modelo lógico especí co para um SGBD

• Projeto físico: BD enriquecido com detalhes que


melhoram desempenho (tuning)

• Outros aspectos: segurança, implantação (hardware/


soIware), etc. 

fi
Projeto de banco de dados
Modelagem Conceitual

• Construção do modelo conceitual

• Abordagem mais comum: Entidade-Relacionamento (ER)

• Diagrama Entidade-Relacionamento

• Captura necessidades da organização

• Independente de implementação
Projeto lógico
• Transformar modelo conceitual em um modelo lógico

• Implementação do banco de dados em um SGBD


especí co

• SGBDs mais comuns:

• Relacionais (tabelas): MySQL

• NoSQL: MongoDB

• Scripts de criação do banco de dados


fi
Projeto físico
• Projeto lógico é enriquecido com detalhes que
in uenciam desempenho

• Criação de índices

• Funcionalidade do banco não é afetada

• Geralmente é um processo contínuo

• Também chamado sintonia, ajuste ou tuning do banco de


dados
fl
Outros aspectos do projeto
• Segurança:

• Usuários, controle de acesso, proteção contra ataques

• Tipo de uso:

• Transações, número de acessos, etc.

• Implantação:

• Meios de armazenamento, hardware , software

• Aplicação:

• Linguagem, API de conexão, sintonia de consultas


Modelagem Conceitual:
Abordagem Entidade-Relacionamento

• Técnica de modelagem de dados mais difundida e


utilizada

• Representa o modelo de dados através de um modelo


entidade-relacionamento

• Formas de representação: textual ou grá ca (diagrama


entidade-relacionamento - DER)

• Podem ser utilizadas diferentes notações para o


diagrama. Exemplos: Chen e Crow’s Foot

fi
Modelo ER:
representação textual
• Entidade: banda

• Atributos: id, nome, biogra a, ano, local

• Entidade: album

• Atributos: id, título, descrição, data de lançamento,


gravadora

• Relacionamento: banda_tem_album

• Entidades: banda (1, 1), album (0, n)


fi
Diagrama ER:
notação Chen

Diagrama ER:
notação Crow’s Foot

Entidade

• Conceito fundamental da abordagem ER

• Conjunto de objetos da realidade modelada sobre os


quais deseja-se manter informações no banco de dados

• No diagrama ER são representadas por retângulos


contendo o nome da entidade
Atributo

• Propriedades das entidades

• Dado simples associado a cada ocorrência da entidade

• Muitas vezes não aparecem no diagrama para não poluir

• No diagrama ER (notação Crow’s Foot), são listados em


uma caixa abaixo do retângulo da entidade
Relacionamentos
• Na abordagem Entidade-Relacionamento, as entidades
possuem relações entre si

• Na notação Crow’s Foot, um relacionamento é uma


conexão (linha) entre duas entidades

• O nome do relacionamento aparece no diagrama em


formato de texto próximo à linha

• Normalmente usa-se um verbo para identi car um


relacionamento
fi
Estratégias de Modelagem

• Bottom-up: começa de nindo alguns atributos e depois


vai agrupando esses atributos para formar entidades e
relacionamentos

• Top-down: começa com a de nição de abstrações de


alto nível que depois vão sendo re nadas produzindo
primeiro entidades e depois relacionamentos e atributos

• Inside-out: começa de nindo uma ou mais entidades


principais e depois vai expandindo o modelo com outras
entidades.
fi
fi
fi
fi
Estratégia top-down
• Modelagem super cial:

• De nir a entidade principal

• Enumerar demais entidades

• Determinar atributos das entidades

• Modelagem detalhada:

• Identi car relacionamentos e especializações

• Determinar outros detalhes: identi cadores, cardinalidades, etc.


fi
fi
fi
fi
Ferramentas de desenho
• Várias ferramentas para desenho do diagrama ER:

• Online: ERD Plus (https://erdplus.com/standalone)

• Desktop: Dia (http://dia-installer.de/)

• Online e desktop: Draw.io

• Versão online: https://app.diagrams.net/

• Download da versão o ine: https://github.com/


jgraph/drawio-desktop/releases/
ffl
Voltando ao nosso banco…
Quais as principais
entidades?

• Quais as principais entidades do nosso banco?

• Dessas entidades, qual é a principal?

• Que informações queremos guardar sobre essa


entidade?
Quais os atributos de cada
entidade?

• Que outras entidades podemos incluir no nosso banco?

• Quais os atributos dessas entidades?


Que relacionamentos
existem entre as entidades?

• Como as entidades do nosso banco se relacionam?

• Quais relacionamentos podemos criar entre as


identidades e como podem ser nomeados?
Exemplo: lmes

fi
Referências

• HEUSER, C. Projeto de Banco de Dados. 6a edição.


Porto Alegre: Bookman, 2008. Capítulos 1 e 2.

Você também pode gostar