1
Modelagem Conceitual Entidade-Relacionamento
Fernanda BaiãoUNIRIO
Material parcialmente extraído a partir das notas de aula de Maria Luiza M. Campos, Arnaldo Vieira e Maria Cláudia
Cavalcanti
2
Projeto de Sistemas de Informação
Levantamento de requisitos
Análise FuncionalAnálise
Funcional Projeto Conceitual
Especificações de Acesso
Especificações de Acesso
Projeto Lógico
Projeto FísicoProjeto daAplicação
Projeto daAplicação
Implementação
Validação e Teste
3
Processo de Software
Especificação:funcionalidade e restrições
Desenvolvimento:Projetoimplementação segundo especificação
Validação: testes para verificar se está de acordo com especificação
Evolução: para atender as mudanças
Projeto Conceitual
Projeto Lógico
Projeto Físico
4
Fases Clássicas do Desenvolvimento de SW
Levantamento de RequisitosAnálise de RequisitosProjetoImplementaçãoTestesImplantaçãoManutenção
5
RUP - Rational UnifiedProcess
1. Business Engineering. 2. Requirements. 3. Analysis and Design. 4. Implementation. 5. Test. 6. Configuration and change
management. 7. Project Management. 8. Environment. 9. Deployment.
Projeto Conceitual
Projeto Lógico
Projeto Físico
6
ModelosFerramentas para modelagem conceitual
ER - Peter ChenUML - OMG (Grady, Booch, Rumbaugh)IE (Information Engineering) - J. MartinIDEF1X (US Federal Gov.)
7
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 enriquecer a expressividade do modelo.
8
Elementos BásicosEntidades: 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
9
Elementos Básicos
NASCIDA_NA
PESSOA CIDADE
VIVE_NA
código
nome
habitantes
identidade
nome
endereço
desde
10
Diferentes Notações
1
n
1
n
1
n
1
1
1
0,1
1
0.n
1
0.n
1
n
1
n
1
n
11
Propriedades dos Relacionamentos
Grautotal de entidades que participam do relacionamento.
Cardinalidadenú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.
a cardinalidade mínima também é conhecida como PARTICIPAÇÃO:
0 = participação opcional 1 = participação obrigatória.
12
Grau
DEPARTAMENTODEPARTAMENTOEMPREGADOLOTAÇÃO
Relacionamento de Grau 2 ou binário.
DISCIPLINA
PROFESSORALUNOALOCAÇÃO
Relacionamento de Grau 3 ou ternário.
13
Cardinalidade ...
CLIENTECLIENTE PEDIDOPEDIDO
(1,1) (1,n)EMPREGADOEMPREGADO DEPARTAMENTODEPARTAMENTO
(0,n) (1,1)FAZFAZ
(0,1) (0,1)HOMEMHOMEM MULHERMULHER
(1,n) (0,n)PEDIDOPEDIDO PEÇAPEÇA
TRABALHA_EMTRABALHA_EM
CASACASA
PEDEPEDE
n 1
1 n
1 1
m n
14
Relacionamentos n-ários
suponha que cada fornecedor possa fornecer peças a clientes.
(1,n) (1,n)(1,n)(1,n)FF PP CCFF--PP PP--CC
m n n m
Primeira Tentativa:
15
Relacionamentos n-áriossuponha também que segundo levantamentos sobre o contexto em foco, sabe-se que:
F1 fornece P1 a C1.F2 fornece P1 a C2.F2 fornece P2 a C1.
representando esses dados num diagrama de ocorrências:
F1
F2
C1
C2
P1
P2
FF FF--PP PP CCPP--CCQuem fornece a C1?Quem fornece a C1?Quem fornece a C2?Quem fornece a C2?
Armadilha: Armadilha: não há como determinar que fornecedor fornece a que cliente !
16
Relacionamentos n-áriosagora podemos afirmar que:
F1 fornece P1.F2 fornece P1.F2 fornece P2.
P1 é fornecida a C1.P1 é fornecida a C2.P2 é fornecida a C1.
FF
PP
FF--PP
m
nPP--CC
n
m
CCFF--CC
F1
F2
C1
C2
P1
P2
F-C
F-P P-C
mas ...m n
F1 fornece a C1.F2 fornece a C1.F2 fornece a C2.
17
Relacionamentos n-áriosEssa solução ainda possui uma armadilha de conexão !Podemos dizer:
que fornecedores fornecem que peças;que peças são fornecidas a que clientes; eque fornecedores fornecem a que clientes.
Mas não podemos dizer:que fornecedores fornecem que peças a que clientes !
F1
F2
C1
C2
P1
P2
F-C
F-P P-C Quem fornece P1 a C1?Quem fornece P1 a C1?
18
Relacionamentos n-ários
P
CF F-P-C
P1 P2
F1F1
F2F2
C1C1
C2C2
Solução:
19
Relacionamentos n-ários
P
CF F-P-C(0,m) (0,n)
(0,s)
P1 P2
F1F1
F2F2
C1C1
C2C2
Solução:
20
Peças e suas componentes
A B C
D E F
R S T
X Y
PEÇA
A cilindroB baseC braçoD ganchoE linhaF suporteR molduraS tiranteT poleiroX ratoeiraY balanço
Como modelar a composição das peças?
composto componente
RRSSTTXXXYY
BCDEEFRSART
COMPOSIÇÃO
21
Relacionamento Recursivo ...
PEÇAPEÇA
componentecompostoCOMPOSIÇÃOCOMPOSIÇÃO
papéis
Ainda faltam as cardinalidades... (Cenas dos próximos capítulos)
22
Atributos ...propriedades utilizadas para descrever entidades e relacionamentos.
EMPREGADOEMPREGADORegistro
Sexo
Endereço
Nome
Exemplo: a entidade empregado pode ser descrita pelos atributos Nome, Registro, Sexo, Endereço.
23
Cardinalidade de AtributosCardinalidade 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.
24
Cardinalidade de AtributosSeja A um atributo da entidade E:
se min-card (A, E) = 0• o atributo é opcional• pode ser nulo para algumas instâncias de E.
se min-card (A, E) = 1• o atributo é mandatório• deve assumir no mínimo 1 valor para cada instância de E.
se max-card (A, E) = 1• o atributo é mono-valorado• só pode assumir 1 único valor para cada instância de E.
se max-card (A, E) > 1• o atributo é multi-valorado• ele pode assumir mais de um valor para cada instância de E.
25
Cardinalidade de Atributos
NASCIDA_NA
PESSOA CIDADE
VIVE_NA
código
nome
habitantes
identidade
nome
endereço
desde
e-mail(0, 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...
(1, n)
hoje em dia uma pessoa tem que ter pelo menos um endereço eletrônico,
podendo ter vários.
26
Domínio de um AtributoTodo 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éricoNome: TextoCor: {‘azul’, ‘amarelo’, ‘vermelho’}
27
Tipos de Atributossimples - 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úmeroCidadeEstadoPaisCódigo_postal (0, 1)
PESSOAPESSOA EndereçoEndereço
Nome
Telefone(0,n) (0,1)
Sexo
28
Identificador de Entidade Def.: Atributo, simples ou composto, que identifica unicamente cada instância da entidade.O identificador de uma entidade pode ser formado:
por um subconjunto dos atributos que a descrevem; oupela combinação de seus atributos com os identificadores das entidades com as quais ela possua um relacionamento funcional e mandatório.
PropriedadesNão podem existir duas instâncias da entidade com o mesmo valor do identificador.Se qualquer componente do identificador for retirado, a propriedade de unicidade deixa de ser satisfeita. Todos os componentes de um identificador devem ser mandatórios, isto é, não podem assumir o valor nulo.
29
Tipos de Identificadores ...identificador interno e simples
identificador interno e composto
PESSOAPESSOA NúmeroIdentidadeNome
PESSOAPESSOADataDeNascimentoNome
NomeDoPaiCidadeDeResidência
IdentificadorDePessoa
30
Tipos de Identificadores ...identificador misto e composto
EMPREGADOEMPREGADONomeMatrícula
NomeDoPaiCidadeDeResidência
DEPENDENTEDEPENDENTE
(0,n)
(1,1)
Nome
TEMTEM
DependenteID
DataNascimento
31
Tipos de Identificadores ...identificador externo e composto
dentro de um pedido de compra, cada produto só pode constar de apenas um item de pedido.
(1,n) (0,n)
PRODUTOPRODUTOPEDIDOPEDIDO
referenciareferencia
ITEM DE PEDIDO ITEM DE PEDIDO
idItemincluiinclui
(1,1) (1,1)
32
Entidade Fracaentidade cujo identificador é externo ou misto.
EMPREGADOEMPREGADONome
Matrícula
NomeDoPaiCidadeDeResidência
DEPENDENTEDEPENDENTE
(1,n)
(1,1)
Nome
TEMTEM
DependenteIDDataNascimento
Entidade Fraca
Um Dependente precisa de Empregado para existir
33
Hierarquia de Generalizaçãouma 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.especialização
o inverso da generalizaçãoprocesso através do qual novas classes são definidas a partir do refinamento de uma classe mais geral.
propriedade de coberturatotal (t) ou parcial (p)exclusiva (e) ou inclusiva (i)se a cobertura for total e exclusiva, (t, e), ela não precisa ser representada no diagrama.
34
Propriedade de cobertura
ESTUDANTE
MULHERHOMEMBICICLETA
AUTOMÓVEL
JOGADORDE TÊNIS
JOGADORDE FUTEBOL
total, exclusiva (t,e)
parcial, inclusiva (p,i)
parcial, exclusiva (p,e)
total, inclusiva (t,i)ESPORTISTAS DO CLUBE
PESSOA VEÍCULO
MESTRADO GRADUAÇÃO
35
Hierarquia de GeneralizaçãoExemplo
PESSOAPESSOA
HOMEMHOMEM
(t,e) (p,e)
(t,i)
MULHERMULHER GERENTEGERENTE SECRETÁRIOSECRETÁRIO EMPREGADOEMPREGADO
GERENTEGERENTETÉCNICOTÉCNICO
GERENTEGERENTEADMADM
(p,i)
VENDEDORVENDEDOR CONTADORCONTADORANALISTAANALISTA
36
Mecanismo de Herança ...todas as propriedades da superclasse são passadas por herança às suas subclasses (atributos, relacionamentos, outras generalizações etc.)
37
Mecanismo de Herança ...
PESSOAPESSOA
HOMEMHOMEM MULHERMULHER
Endereço
(t,e)
(0, 1) SituaçãoMilitar(0, 1) NomeSolteira Nome
EndereçoNome
Situação MilitarEndereçoNome
NomeSolteira
PESSOAPESSOA
HOMEMHOMEM MULHERMULHER
Endereço
(t,e)
Nome
Situação Militar NomeSolteira
Qual dos modelos abaixo é correto?
38
Mecanismo de Herança
PESSOAPESSOA
HOMEMHOMEM
(t,e) (p,e)
MULHERMULHER SECRETÁRIOSECRETÁRIOEMPREGADOEMPREGADO
RuaCidadeCEP (0,1)EstadoPaís
(1,n)
Nome CPF
ProfissãoGrauAcadêmico (0,n)
CertificadoReservista NomeSolteira Matrícula SubTítulo
MILITARMILITAR
Número
Divisão
Patente
ID
ENDEREÇOENDEREÇO
39
Detalhe de Notação
PESSOAPESSOA NomeIdentidade
Profissão
HOMEMHOMEM MULHERMULHER
(t,e) SEXO
CertificadoReservista NomeSolteira
permite dar um nome à hierarquia de generalização
40
Leitura de Diagramas ER
CIDADECIDADE PESSOAPESSOA
ESTUDANTEESTUDANTE PROFESSORPROFESSOR
DEPTODEPTO
DISCIPLINADISCIPLINA
ALUNOS_PGALUNOS_PGVISITANTEVISITANTE
ALOC
TEMPOTEMPO
SALASALA
NomeEstado
(0,n)
(1,1)
mora_emmora_em
matriculado_emmatriculado_em
(0,n)
(1,n)Grau
(1,3)
(0,n)Dia
Hora
(0,40) NúmeroPrédio
Nome(1,1)
lecionado_porlecionado_por(1,2)
(1,1)
orientado_pororientado_por(0,n)
(0,n)(1,1)nascida_emnascida_em Sobrenome
Idade
lotado_nolotado_no(1,1)
(1,n)
Nome
Telefone
CategoriaNível
Início
Término
Id
IdSala
IdTempo
41
Notação do modelo ERNão há padrão para os diagramas ER…Cada metodologia usa uma notação diferente
“losangos” versus “linhas rotuladas” para relacionamentosSentido de leitura da cardinalidade de relacionamento
Notação original [Chen 76] raramente é seguida pelas ferramentas CASEVariações conhecidas da notação
Bachman, crow's foot (“pés de galinha”), IDEFIX.
42
Qualidades do Modelo ER ...ExpressividadeExpressividade::
inclui os três mecanismos de abstração: classificação, agregação e generalização.suporta relacionamentos n-ários, o que é motivo de críticas por parte dos defensores do mundo binário.
SimplicidadeSimplicidade::a riqueza de conceitos torna o modelo uma poderosa ferramenta para a descrição da realidade.entretanto, o modelo não é muito simples, especialmente no que diz respeito aos conceitos de cardinalidade, cobertura de generalização e identificação.uma solução é produzir diagramas ER em diferentes níveis de detalhe.
43
Qualidades do Modelo ER ...MinimalidadeMinimalidade::
à exceção dos atributos compostos, nenhum conceito do modelo pode ser descrito em termos dos demais.o fato da mesma realidade poder ser modelada de diferentes maneiras não invalida a minimalidade do modelo.
FormalidadeFormalidade::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.
44
Qualidades do Modelo ERRepresentação GráficaRepresentação Gráfica::
o modelo é graficamente completo, isto é, todos os seus conceitos possuem um símbolo gráfico associado.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.
o modelo ER oferece um balanceamento adequado entre expressividade, simplicidade e minimalidade.
45
Refs BibliográficasConceptual Database Design
Batini, Ceri e NavatheBenjamin/Cummings Pub. Co.
Modelagem Conceitual e Projeto de Banco de Dados
Paulo CougoEd Campus 3a. ed.
Projeto de Banco de DadosCarlos Heuser ed. Sagra Luzzatto
Sistemas de Bancos de DadosElmasri, NavatheEd Pearson