Escolar Documentos
Profissional Documentos
Cultura Documentos
Entidade-Relacionamento
Fernanda Baião
UNIRIO
Projeto de Sistemas de
Informação
Levantamento de
requisitos
Análise
Análise Projeto Conceitual
Funcional
Funcional
Especificações
Especificaçõesde
de Projeto Lógico
Acesso
Acesso
Projeto
Projetoda
da Projeto Físico
Aplicação
Aplicação
Implementação
Validação e Teste
Processo de Software
Especificação: Projeto Conceitual
funcionalidade e restrições
Desenvolvimento:
Projeto Lógico
Projeto
implementação segundo
especificação
Projeto Físico
Validação:
testes para verificar se está de
acordo com especificação
Evolução:
para atender as mudanças
3
Fases Clássicas do
Desenvolvimento de SW
Levantamento de Requisitos
Análise de Requisitos
Projeto
Implementação
Testes
Implantação
Manutenção
management.
7. Project Management.
8. Environment.
9. Deployment.
5
Modelos
Ferramentas para modelagem
conceitual
ER- Peter Chen
UML- OMG (Grady, Booch, Rumbaugh)
IE (Information Engineering)- J. Martin
6
O Modelo ER
Elementos Básicos
Entidades: representam classes de objetos
do mundo real.
representadas graficamente por um retângulo rótulo
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. rótulo
Elementos Básicos
VIVE_NA
desde
identidade código
endereço habitantes
NASCIDA_NA
9
Diferentes Notações
1 1 1 1 1 1 1 1
1 1
n n
10
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.
aacardinalidade
cardinalidademínima
mínimatambém
tambémééconhecida
conhecidacomo
como
PARTICIPAÇÃO:
PARTICIPAÇÃO:
00==participação opcional
participação opcional 1 = participação obrigatória.
1 = participação obrigatória.
11
Grau
ALUNO PROFESSOR
ALOCAÇÃO
12
Cardinalidade ...
(0,n) (1,1)
CLIENTE FAZ PEDIDO
n 1
TRABALHA_EM
(1,1) (1,n) DEPARTAMENTO
EMPREGADO
1 n
HOMEM
(0,1) (0,1) MULHER
CASA
1 1
Relacionamentos n-ários
Primeira Tentativa:
14
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: Quem fornece a C1?
F F-P P P-C C Quem fornece a C2?
F1 C1 Armadilha: não há
P1 como determinar
F2 C2 que fornecedor
P2 fornece a que
cliente ! 15
Relacionamentos n-ários
agora podemos afirmar que:
F1 fornece P1. z P1 é fornecida a C1. z F1 fornece a C1.
F2 fornece P1. z P1 é fornecida a C2. z F2 fornece a C1.
F2 fornece P2. z P2 é fornecida a C1. z F2 fornece a C2.
F-C
F-P P-C
m
P
n
F1 C1
P1
F-P P-C
n m
F2 C2
m n P2
F F-C C
mas ... 16
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 !
F-C
F-P P-C
Quem fornece P1 a C1?
F1 C1
P1
F2 C2
P2 17
Relacionamentos n-ários
Solução: F-P-C
F C
P
P1 P2
F1 C1
C2
F2
18
Relacionamentos n-ários
(0,m) (0,n)
Solução: F-P-C
F C
(0,s)
P
P1 P2
F1 C1
C2
F2
19
A B C PEÇA COMPOSIÇÃO
A cilindro composto componente
B base R B
D E F C braço R C
D gancho S D
E linha S E
F suporte T E
T F
R S T R moldura
X R
S tirante
X S
T poleiro
X A
X ratoeira Y R
Y balanço Y T
X Y
Como modelar a composição
das peças?
20
PEÇA
composto componente
COMPOSIÇÃO
papéis
Endereço
22
Cardinalidade de Atributos
Cardinalidade mínima/máxima
23
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.
24
Cardinalidade de Atributos
VIVE_NA
desde
código
(0, n) (1, 1)
identidade
PESSOA CIDADE nome
nome
endereço
(1, n) (0, n) (1, 1) habitantes
(0, n)
e-mail data_nasc
NASCIDA_NA
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’}
26
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
(0,n) (0,1) Cidade
Telefone PESSOA Endereço Estado
Pais
Código_postal (0, 1)
Nome Sexo
27
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.
28
(0,n)
Nome DEPENDENTE
DataNascimento
DependenteID
30
Tipos de Identificadores ...
identificador externo e composto
PEDIDO PRODUTO
(1,1) (1,1)
idItem
inclui referencia
ITEM DE PEDIDO
(1,n) (0,n)
Entidade Fraca
entidade cujo identificador é externo
ou misto.
Matrícula
EMPREGADO
Nome
(1,1) NomeDoPai
CidadeDeResidência
TEM
Hierarquia de Generalização
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.
33
Propriedade de cobertura
total, exclusiva (t,e) parcial, exclusiva (p,e)
PESSOA VEÍCULO
AUTOMÓVEL
HOMEM MULHER
BICICLETA
JOGADOR JOGADOR
MESTRADO GRADUAÇÃO DE FUTEBOL
DE TÊNIS
34
Hierarquia de Generalização
Exemplo
PESSOA
(t,e) (p,e)
(t,i) (p,i)
35
36
Mecanismo de Herança ...
Nome Nome
Endereço HOMEM MULHER Endereço
Situação Militar NomeSolteira
Nome
PESSOA
Endereço
(t,e)
Mecanismo de Herança
Nome CPF
Rua
Profissão (1,n) Cidade
(0,n) PESSOA ENDEREÇO CEP (0,1)
GrauAcadêmico
Estado
País
(t,e) (p,e)
ID
CertificadoReservista NomeSolteira Matrícula SubTítulo
Número
Divisão
Patente
38
Detalhe de Notação
Identidade
permite dar um nome à PESSOA Nome
hierarquia de generalização Profissão
(t,e) SEXO
HOMEM MULHER
CertificadoReservista NomeSolteira
39
Leitura de Diagramas ER
Nome
Id Estado
(1,1) (0,n) Nome
Sobrenome
CIDADE nascida_em PESSOA Telefone
Idade
(1,1)
lotado_no DEPTO
mora_em (1,1)
(0,n) (1,n)
Categoria
ESTUDANTE PROFESSOR
Nível
(0,n) (1,1)
(0,n)
matriculado_em
ALUNOS_PG orientado_por
Grau (1,n) VISITANTE
(1,2) (1,1)
DISCIPLINA lecionado_por
Nome
(1,3) Início
(0,40) Número
ALOC SALA
Prédio Término
(0,n)
IdSala
Dia TEMPO
Hora
40
IdTempo
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.
41
Qualidades do Modelo ER
Representação Gráfica:
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.
oomodelo
modeloERERoferece
ofereceum
umbalanceamento
balanceamentoadequado
adequadoentre
entre
expressividade,
expressividade,simplicidade
simplicidadeeeminimalidade.
minimalidade.
44
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
45