Anda di halaman 1dari 15

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

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

RUP - Rational Unified


Process
1. Business Engineering.
Projeto Conceitual
2. Requirements.
3. Analysis and Design.
Projeto Lógico
4. Implementation.
5. Test.
6. Configuration and change Projeto Físico

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

„ IDEF1X (US Federal Gov.)

6
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.
7

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

„ Atributos: representam propriedades


elementares das entidades e/ou dos
relacionamentos. rótulo
representados graficamente por um segmento de ou
reta rotulado com o nome do atributo em uma de rótulo
suas extremidades.
8

Elementos Básicos
VIVE_NA
desde

identidade código

nome PESSOA CIDADE nome

endereço habitantes

NASCIDA_NA

9
Diferentes Notações

1 1 1 1 1 1 1 1

1 0,1 n n n n 0.n 0.n

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

Relacionamento de Grau 2 ou binário.


EMPREGADO DEPARTAMENTO
DEPARTAMENTO
LOTAÇÃO

Relacionamento de Grau 3 ou ternário.


DISCIPLINA

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

PEDIDO (1,n) (0,n) PEÇA


PEDE
m n
13

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

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

Peças e suas componentes

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

Relacionamento Recursivo ...

PEÇA

composto componente
COMPOSIÇÃO

papéis

Ainda faltam as cardinalidades... (Cenas dos próximos capítulos)


21
Atributos ...
„ propriedades utilizadas para descrever
entidades e relacionamentos.

Exemplo: a entidade empregado pode ser


descrita pelos atributos Nome, Registro, Sexo,
Endereço.
Nome
Registro
EMPREGADO
Sexo

Endereço

22

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.

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

uma pessoa pode não


ter telefone ou ter
se a cardinalidade do atributo for (1,1),
vários... hoje em dia uma pessoa
ela não precisa ser especificada.
tem que ter pelo menos
um endereço eletrônico,
podendo ter vários. 25

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

Tipos de Identificadores ...


„ identificador interno e simples
NúmeroIdentidade
PESSOA
Nome

„ identificador interno e composto


IdentificadorDePessoa
PESSOA Nome
DataDeNascimento
NomeDoPai
CidadeDeResidência
29

Tipos de Identificadores ...


„ identificador misto e composto
EMPREGADO Matrícula
Nome
(1,1) NomeDoPai
CidadeDeResidência
TEM

(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)

dentro de um pedido de compra, cada produto só pode constar de


apenas um item de pedido.
31

Entidade Fraca
„ entidade cujo identificador é externo
ou misto.
Matrícula
EMPREGADO
Nome
(1,1) NomeDoPai
CidadeDeResidência
TEM

(1,n) Entidade Fraca


Nome DEPENDENTE
DataNascimento
DependenteID
Um Dependente precisa de Empregado para existir 32

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

total, inclusiva (t,i) parcial, inclusiva (p,i)


ESPORTISTAS DO CLUBE
ESTUDANTE

JOGADOR JOGADOR
MESTRADO GRADUAÇÃO DE FUTEBOL
DE TÊNIS

34

Hierarquia de Generalização
Exemplo
PESSOA

(t,e) (p,e)

HOMEM MULHER GERENTE SECRETÁRIO EMPREGADO

(t,i) (p,i)

GERENTE GERENTE ANALISTA VENDEDOR CONTADOR


TÉCNICO ADM

35

Mecanismo de Herança ...


„ todas as propriedades da
superclasse são passadas por
herança às suas subclasses
(atributos, relacionamentos, outras
generalizações etc.)

36
Mecanismo de Herança ...

„ Qual dos modelos abaixo é correto?


(0, 1) NomeSolteira Nome
PESSOA
(0, 1) SituaçãoMilitar Endereço
(t,e)

Nome Nome
Endereço HOMEM MULHER Endereço
Situação Militar NomeSolteira

Nome
PESSOA
Endereço
(t,e)

Situação Militar HOMEM MULHER NomeSolteira


37

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)

HOMEM MULHER EMPREGADO SECRETÁRIO MILITAR

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 ...


„ Expressividade:
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:
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.
42
Qualidades do Modelo ER ...
„ Minimalidade:
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:
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.
43

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