Revisão e Dicas de Projeto Conceitual – Modelo ER
• Modelo definido por Peter Chen em 1976– modelo sofreu diversas extensões e notações
ao longo do tempo• Padrão para modelagem conceitual de BD
– modelo simples• poucos conceitos
– representação gráfica– modelo de fácil compreensão
• Um esquema conceitual de BD é também chamado de diagrama ER
Conceitos do Modelo ER• Entidade
– normal, fraca ou associativa• Relacionamento
– auto-relacionamento, binário ou n-ário– cardinalidades
• um-para-um, um-para-muitos ou muitos-para-muitos – participação opcional ou obrigatória das entidades
envolvidas• Atributo
– categorias • identificador, monovalorado, multivalorado, composto,
obrigatório e opcional• Generalização e Especialização
– total ou parcial– exclusiva ou não-exclusiva
Modelo ER - Notação
E1 E2
a4 (0,1)a1
r 1
a3
(1,N) (0,3)
r 2
(1,N)
a2 (0,N)
E3(1,1)
(1,N)
E4a8 (1,N)
a7
a5 a6r 3
(0,N)
(1,1)
papel 1
papel 2
E5 E6
p
E7 E8
r 4
E9
(0,N)
(1,1)
r 5
(1,N)
(0,N)
E10
E11
r 6
(1,1)
E12
(0,1)
a9
a10a12 a13
a11
Modelo ER - Notação
E1 E2
a4 (0,1)a1
r 1
a3
(1,N) (0,3)
r 2
(1,N)
a2 (0,N)
E3(1,1)
(1,N)
E4a8 (1,N)
a7
a5 a6r 3
(0,N)
(1,1)
papel 1
papel 2
E5 E6
p
E7 E8
r 4
E9
(0,N)
(1,1)
r 5
(1,N)
(0,N)
E10
E11
r 6
(1,1)
E12
(0,1)
a9
a10a12 a13
a11
entidade
Modelo ER - Notação
E1 E2
a4 (0,1)a1
r 1
a3
(1,N) (0,3)
r 2
(1,N)
a2 (0,N)
E3(1,1)
(1,N)
E4a8 (1,N)
a7
a5 a6r 3
(0,N)
(1,1)
papel 1
papel 2
E5 E6
p
E7 E8
r 4
E9
(0,N)
(1,1)
r 5
(1,N)
(0,N)
E10
E11
r 6
(1,1)
E12
(0,1)
a9
a10a12 a13
a11
entidade fraca
Modelo ER - Notação
E1 E2
a4 (0,1)a1
r 1
a3
(1,N) (0,3)
r 2
(1,N)
a2 (0,N)
E3(1,1)
(1,N)
E4a8 (1,N)
a7
a5 a6r 3
(0,N)
(1,1)
papel 1
papel 2
E5 E6
p
E7 E8
r 4
E9
(0,N)
(1,1)
r 5
(1,N)
(0,N)
E10
E11
r 6
(1,1)
E12
(0,1)
a9
a10a12 a13
a11
entidade associativa
Modelo ER - Notação
E1 E2
a4 (0,1)a1
r 1
a3
(1,N) (0,3)
r 2
(1,N)
a2 (0,N)
E3(1,1)
(1,N)
E4a8 (1,N)
a7
a5 a6r 3
(0,N)
(1,1)
papel 1
papel 2
E5 E6
p
E7 E8
r 4
E9
(0,N)
(1,1)
r 5
(1,N)
(0,N)
E10
E11
r 6
(1,1)
E12
(0,1)
a9
a10a12 a13
a11
relacionamento
Modelo ER - Notação
E1 E2
a4 (0,1)a1
r 1
a3
(1,N) (0,3)
r 2
(1,N)
a2 (0,N)
E3(1,1)
(1,N)
E4a8 (1,N)
a7
a5 a6r 3
(0,N)
(1,1)
papel 1
papel 2
E5 E6
p
E7 E8
r 4
E9
(0,N)
(1,1)
r 5
(1,N)
(0,N)
E10
E11
r 6
(1,1)
E12
(0,1)
a9
a10a12 a13
a11
auto-relacionamento
Modelo ER - Notação
E1 E2
a4 (0,1)a1
r 1
a3
(1,N) (0,3)
r 2
(1,N)
a2 (0,N)
E3(1,1)
(1,N)
E4a8 (1,N)
a7
a5 a6r 3
(0,N)
(1,1)
papel 1
papel 2
E5 E6
p
E7 E8
r 4
E9
(0,N)
(1,1)
r 5
(1,N)
(0,N)
E10
E11
r 6
(1,1)
E12
(0,1)
a9
a10a12 a13
a11
relacionamentoternário
Modelo ER - Notação
E1 E2
a4 (0,1)a1
r 1
a3
(1,N) (0,3)
r 2
(1,N)
a2 (0,N)
E3(1,1)
(1,N)
E4a8 (1,N)
a7
a5 a6r 3
(0,N)
(1,1)
papel 1
papel 2
E5 E6
p
E7 E8
r 4
E9
(0,N)
(1,1)
r 5
(1,N)
(0,N)
E10
E11
r 6
(1,1)
E12
(0,1)
a9
a10a12 a13
a11
atributoidentificador
Modelo ER - Notação
E1 E2
a4 (0,1)a1
r 1
a3
(1,N) (0,3)
r 2
(1,N)
a2 (0,N)
E3(1,1)
(1,N)
E4a8 (1,N)
a7
a5 a6r 3
(0,N)
(1,1)
papel 1
papel 2
E5 E6
p
E7 E8
r 4
E9
(0,N)
(1,1)
r 5
(1,N)
(0,N)
E10
E11
r 6
(1,1)
E12
(0,1)
a9
a10a12 a13
a11
atributomonovalorado
Modelo ER - Notação
E1 E2
a4 (0,1)a1
r 1
a3
(1,N) (0,3)
r 2
(1,N)
a2 (0,N)
E3(1,1)
(1,N)
E4a8 (1,N)
a7
a5 a6r 3
(0,N)
(1,1)
papel 1
papel 2
E5 E6
p
E7 E8
r 4
E9
(0,N)
(1,1)
r 5
(1,N)
(0,N)
E10
E11
r 6
(1,1)
E12
(0,1)
a9
a10a12 a13
a11
atributomultivalorado
Modelo ER - Notação
E1 E2
a4 (0,1)a1
r 1
a3
(1,N) (0,3)
r 2
(1,N)
a2 (0,N)
E3(1,1)
(1,N)
E4a8 (1,N)
a7
a5 a6r 3
(0,N)
(1,1)
papel 1
papel 2
E5 E6
p
E7 E8
r 4
E9
(0,N)
(1,1)
r 5
(1,N)
(0,N)
E10
E11
r 6
(1,1)
E12
(0,1)
a9
a10a12 a13
a11
atributocomposto
Modelo ER - Notação
E1 E2
a4 (0,1)a1
r 1
a3
(1,N) (0,3)
r 2
(1,N)
a2 (0,N)
E3(1,1)
(1,N)
E4a8 (1,N)
a7
a5 a6r 3
(0,N)
(1,1)
papel 1
papel 2
E5 E6
p
E7 E8
r 4
E9
(0,N)
(1,1)
r 5
(1,N)
(0,N)
E10
E11
r 6
(1,1)
E12
(0,1)
a9
a10a12 a13
a11
atributoopcional
atributoobrigatório
Modelo ER - Notação
E1 E2
a4 (0,1)a1
r 1
a3
(1,N) (0,3)
r 2
(1,N)
a2 (0,N)
E3(1,1)
(1,N)
E4a8 (1,N)
a7
a5 a6r 3
(0,N)
(1,1)
papel 1
papel 2
E5 E6
p
E7 E8
r 4
E9
(0,N)
(1,1)
r 5
(1,N)
(0,N)
E10
E11
r 6
(1,1)
E12
(0,1)
a9
a10a12 a13
a11
especializaçãoparcial
especializaçãototal
Modelo ER - Notação
E1 E2
a4 (0,1)a1
r 1
a3
(1,N) (0,3)
r 2
(1,N)
a2 (0,N)
E3(1,1)
(1,N)
E4a8 (1,N)
a7
a5 a6r 3
(0,N)
(1,1)
papel 1
papel 2
E5 E6
p
E7 E8
r 4
E9
(0,N)
(1,1)
r 5
(1,N)
(0,N)
E10
E11
r 6
(1,1)
E12
(0,1)
a9
a10a12 a13
a11
especializaçãoexclusiva
especializaçãonão-exclusiva
Vantagens do Projeto Conceitual• Abstração de dados de alto nível
– indicação de dados e seus relacionamentos da forma como percebidos no mundo real
– independência de detalhes de representação de SGBDs
• Fácil compreensão pelo usuário leigo– facilita a validação da modelagem dos dados
• Facilita a manutenção dos dados– modificação dos requisitos– migração de SGBD
• Tradução para qualquer modelo de SGBD
Dicas de Modelagem Conceitual• Entidade X Atributo
– a opção por entidade é válida se existem propriedades (atributos e relacionamentos) e transações relevantes para o fato
Empregados salário
Salários
deduçãoIRPF valorBruto
categoria
valorLíquidogratificação
remuneração(1,1)
Empregados(1,N)
Dicas de Modelagem Conceitual• Entidade X Atributo Composto
– a opção por atributo composto é válida se
existe noção de agregação
Pessoas
Imóveis
localização
valorproprietário(1,1)
Pessoas(0,N)
imóvellocalizaçãovalor
aplicação de negócio imobiliário
aplicação comercial (setor de crediário de uma loja)
Dicas de Modelagem Conceitual• Entidade X Atributo Multivalorado
– a opção por atributo multivalorado é válida se
existe noção de agregação
Pessoas
LinhasTelefônicas
DDD
númeroproprietário(1,N)
Pessoas(0,1)
telefone(0,N)
aplicação: companhia telefônica
aplicação comercial (setor de crediário de uma loja)
Dicas de Modelagem Conceitual• Entidade Fraca X Atributo
– a opção por atributo é válida se o fato não
possui outros relacionamentos
Pedidos
Itens
número
composição
(1,1)
Pedidos(1,N)
itens (1,N)descriçãoquantidade
quantidade
referência(1,1)
(0,N)
Produtos
valor
Dicas de Modelagem Conceitual• Entidade X Relacionamento
– admite-se representações equivalentes• a opção por relacionamento é recomendada se não
existem propriedades associadas ao fato• a opção por entidade é recomendada se existe um
identificador explícito para o fato (ex.: ID da consulta)
Médicos Pacientes
data
nome
código
CRMnome
hora
consulta(0,N) (0,N)
Médicos Pacientes
data
nome
código
CRMnome
hora
(0,N) (0,N)
Consultas(1,1)(1,1)
Dicas de Modelagem Conceitual• Entidade X Relacionamento
– a opção por entidade introduz uma indireção na associação entre fatos
• não recomendável, especialmente para casos um-
para-um e um-para-muitos– não geram o mesmo banco de dados relacional!
Pessoas Automóveis
marca
chassi
CPFnome
posse(0,1) (0,N)
Pessoas Automóveis
marca
chassi
CPFnome
(0,N) (0,1)
Posses(1,1)(1,1)
Dicas de Modelagem Conceitual• Entidade X Entidade Associativa
– admite-se representações equivalentes• levar em conta as recomendações do caso anterior
(entidade X relacionamento)
Médicos Pacientes
data
nome
código
CRMnome
hora
consulta(0,N) (0,N)
Medicamentos
nome
códigoprescrição
(0,N)
(0,N)intervaloHoras
Consultas
Dicas de Modelagem Conceitual
• Entidade X Entidade Associativa
Medicamentos
nome
códigoprescrição
(0,N)
(0,N)intervaloHoras
Médicos Pacientes
data
nome
código
CRMnome
hora
(0,N) (0,N)
Consultas(1,1)(1,1)
Dicas de Modelagem Conceitual• Entidade Associativa X Relacionamento N-Ário
– recomenda-se a opção por relacionamento n-ário apenas se a participação for obrigatória para todas as entidades
• evita problemas de identificação do relacionamento
Empregados Projetos
nome
código
CPFnome
alocação(1,N) (1,N)
Tarefas
nome
código
(1,N)
Dicas de Modelagem Conceitual• Entidade Associativa X Relacionamento N-Ário
– recomenda-se a opção por entidade associativa se a participação não for obrigatória para todas as entidades
Empregados Projetos
nome
código
CPFnome
alocação(1,N) (0,N)
Tarefas
nome
códigoexecução
(0,N)
(0,N)
Alocações
Dicas de Modelagem Conceitual• Relacionamento X Especialização
– a opção por especialização é válida se houver uma associação um-para-um entre as entidades participantes
Pessoas
CPFnome
Professores
titulação
Pessoas
CPFnome
Professores
habilitaçãoformação
(1,N)
(0,N)
aplicação universitáriaaplicação de uma escola de música
tempoexperiência
código
Dicas de Modelagem Conceitual• Atributo X Especialização
– a opção por especialização é valida se houver atributos e/ou relacionamentos relevantes para os fatos especializados
Pessoas
CPFnome
função
Pessoas
CPFnome
Motoristas
nroHabilitação
Engenheiros
CREA
Dicas de Modelagem Conceitual• Atributo X Especialização
– atenção: atributos opcionais podem sugerir a modelagem de uma entidade especializada
PessoasCPF
nomenroHabilitação (0,1)
Pessoas
CPFnome
Motoristas
nroHabilitação
veículosHabilitados (0,N)
veículosHabilitados (1,N)
Dicas de Modelagem Conceitual• Limitações no poder de expressão!
– exige a documentação de restrições de
integridade em anexo
Empregados supervisão(0,N)
(0,1) supervisor
supervisionado
RIs: - um empregado não pode ser supervisor de si próprio - ciclos em hierarquias de supervisão não são permitidos
Cursos
Pós-Graduação
GraduaçãoemCursoG
emCursoPG
Alunos
(0,1)
(0,N) (0,1)
(0,N)
RIs: - um aluno não pode estar cursando ambos os cursos
- um aluno deve estar cursando pelo menos um dos cursos
aplicação de um deptouniversitário
Dicas de Modelagem Conceitual• Consideração de aspectos temporais
– atenção: alteram a modelagem conceitual!
Empregados salário
Saláriosremuneração(1,1)
Empregados(1,N)
valor data
Departamentoslotação(1,1)
Empregados(0,N)
Departamentoslotação(1,N)
Empregados(0,N)
data
temporal
temporal
instantâneo
instantâneo
Dicas de Modelagem Conceitual• Entidade isolada
– pode-se admitir a sua representação
Departamentoslotação(1,1)
Empregados(0,N)
Empresa
Home-Pagesdefinição(0,N)
Escolas(1,1)
DicasDidáticas(mostrada aleatoriamente sempre
que uma home-page é aberta)
OK !
OK ?
Dicas de Modelagem Conceitual• Validação do esquema conceitual
– verificar eventuais redundâncias...• eliminar excessos e pesar desempenho de consultas
X controles de integridade e volume de dados
Departamentoscomposição(1,1)
Setores(0,N)
lotação(1,1)
Empregados
(0,N)
departamento
Fábricascomposição(1,1)
Setores(1,N)
lotação(0,1)
Máquinas
(0,N)
bens(1,1)(0,N)
inadequado!
Dicas de Modelagem Conceitual• Validação do esquema conceitual
– substantivos para nomes de relacionamentos• minimizam a redundância de nomes• nomes mais adequados para futuros conceitos
lógicos (tabelas, atributos)– cardinalidade de relacionamentos
• na dúvida, definir cardinalidades opcionais– menos restritivas– reduzem os controles de integridade no BD
» dependências de inserção e controles na atualização
Setoreslotação(1,1)
Máquinas
(0,N)
Setorespossui(1,1)
Máquinas
(1,N)
revisão
Categoria (ou Entidade União)• Entidade que representa uma união de entidades
com propriedades e identificações independentes– indicam categorias de entidades que podem assumir o
papel representado pela entidade união– caso especial de especialização (total ou parcial)
• várias superclasses, mas herança de apenas uma delas• Obs.: conceito não suportado pela ferramenta de projeto
Pessoas
CPFnome
Proprietários Automóveis
marca
renda posse(0,1) (0,N)
chassi
Bancos
CGCnome
Empresas
CNPJnomeDN ramo
Up
pp
Mapeamento de Categorias• Tabelas das entidades participantes da categoria se
relacionam com a tabela da entidade união
Pessoas
CPFnome
Proprietáriosrenda
Bancos
CGCnome
Empresas
CNPJnomeDN ramo
Up
pp
Proprietários (ID, renda)Pessoas (CPF, DN, nome, IDProp)Bancos (CGC, nome, IDProp)Empresas (CNPJ, nome, ramo, IDProp)
Top Related