Modelo Entidade
Relacionamento
Ana Maria de Carvalho Moura
e-mail:anamaria.moura@gmail.com
LNCC – Rio de Janeiro
Requisitos
de Dados
Projeto
Conceitual
Projeto
Lógico
Projeto
Físico
Esquema Conceitual
Esquema Lógico
Modelo do SGBD SGBD específico
Não
Não
Sim
Não/Sim
Sim
Sim
Dependência nível de Projeto X SGBD
AMCM 3
Projeto de Banco de Dados
¡
Projeto Conceitual
ü
Etapa de entendimento e modelagem da aplicação a partir
do mundo real. Uso de uma ferramenta (tipo ER, UML)
para modelagem, rica em abstrações.
ü
Definição dos objetos e suas propriedades.
ü
Visão integrada das diversas visões do sistema.
ü
Etapa independente do modelo de BDs.
¡Projeto Lógico
Mapeamento do projeto conceitual em termos de um
modelo lógico de BDs. Nessa etapa o conhecimento
específico sobre o SGBD a ser utilizado não é necessário.
AMCM 4
Projeto de Banco de Dados
¡
Projeto Físico
Definição da organização e estruturas físicas de
acesso aos dados (índices, métodos de
Desenvolvimento de Sistemas de
Informação
Levantamento de
requisitos
Análise
Funcional
Projeto Conceitual
Especificações de
Acesso
Projeto Lógico
Projeto Físico
Projeto da
Aplicação
Implementação
Validação e Teste
ABORDAGEM CONJUNTA DE PROJETO COM FOCO EM DADOS
E EM FUNÇÕES
RealidadeAnálise/
Coleta Requisitos
Projeto
Conceitual
Projeto
Lógico
Projeto
Físico
Esquema
Conceitual
Esquema
Lógico
Requisitos FuncionaisAnálise Funcional
Especificação transação
alto-nível
Projeto programa de
aplicação
Implementação
transações
independ SGBD depend. SGBDAMCM 7
Processo de Software
¡Especificação:
lfuncionalidade e restrições
¡Desenvolvimento:
limplementação segundo
especificação
¡Validação:
l
testes para verificar se está
de acordo com especificação
¡Evolução:
l
para atender as mudanças
Projeto Conceitual
Projeto Lógico
Projeto Físico
AMCM 8Fases Clássicas do
Desenvolvimento de SW
¡
Análise de Requisitos
¡
Análise
¡
Projeto
¡
Implementação
¡
Testes
¡
Manutenção
¡
Especificação
¡
Desenvolvimento
AMCM 9
Modelos
¡
Ferramentas para modelagem
conceitual
l
ER - Peter Chen
l
UML
- OMG (Grady, Booch, Rumbaugh)
O Modelo ER
¡
O modelo de dados mais popular entre
todos os utilizados na etapa de projeto
conceitual de banco de dados.
¡
Produz um diagrama fácil de ser
entendido pelo usuário final.
¡
Fundamentado nos conceitos básicos de
entidade, relacionamento e atributo.
¡
Outros conceitos foram incorporados para
AMCM 11
Modelo Entidade-Relacionamento
• Introduzido por Peter Chen no artigo:
The Entity-Relationship Model - Toward a
Unified View of Data, Transactions on
Database Systems, 1(1), March 1976.
• O modelo ER é um
modelo conceitual
utilizado durante a fase de projeto conceitual
para entendimento do
mundo real.
AMCM 12
Elementos Básicos
¡
Entidades:
representam classes de objetos do
mundo real.
representadas graficamente por um retângulo
rotulado com o nome da entidade.
¡
Relacionamentos:
representam agregações entre
duas ou mais entidades.
representados graficamente por um losango rotulado
com o nome da agregação.
¡
Atributos:
representam propriedades
elementares das entidades e/ou dos
relacionamentos.
representados graficamente por um segmento de
reta rotulado com o nome do atributo em uma de
suas extremidades.
rótulo
rótulo
rótulo
rótulo
ou
AMCM 13
Elementos Básicos
PESSOA
CIDADE
código
nome
habitantes
identidade
nome
endereço
desde
VIVE_EM NASCIDO_EMdata
Diferentes Notações
1
n
1
n
1
n
1
1
1
0,1
1
0.n
1
0.n
1
n
1
n
AMCM 15
Propriedades dos Relacionamentos
¡
Grau: total de entidades que participam do
relacionamento.
¡
Cardinalidade: números mínimo e máximo de
instâncias de cada entidade que podem estar
associadas através do relacionamento.
a cardinalidade mínima também é conhecida como
PARTICIPAÇÃO:
0 = participação opcional 1 = participação obrigatória.
AMCM 16
Modelo Entidade-Relacionamento
CONCEITO
REPRESENTAÇÃO
Entidade
Relacionamento
Atributo
Generalização é-um
Identificador
Entidade
fraca
Relacionamento
identificador
Atributo
multivalorado
Atributo composto
AMCM 17
Entidade X Atributo
¡
Entidade:
l
tem existência própria
l
distingue-se do seu meio ambiente
l
contém informação descritiva
¡
Atributo:
l
propriedades utilizadas para descrever entidades e
relacionamentos
l
associam um valor a partir de um domínio
l
caracteriza-se por si mesmo
empregado
nome
cidade_origem
cidade
estado populaçãoTipos de Relacionamentos e
Cardinalidades
Empregado
Depto
chefiaa) 1:1
(1,1)
(0,1)
A
B
Pessoa
casada
(0,1)
(0,1)
(entidades do mesmo conjunto)
a1
a2
b1 a1
AMCM 19
Tipos de Relacionamentos
a) 1:n
A
B
Editora
Livros
publica(1,1)
(1,n)
b) m:n
A
B
a1 a2 a3 b1 b2 b3Pais
Produtos
exporta(0,n)
(0,m)
AMCM 20Relacionamentos n-ario
Fornecedores
Lojas
Produtos
F-P-L
(1,m)
(1,n)
(1,p)
Fornecedores lojas produtos
F1 Sendas leite
F1
Zona Sul leite
F2 Sendas leite
F3
Casa Video copos
F2
Zona Sul copos
F3
Sendas copos
F4
Sendas açucar
AMCM 21
Características de relacionamentos
¡
Pode um relacionamento n-ario ser dividido em
vários relacionamentos binarios?
Lojas
fornecedor
abastec
por
vendem
Produtos
fornecem
?
(1,n)
(1,p)
(1,m)
(1,f)
(1,g)
(1,k)
A instância (f,l,p) ocorre se:
•
(f,l) ocorre em abastec_por;
• (f,p) ocorre em fornecem;
• (l,p) ocorre em vendem
Outras instâncias (f,l), (f,p)....nem sempre
estarão em (f,l,p) !!!!
Caso particular: (1,1,1)
R moldura
Peças e suas componentes
A B C D E F R S T X Y
PEÇA
A cilindro
B base
C braço
D gancho
F suporte
S tirante
T poleiro
X ratoeira
Y balanço
Como modelar a composição das peças?
compost
component
R
R
S
S
T
T
X
X
X
Y
Y
B
C
D
E
E
F
R
S
A
R
T
COMPOSIÇÃO
AMCM 23
Relacionamento Recursivo ...
PEÇA
componente
composto
COMPOSIÇÃO
papéis
E as cardinalidades?
AMCM 24Cardinalidade de Atributos
¡
Cardinalidade mínima/máxima:
número mínimo / máximo de
valores que o atributo pode assumir em cada instância da entidade
ou relacionamento.
¡
Seja A um atributo da entidade E:
se
min-card (A, E) = 0
, o atributo é
opcional
,
isto é, ele pode ser nulo para algumas instâncias de E.
se
min-card (A, E) = 1
, o atributo é
mandatório
,
isto é, ele deve assumir no mínimo um valor para cada instância
de E.
se
max-card (A, E) = 1
, o atributo é
mono-valorado
, isto é, só
pode assumir um único valor para cada instância de E.
se
max-card (A, E) > 1
, o atributo é
multi-valorado
, isto é. ele
pode assumir mais de um valor para cada instância de E.
AMCM 25
Cardinalidade de Atributos
NASCIDA_NA
PESSOA
CIDADE
VIVE_NA
código
nome
habitantes
identidade
nome
telefone
desde
(1, n)
(1, 1)
(0, n)
(1, 1)
(0, n)
data_nasc
se a cardinalidade do atributo for (1,1),
ela não precisa ser especificada.
uma pessoa pode não
ter telefone ou ter
vários...
(0, n)
uma pessoa tem que ter
pelo menos um endereço
eletrônico, podendo ter
vários.
Domínio de um Atributo
¡
Todo atributo está associado a um
domínio
, isto
é, a um conjunto de valores válidos que o
atributo pode assumir.
¡
As declarações de domínio são similares às
declarações de tipo nas linguagens de
programação.
Exemplos:
CPF: Numérico
Nome: Texto
AMCM 27
Tipos de Atributos
¡
simples
- atributo definido sobre um único
domínio, isto é, que possui um valor atômico
para cada instância da entidade.
¡
composto
- atributo definido sobre mais de
um domínio, isto é, grupo de atributos com um
significado semântico.
Rua
Número
Cidade
Estado
Pais
Código_postal (1, 1)
PESSOA
Endereço
Nome
Telefone
(0,n)
(1,1)
Sexo
AMCM 28Entidade fraca
¡
Uma entidade fraca não possui identificador próprio:
depende de uma entidade proprietária
Empregado
tem
Dependentes
(1,1) (0,n)Restrições:
• relacionamento entre entidade
propriet. e entidade fraca: 1:n
• participação
total
da entidade
fraca no relacionamento de
identificação
ident nome
AMCM 29
Hierarquia de Generalização
¡
diz-se que uma entidade
E
é uma
generalização
de
um grupo de entidades
E1, E2, ... , En
, se cada
instância das entidades
E1, E2, ... , En
for também
uma instância de
E
.
¡
o inverso da generalização é conhecido como
especialização
- processo através do qual novas
classes são definidas a partir do refinamento de uma
classe mais geral.
¡
hierarquias de generalização são caracterizadas pela
propriedade de cobertura.
Hierarquias de Generalização
PESSOA
HOMEM
(t,e)
(p,e)
(t,s)
MULHER
GERENTE SECRETÁRIO
EMPREGADO
GERENTE
TÉCNICO
GERENTE
ADM
(p,s)
VENDEDOR CONTADOR
ANALISTA
AMCM 31
Mecanismo de Herança ...
¡
todas as propriedades da superclasse são passadas por herança às
suas subclasses (atributos, relacionamentos, outras
generalizações etc.)
PESSOA HOMEM MULHER Endereço(t,e)
(0, 1) SituaçãoMilitar (0, 1) NomeSolteira Nome Endereço Nome Situação Militar Endereço Nome NomeSolteira PESSOA HOMEM MULHER Endereço(t,e)
NomeSituação Militar NomeSolteira
AMCM 32
Mecanismo de Herança
PESSOA
HOMEM
(t,e)
(p,e)
MULHER EMPREGADO SECRETÁRIO
Rua
Cidade
CEP (0,1)
Estado
País
(1,n)
Nome
CPF
Profissão
GrauAcadêmico
(0,n)
CertificadoReservista NomeSolteira Matrícula
SubTítulo
MILITAR
Número
Divisão
Patente
ID
ENDEREÇOAMCM 33
Agregação de entidades
médico
paciente
exame
atende (1,n) (1,m)Onde relacionar exame?
•
com médico?
•
com paciente?
•
relacionamento triplo?
atende prescreveER
Solução
médico
atendepaciente
prescreve
exame
crm
nome
nome
pront
consulta
nconsulta (1,n) (1,m) (1,m) (0,m)AMCM 35 dependente é- dependente
Diagrama Entidade-Relacionamento
EMPREGADO DEPARTAMENTO PROJETO SUPERVISÃO TRABALHA PARA TRABALHA EM GERENCIA CONTROLA Nome CPF Data-NascEndereço Sexo Salário
Data-Início Nome Número Localização Nome Número Local Horas Nome-Dep
Sexo Data-Nasc Relacionamento supervisionado supervisor (1,n) (1,1) (1,m) (1,N) (0,1) (1,1) (0,n) (1,1) (1,1) (1,n) (0,n) (1,1)
Dependente
AMCM 36Leitura de Diagramas ER
CIDADE
PESSOA
ESTUDANTE
PROFESSOR
DEPTO
DISCIPLINA
ALUNOS_PG
VISITANTE
ALOCTEMPO
SALA
Nome Estado (0,n) (1,1 mora_em matriculado_em (0,n) (1,n) Grau (1,3) (0,n) Dia Hora (0,40) Número Prédio Nome (1,1) lecionado_por (1,2) (1,1) orientado_por (0,n) (0,n) (1,1) nascida_em Sobrenome Idade lotado_no (1,1) (1,n) Nome Telefone Categoria Nível Início Término Id IdSala(p,e)
(p,e)
(p,e)
QUALIDADES DO MODELO
ENTIDADE-RELACIONAMENTO
ü
Expressividade
±
Simplicidade
ü
Minimalidade
ü
Formalismo
ü
Completeza gráfica
±
Facilidade de leitura gráfica
Qualidades do Modelo ER ...
¡Expressividade:
l
inclui os três mecanismos de abstração: classificação,
agregação e generalização.
l
suporta relacionamentos n-ários, o que é motivo de
críticas por parte dos defensores do mundo binário.
¡Simplicidade:
l
a riqueza de conceitos torna o modelo uma poderosa
ferramenta para a descrição da realidade.
l
entretanto, o modelo não é muito simples,
especialmente no que diz respeito aos conceitos de
cardinalidade, cobertura de generalização e
identificação.
l
uma solução é produzir diagramas ER em diferentes
AMCM 39
Qualidades do Modelo ER ...
¡
Minimalidade:
l
à exceção dos atributos compostos, nenhum
conceito do modelo pode ser descrito em termos
dos demais.
l
o fato da mesma realidade poder ser modelada de
diferentes maneiras não invalida a minimalidade
do modelo.
¡
Formalidade:
l
o modelo possui o necessário grau de
formalidade, uma vez que cada um de seus
conceitos possui uma interpretação única, precisa
e bem-definida.
AMCM 40
Qualidades do Modelo ER
¡
Representação Gráfica:
l
o modelo é graficamente completo,
isto é, todos os seus conceitos
possuem um símbolo gráfico
associado.
l
os diagramas ER são fáceis de serem
entendidos pelos usuários.
o modelo ER oferece um balanceamento adequado entre
expressividade, simplicidade e minimalidade.
AMCM 41
Exemplos de Modelagem ERE
Biblioteca
Sistema de controle e gerenciamento de empréstimos de livros de uma biblioteca acadêmica:
¡ A biblioteca dispõe de livros, também denominados títulos. Estes possuem nome,
autores e editoras. Cada título pertence a uma área de conhecimento e possui um código único de identificação.
¡ Cada título possui vários exemplares. Cada exemplar possui um código único de
Identificação e localização na estante.
¡ Cada título pode ter vários autores e um mesmo autor pode ter escrito vários
títulos. Um autor possui código, nome, telefone e endereço. As editoras possuem código, nome, telefone e endereço.
¡ Usuários, que podem ser alunos, professores ou funcionários, podem tomar
emprestados no máximo 6 livros por semana. A data de empréstimo é importante no processo. Cada usuário possui um cpf, nome, telefone e endereço, porém cada categoria tem seus atributos específicos: alunos:matrícula, curso;
professores:matrícula e titulação; funcionários: matrícula, categoria.
AMCM 43
Autor
Livro
Pal_Chave
Editora
Usuário
Professor
Aluno
Funcionario
Exemplar
Fazem_ emprest Autoria Autoria Edita Tem(1,n)
(0,n)
(1,n)
(1,1)
(1,n)
(1,n)
(1,n)
(1,1)
(0,6)
(1,1)
T,S
nome end cod_edt titulo telef nome end cod_au telef cod_liv area cod descr nome end cpfcod_ex
datamatr_pr tit matr_al curso matr_fc categoria
localiz
AMCM 44
Considerações
¡
E se um livro abrangesse uma área
de conhecimento, sendo essa
identificada por um código e uma
descrição?
AMCM 45
Oficina Mecânica
¡ Sistema de controle e gerenciamento de execução de ordens de serviço em uma oficina
mecânica: Clientes levam veículos à oficina mecânica para serem consertados ou para passarem por revisões periódicas.
¡ Cada veículo é designado a uma equipe de mecânicos que identifica os serviços a serem
executados e preenche uma ordem de serviço (OS) relativa àquele veículo, prevendo uma data de entrega.
¡ A partir da OS, calcula-se o valor de cada serviço, consultando-se uma tabela de referência
de mão-de-obra. O valor de cada peça necessária à execução do serviço também é computado.
¡ O cliente autoriza a execução dos serviços e a mesma equipe responsável pela avaliação
realiza os serviços. Clientes possuem código, nome, endereço e telefone. Veículos possuem código, placa e descrição.
¡ Cada mecânico possui código, nome, endereço e especialidade.
¡ Cada OS possui um número, uma data de emissão, um valor, um status (concluído, em
execução, em avaliação) e uma data para conclusão dos trabalhos. Uma OS pode ser composta de vários ítens (serviços) e um mesmo serviço pode constar em várias ordens de serviço. Uma OS pode envolver vários tipos de peças e um mesmo tipo de peça pode ser necessária em várias ordens de serviço.
Oficina Mecânica
cliente
veículo
equipe
os
orçam
possui
comp_de
item
peça
serviço
requer
(1,1)
(1,n)
(1,1)
num-os data_entrega data_emissao id descr valor formada_porpessoa
(t,p)
id nome end especialidadetelefone
(0,n)
(1,1)
código placa descrição Id_equipe desc(1,n)
(1,n)
(1,n)
(0,n)
(0,n)
(1,n)
(t,e)
mecânico
statusAMCM 47
Considerações
¡
Não preciso colocar valor em OS
pois é um valor derivável
(somatório de todos os itens)
¡
A equipe não teria um responsável?
AMCM 48
Distribuidora de filmes
¡ A empresa de distribuição possui vários cinemas, em diversas localidades;
¡ Cada cinema possui uma identificação única, um nome fantasia, um endereço completo,
incluindo rua, avenida, bairro, município, estado e sua capacidade de lotação;
¡ Os filmes podem ser dos mais variados tipos e gêneros; Cada filme é registrado com um
título original, e se for filme estrangeiro, possuirá também o título em Português, o gênero, sua duração, sua impropriedade e seu país de origem, informações sobre os atores que compõem seu elenco, e seu diretor. Existirá um único diretor para cada filme;
¡ Alguns cinemas apresentam mais de um filme em cartaz, sendo nestes casos, sessões
alternadas com um filme e outro. As sessões possuem horários que variam de acordo com a duração do filme, havendo sempre um intervalo de aproximadamente 15 minutos entre elas. Além disso, a sessão leva em conta também o dia em que está em cartaz, indicando se aquele corresponde a um feriado ou se faz parte de um festival;
¡ Os atores de um filme podem, obviamente, atuar em diversos filmes, assim como o diretor
de um filme pode também ser ator neste filme ou ainda mais, ser ator em outro filme. Um ator possui as seguintes características: um número de identificação, um nome, uma nacionalidade, idade e o n0 de oscars recebidos ao longo da carreira, indicando o nome do filme, a descrição do prêmio (coadjuvante, principal, etc.) e o ano do prêmio;
¡ As sessões de cinema devem ter seu público registrado diariamente, para que se permita a
AMCM 49
Distribuidora de filmes
cinema
sessão
filme
Época
Filme
estrangeiro
diretor
ator
pessoa
(
p,e
)
(t,s)
dirige
atua
Tit-inglesid
titulo
genero
duração
Id
localizacao
capacidade
horario
publico
id
nome
nacionalid
idade
feriado
festival
data
(1,1)
(1,n)
(0,n)
(1,n)
(0,n)
(0,n)
(0,n)
censura descrição País-origempossui
oscar
data idfilme(0,n)
(1,1)
descrConsiderações
¡
Vale a pena manter diretor como classe
ou colocá-lo como atributo de Filme?
¡
Seria melhor manter filme estrangeiro
como classe genérica e filme brasileiro
como classe específica?
AMCM 51
Verificação de uma modelagem
conceitual
¡
Não existe uma modelagem única
para representar uma realidade
¡
Mas existem critérios que devem
ser observados
l
Correção
l
Completude
l
Redundância
l
Aspecto temporal
AMCM 52Corretude
¡
Erro sintático:
l
Não respeitar as regras do modelo ER
¡
associações entre relacionamentos, ou entre
entidades, diretamente
¡
Erro semântico:
l
Estabelecer associações incorretas
¡
atributos em entidades erradas, ou
¡
uma entidade aparece como atributo em outra
entidade
¡
Fundir em um único relacionamento entre
entidades A e B, dois relacionamentos
diferentes
AMCM 53
Completude
¡
Mais difícil de verificar
¡
Verificar as consultas necessárias
¡
Verificar as atualizações necessárias
l
Apuração do público por município, por cinema, e por
sessão de cada cinema;
l
Dado um determinado ator, localizar os cinemas onde
estão em cartaz os filmes em que este ator atua;
l
Em quais cinemas está sendo exibido um determinado
gênero de filme;
l
Em quais cinemas estão sendo exibidos filmes nacionais.
l
Cadastrar filmes antes mesmo de ter o plano de sua
exibição;
l
Planejar a exibição de filmes com 1 mês de antecedência;
Redundância
¡
Um esquema deve ser mínimo
¡
Não deve conter conceitos redundantes
¡
Relacionamentos redundantes
l
que podem ser obtidos através da combinação
de outros relacionamentos
l
Se retirados, não há perda de informação
FABRICA
AMCM 55
Redundância
¡
Atributos redundantes
l
Atributos que podem ser obtidos por cálculos sobre
outros elementos do esquema
Ex.: tot-emp pode ser obtido contabilizando-se o número
de empregados por departamento, e o código do
departamento em empregado pode ser obtido através do
relacionamento lotação
DEPTO
EMPREGADO
LOTAÇÃO
cod-depto
tot-emp
cod-emp
cod-depto
AMCM 56Aspecto Temporal
¡
Manter histórico de alterações
Ex.: Na oficina podemos ter que tratar um carro
que passa por vários proprietários
¡
Atributos que mudam
EMPREGADO
salário
EMPREGADO
SALARIO
RECEBE
data
(1,1)
(1,n)
Qual seria
outra opção?
valor
AMCM 57
Aspecto Temporal
¡
Relacionamentos que mudam
l
Adiciona-se um atributo para identificar o
momento de uma instância do relacionamento
lRelacionamentos 1:1 ou 1:n, tornam-se n:m
EMPREGADO
BAIUCA
ALOCAÇÃO
(1,n)
(1,n)
Pq precisa de um
identificador no
relacionamento?
data
EMPREGADO
BAIUCA
ALOCAÇÃO
(1,n)
(1,1)
Outras considerações
¡
Entidades isoladas
l
Será que faltam relacionamentos?
¡
Entidades sem atributo
l
Será que precisam existir como entidades?
¡
Relacionamentos n-ários
l
Será que deixamos de identificá-los?
¡
Restrições
l
Que outras restrições precisamos explicitar que
AMCM 59
Ferramentas
¡
BRModelo
l
Ferramenta freeware voltada para ensino de modelagem em
banco de dados relacional com base na metodologia
defendida por Carlos A. Heuser no livro "Projeto de Bando de
Dados" (capa a baixo).
l
Desenvolvida por
Carlos Henrique Cândido
sob a orientação
do Prof.
Dr. Ronaldo dos Santos Mello
(
UFSC
), como trabalho
de conclusão do cusro de pós-graduação em banco de dados
(UNVAG - MT e UFSC).
¡
Download, monografia, e fórum de discussão
l
http://www.sis4.com/brModelo/
¡
Video aula sobre o brModelo
l
http://www.cidandrade.pro.br/wink/brModelo.htm
¡Dia
lhttps://wiki.gnome.org/Dia
¡ER-Win
lhttp://erwin.com/
Exercícios
AMCM 601- Escolha um dos exemplos anteriores e modele-o utilizando
a ferramenta BR modelo
2- Como melhorar a expressividade do diagrama a seguir em
ER?
AMCM 61
Refs Bibliográficas
¡
Artigos
Ø
The Entity-Relationship Model - Toward
a Unified View of Data
. Transactions on
Database Systems, 1(1), March 1976. Peter Chen.
Ø
Entity Relationship Modeling with UML.
Davor Gornik –
disponível em:
http://www.ibm.com/developerworks/rational/
library/content/03July/2500/2785/2785_uml.pdf
Refs Bibliográficas
¡
Livros
Ø
Conceptual Database Design
Ø