Projeto de banco de dados
• Atividade de modelagem de dados em diversos níveis de abstração • Modelagem conceitual (projeto conceitual)
– abstração de mais alto nível
• objetivo: representação dos requisitos de dados do domínio
– independente de modelo de BD
• Modelagem lógica (projeto lógico)
– representação da modelagem conceitual em um modelo de BD – ênfase na eficiência de armazenamento
• evitar: muitas tabelas (e junções); tabelas sub-utilizadas, ...
• Modelagem física (implementação)
– esquema SQL para a modelagem lógica
• dependente de SGBD
– ênfase na eficiência de acesso
• implementação de consultas, índices, ...
Modelagem Conceitual
• Vantagens
– independente de detalhes de implementação em um SGBD
• facilita a compreensão da semântica dos dados de um domínio • melhor compreendido por usuários leigos
– pode ser mapeado para qualquer modelo lógico de BD – facilita a manutenção do modelo lógico e a migração para outro modelo lógico
• processo de engenharia reversa
1
Modelo Entidade-Relacionamento
• Modelo definido por Peter Chen em 1976
– diversas extensões e notações foram definidas com o passar do tempo
• Padrão para modelagem conceitual de BD
– modelo simples
• poucos conceitos
– representação gráfica
• fácil compreensão
• Um esquema conceitual de dados é também chamado de esquema ER ou diagrama ER
Conceitos do Modelo ER
• Entidade
– abstração de um fato do mundo real para o qual se deseja manter seus dados no BD – simbologia: retângulo nomeado
• denota um conjunto de ocorrências do fato
e3
Empregados
(representação gráfica)
e1 e2 e4 e5
e6 e7
e8
(interpretação)
2
Conceitos do Modelo ER
• Relacionamento
– abstração de uma associação entre (ocorrências de) entidades – simbologia: losango nomeado
• denota um conjunto de ocorrências de relacionamentos
Empregados
lotação
(representação gráfica)
Departamentos
Conceitos do Modelo ER e3 e1 e2 e4 e6 e7 e5 e8