O documento descreve os principais conceitos e elementos da modelagem conceitual utilizando o modelo Entidade-Relacionamento (ER), incluindo entidades, atributos, relacionamentos, cardinalidades, generalização e herança.
1. Modelagem Conceitual
Entidade-Relacionamento
Fernanda Baião
UNIRIO
Material parcialmente extraído a partir das notas de aula de
Maria Luiza M. Campos, Arnaldo Vieira e Maria Cláudia
Cavalcanti
1
2
Projeto de Sistemas de
Informação
Levantamento de
requisitos
Análise
Funcional Projeto Conceitual
Análise
Funcional
Especificações de
Especificações de
Acesso
Acesso
Projeto Lógico
Projeto da
Aplicação
Projeto da Projeto Físico
Aplicação
Implementação
Validação e Teste
3
Processo de Software
„ Especificação:
„ funcionalidade e restrições
„ Desenvolvimento:
„ Projeto
„ implementaçã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
2. 4
Fases Clássicas do
Desenvolvimento de SW
„ Levantamento de Requisitos
„ Análise de Requisitos
„ Projeto
„ Implementação
„ Testes
„ Implantação
„ Manutenção
5
RUP - Rational Unified
Process
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
Modelos
„ Ferramentas para modelagem
conceitual
„ ER - Peter Chen
„ UML - OMG (Grady, Booch, Rumbaugh)
„ IE (Information Engineering) - J. Martin
„ IDEF1X (US Federal Gov.)
3. 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á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
ou
rótulo
9
Elementos Básicos
VIVE_NA
PESSOA CIDADE
NASCIDA_NA
código
nome
habitantes
identidade
nome
endereço
desde
4. 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
„ 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
a cardinalidade mínima também é conhecida como
PARTICIPAÇÃO:
PARTICIPAÇÃO:
0 = participação opcional 1 = participação obrigatória.
0 = participação opcional 1 = participação obrigatória.
12
Grau
Relacionamento de Grau 2 ou binário.
EMPREGADO DDEEPPAARRTTAAMMEENNTTOO
LOTAÇÃO
Relacionamento de Grau 3 ou ternário.
DISCIPLINA
ALUNO PROFESSOR
ALOCAÇÃO
5. 13
Cardinalidade ...
(0,n) (1,1)
FAZ
CLIENTE PEDIDO
n 1
TRABALHA_EM
(1,1) (1,n) EMPREGADO DEPARTAMENTO
1 n
(0,1) (0,1) HOMEM MULHER
CASA
1 1
(1,n) (0,n) PEDIDO PEÇA
PEDE
m n
14
Relacionamentos n-ários
„ suponha que cada fornecedor possa
fornecer peças a clientes.
Primeira Tentativa:
(1,n) (1,n) (1,n) (1,n)
F F-P P P-C C
m n n m
15
Relacionamentos n-ários
„ suponha 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
F F-P P P-C C
P1
P2
Quem fornece a C1?
Quem fornece a C2?
Armadilha: não há
como determinar
que fornecedor
fornece a que
cliente !
6. 16
Relacionamentos n-ários
„ agora podemos afirmar que:
„ F1 fornece P1.
„ F2 fornece P1.
„ F2 fornece P2.
z P1 é fornecida a C1.
z P1 é fornecida a C2.
z P2 é fornecida a C1.
F
P
m
F-P
n
n
P-C
m
F-C C
F1
F2
C1
C2
F-C
F-P P-C
P1
P2
mas ...
m n
z F1 fornece a C1.
z F2 fornece a C1.
z F2 fornece a C2.
17
Relacionamentos n-ários
„ Essa 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; e
„ que fornecedores fornecem a que clientes.
„ Mas não podemos dizer:
„ que fornecedores fornecem que peças a que clientes !
F1
F2
F-P P-C Quem fornece P1 a C1?
C1
C2
F-C
P1
P2
18
Relacionamentos n-ários
F F-P-C C
P
P1 P2
F1
F2
C1
C2
Solução:
7. 19
Relacionamentos n-ários
(0,m) (0,n)
F F-P-C C
P
(0,s)
P1 P2
F1
F2
C1
C2
Solução:
COMPOSIÇÃO
composto componente
20
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
E linha
F suporte
R moldura
S tirante
T poleiro
X ratoeira
Y balanço
RRSS
TT
XXXYY
Como modelar a composição
das peças?
B
CDEE
F
RS
ART
21
Relacionamento Recursivo ...
PEÇA
composto componente
COMPOSIÇÃO
papéis
Ainda faltam as cardinalidades... (Cenas dos próximos capítulos)
8. 22
Atributos ...
„ propriedades utilizadas para descrever
entidades e relacionamentos.
Exemplo: a entidade empregado pode ser
descrita pelos atributos Nome, Registro, Sexo,
Endereço.
EMPREGADO
Nome
Registro
Sexo
Endereço
23
Cardinalidade 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.
24
Cardinalidade de Atributos
„ Seja 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.
9. 25
Cardinalidade de Atributos
VIVE_NA
PESSOA CIDADE
NASCIDA_NA
código
nome
habitantes
identidade
nome
endereço
desde
(1, n)
e-mail (0, n)
(0, n) (1, 1)
(0, n) (1, 1)
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...
hoje em dia uma pessoa
tem que ter pelo menos
um endereço eletrônico,
podendo ter vários.
26
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
Cor: {‘azul’, ‘amarelo’, ‘vermelho’}
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 (0, 1)
PESSOA Endereço
Nome
Telefone
(0,n) (0,1)
Sexo
10. 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; ou
„ pela combinação de seus atributos com os identificadores das
entidades com as quais ela possua um relacionamento
funcional e mandatório.
„ Propriedades
„ Nã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
PESSOA
NúmeroIdentidade
Nome
„ identificador interno e composto
PESSOA
IdentificadorDePessoa
Nome
DataDeNascimento
NomeDoPai
CidadeDeResidência
30
Tipos de Identificadores ...
„ identificador misto e composto
EMPREGADO
Matrícula
Nome
NomeDoPai
CidadeDeResidência
(1,1)
(0,n)
DEPENDENTE
Nome
TEM
DependenteID
DataNascimento
11. 31
Tipos de Identificadores ...
„ identificador externo e composto
PEDIDO PRODUTO
(1,1) (1,1)
inclui idItem
ITEM DE PEDIDO
(1,n) (0,n)
referencia
dentro de um pedido de compra, cada produto só pode constar de
apenas um item de pedido.
32
Entidade Fraca
„ entidade cujo identificador é externo
ou misto.
EMPREGADO
Matrícula
Nome
NomeDoPai
CidadeDeResidência
(1,1)
(1,n)
DEPENDENTE
Nome
TEM
DependenteID
Entidade Fraca
DataNascimento
Um Dependente precisa de Empregado para existir
Hierarquia de Generalização
33
„ 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.
„ especialização
„ o inverso da generalização
„ processo através do qual novas classes são definidas a
partir do refinamento de uma classe mais geral.
„ propriedade de cobertura
„ total (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.
12. 34
Propriedade de cobertura
PESSOA VEÍCULO
HOMEM MULHER
ESTUDANTE
parcial, exclusiva (p,e)
AUTOMÓVEL
BICICLETA
JOGADOR
DE TÊNIS
JOGADOR
DE FUTEBOL
total, exclusiva (t,e)
parcial, inclusiva (p,i)
total, inclusiva (t,i)
ESPORTISTAS DO CLUBE
MESTRADO GRADUAÇÃO
Hierarquia de Generalização
Exemplo
35
PESSOA
HOMEM
(t,e) (p,e)
MULHER GERENTE SECRETÁRIO EMPREGADO
(t,i)
GERENTE
TÉCNICO
GERENTE
ADM
(p,i)
ANALISTA VENDEDOR CONTADOR
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.)
13. „ Qual dos modelos abaixo é correto?
37
Mecanismo de Herança ...
(0, 1) NomeSolteira Nome
PESSOA
Endereço
(t,e)
(0, 1) SituaçãoMilitar
HOMEM MULHER
Nome
Endereço
Situação Militar
Nome
Endereço
NomeSolteira
PESSOA
Nome
Endereço
(t,e)
HOMEM MULHER
Situação Militar NomeSolteira
38
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ÇO
39
Detalhe de Notação
Identidade
Profissão
PESSOA Nome
(t,e) SEXO
permite dar um nome à
hierarquia de generalização
HOMEM MULHER
CertificadoReservista NomeSolteira
14. 40
Leitura de Diagramas ER
CIDADE PESSOA
ESTUDANTE PROFESSOR
DEPTO
ALUNOS_PG
DISCIPLINA
VISITANTE
ALOC
TEMPO
(0,n)
SALA
Nome
Estado
(0,n)
(1,1)
mora_em
(0,n)
matriculado_em
Grau (1,n)
(1,3)
(0,n)
Dia
Hora
(0,40) Número
Prédio
Nome
(1,1)
lecionado_por
(1,2)
(1,1)
orientado_por
(1,1) (0,n)
nascida_em Sobrenome
Idade
lotado_no
(1,1)
(1,n)
Nome
Telefone
Categoria
Nível
Início
Término
Id
IdSala
IdTempo
41
Notação do modelo ER
„ Não há padrão para os diagramas ER…
„ Cada metodologia usa uma notação
diferente
„ “losangos” versus “linhas rotuladas” para
relacionamentos
„ Sentido de leitura da cardinalidade de
relacionamento
„ Notação original [Chen 76] raramente é
seguida pelas ferramentas CASE
„ Variações conhecidas da notação
„ Bachman, crow's foot (“pés de galinha”),
IDEFIX.
Qualidades do Modelo ER ...
42
„ Expressividade:
„ 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.
„ Simplicidade:
„ 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.
15. Qualidades do Modelo ER ...
43
„ Minimalidade:
„ à 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.
„ Formalidade:
„ 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 ER
„„ Representaçã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
o modelo ER oferece um balanceamento adequado entre
expressividade, simplicidade e minimalidade.
expressividade, simplicidade e minimalidade.
45
Refs Bibliográficas
„ Conceptual Database Design
„ Batini, Ceri e Navathe
Benjamin/Cummings Pub. Co.
„ Modelagem Conceitual
e Projeto de Banco de Dados
„ Paulo Cougo
Ed Campus 3a. ed.
„ Projeto de Banco de Dados
„ Carlos Heuser ed. Sagra Luzzatto
„ Sistemas de Bancos de Dados
„ Elmasri, Navathe
Ed Pearson