MODELO
MODELO
-
-
ER
ER
Prof. Edson Thizon
Prof. Edson Thizon
SISTEMA DE INFORMA
SISTEMA DE INFORMA
Ç
Ç
ÃO
ÃO
• Componentes
– Entidades - os objetos de significância sobre os quais as informações necessitam ser mantidas.
– Atributos - a informação específica a qual necessita ser mantida. – Relacionamentos - como os objetos de significância são
relacionados.
– Generalização/especialização – Entidade associativa
Modelo Entidade
Modelo Entidade
-
-
Relacionamento
Relacionamento
• Entidade é alguma coisa (objeto significante) sobre a qual a informação precisa ser conhecida ou mantida. OU
• Conjunto de objetos da realidade modelada sobre os quais deseja-se manter informações no banco de dados.
• Pode representar objetos concretos ou abstratos.
• Outras definições de Entidade:
– Um objeto de interesse de negócios. – Uma classe ou categoria de alguma coisa – Uma entidade é a nomeação de algo. • Exemplos
– EMPREGADO – DEPARTAMENTO – PROJETO
ENTIDADE
ENTIDADE
-
-
Conceito
Conceito
ATRIBUTOS
ATRIBUTOS
-
-
Conceito
Conceito
• Atributos são informações sobre uma entidade que precisa ser conhecida ou mantida. Atributos descrevem uma entidade pela qualificação, identificação, classificação, quantidade ou expressando o estado da entidade.
• Exemplo
• Quais são alguns dos atributos da entidade EMPREGADO? – código ou número da folha de pagamento identificam um EMPREGADO – nome e sobrenome qualificam um EMPREGADO
– categoria da folha de pagamentto (semanal, mensal) classificam um EMPREGADO – a idade quantifica um EMPREGADO
– status do emprego (ativo, aposentado) expressa a posição do EMPREGADO
• Conjunto de associações entre entidades sobre as quais deseja-se manter informações na base de dados. • O relacionamento é a associação bi-direcional, significante
entre duas entidades, ou entre a entidade e ela mesma.
RELACIONAMENTO
RELACIONAMENTO
-
-
Conceito
Conceito
EMPREGADO
DEPARTAMENTO
r esponsável porLOTAÇÃO
Cardinalidade de Relacionamentos
Cardinalidade de Relacionamentos
• Propriedade importante de um relacionamento
– Quantas ocorrências de uma entidade podem estar associadas a uma determinada ocorrência de entidade através do relacionamento.
• Chamada de cardinalidade de uma entidade em
um relacionamento
• Duas cardinalidades
– Máxima – mínima
• Convenções
– Uma linha entre duas entidades
– Nome das conexões localizados abaixo dos soft box – Opcionalidade (cardinalidade mínima):
opcional (pode ser) obrigatório(deve ser)
– Grau (cardinalidade máxima):
um ou mais um e somente um
RELACIONAMENTO
RELACIONAMENTO
-
-
Conven
Conven
ç
ç
ões
ões
m u i t o s o b r i g at ó r i o o p ci o n al u m (p é d e g al i n h a)
Cardinalidade m
Cardinalidade m
á
á
xima no DER
xima no DER
EMPREGADO
DEPARTAMENTO
r esponsável por
LOTAÇÃO
Expressa que a cada ocorrência de
EMPREGADO (entidade do lado oposto da
anotação) deve estar associada ao máximo
uma (“1”) ocorrência de DEPERTAMENTO
Cardinalidade m
Cardinalidade m
á
á
xima no DER
xima no DER
EMPREGADO
DEPARTAMENTO
r esponsável por
LOTAÇÃO
Expressa que a cada ocorrência de
DEPARTAMENTO (entidade do lado oposto
da anotação) pode estar associadas muitas
(“n”) ocorrências de EMPREGADO
Cardinalidade m
Cardinalidade m
í
í
nima no DER
nima no DER
EMPREGADO
DEPARTAMENTO
r esponsável por
LOTAÇÃO
Expressa que a cada ocorrência de
EMPREGADO (entidade do lado da
anotação) deve estar associada a uma
ocorrência de DEPERTAMENTO
Cardinalidade m
Cardinalidade m
í
í
nima no DER
nima no DER
EMPREGADO
DEPARTAMENTO
r esponsável por
LOTAÇÃO
Expressa que a cada ocorrência de
DEPARTAMENTO (entidade do lado da
anotação) pode estar associada a muitas
ocorrência de EMPREGADO
RELACIONAMENTO
RELACIONAMENTO
-
-
Leitura
Leitura
Sintaxe
Cada entidade1 { deve ser} NOME DO RELAC. {um ou mais} entidade2 {ou pode ser } {ou um único}
• Exemplo
– O relacionamento entre o instrutor e o curso é: • Cada CURSO pode ser lecionado por um e somente um PROFESSOR. • Cada PROFESSOR pode ser alocado para lecionar um ou mais CURSOs.
• Cada direção da conexão tem:
– um nome --- lecionadopor ou alocado para. – uma opção --- deve ser ou pode ser ,um ou outro. – um grau (cardinalidade) ---um e somente um ou um ou mais .
RELACIONAMENTO
RELACIONAMENTO
-
-
Exemplo
Exemplo
• Primeiro leia o relacionamento em uma direção, e então leia orelacionamento no outro sentido.
• Exemplo:
– Cada ALUNO pode se matricular em um ou mais CURSOs. – Cada CURSO pode ser cursado para um ou mais ALUNOs.
– Cada CHEQUE deve ser para um e somente um EMPREGADO. – Cada EMPREGADO pode receber um ou mais CHEQUEs de pagamento.
CURSO ALUNO matriculado em
Ministrado para
CHEQUE para EMPREGADO Receber
Classifica
Classifica
ç
ç
ão de relacionamentos
ão de relacionamentos
• Cardinalidade máxima pode ser usada para
classificar relacionamentos binários
• Relacionamento binário
– É aquele cujas instâncias envolvem duas instâncias de entidades
• Existem 3 tipos de relacionamentos binários
– muitos para um (M:1)– muitos para muitos (M:M) – um para um (1:1)
RELACIONAMENTO
RELACIONAMENTO
–
–
(M:1)
(M:1)
Existe um relacionamento muitos para um (M:1)
entre CLIENTE e REPRESENTANTE COMERCIAL).
• Notas
-Os relacionamentos M:1 são muitos comuns.
-Os relacionamentos M:1 que são obrigatórios em ambas
as direções são raros.
CLIENTE visitadopor REPRESENTANTE
Designado a visitar
RELACIONAMENTO
RELACIONAMENTO
–
–
(M:M)
(M:M)
• Existe um relacionamento M:M entre ALUNO e
CURSO.
– Cada ALUNO pode ser matriculado em um ou mais CURSOs. – Cada CURSO pode ser cursado por um ou mais ALUNOs.
• Notas
– Relacionamentos M:M são muito comuns.
– Na maioria dos casos os relacionamentos M:M são opcionais em ambas as direções, contudo esta relação pode ser opcional em somente uma direção.
ALUNO matriculado em inscrito por CURSO
RELACIONAMENTO
RELACIONAMENTO
–
–
(1:1)
(1:1)
• Existe um relacionamento 1:1 entre COMPUTADOR
e CPU
– Cada COMPUTADOR deve ser o hospedeiro de uma e somente uma CPU.
– Cada CPU pode ser incorporada em um e somente um COMPUTADOR.
• Notas
– Este relacionamento é raro.
– Entidades que pareçam ter uma relação 1:1 podem ser realmente a mesma entidade
CPU COMPUTADORo hospedeiro de incorporado no
RELACIONAMENTO
RELACIONAMENTO
–
–
UID
UID
• Uma entidade pode ser unicamente identificada através de umarelação. • Exemplo
– Na indústria dos bancos, para cada banco é atribuido um único número. Dentro de um banco, cada conta tem um único número. Qual é o UID da entidade CONTA? – CONTA é unicamente identificada pelo seu número de atributo e o
específico BANCO com que ela está relacionada.
• Usar a barra UID para indicar que a relação é parte do UID da entidade.
• Exemplo
– A barra UID indica que o relacionamento com BANCO é parte do UID da CONTA.
BANCO
#cd_banco
CONTA
o gerente de #nr_conta gerenciado porGeneraliza
Generaliza
ç
ç
ão/especializa
ão/especializa
ç
ç
ão
ão
• Conceito permite
– Atribuir propriedade particulares a um
subconjunto das ocorrências (especializadas)
de uma entidade genérica
• Herança de propriedades
• Herdar propriedade significa
– Cada ocorrência da entidade especializada
possui
• Além de suas próprias propriedades
• Também as propriedades da ocorrência da entidade genérica correspondente
Especializa
Especializa
ç
ç
ão
ão
• “Uma empresa definiu dois tipos de funcionários:
privilegiados e não-privilegiados. Para todos eles,
traçar cada número, nome, sobrenome, e o
departamento designado. Para os privilegiados traçar
também seu salário. Para os não-privilegiados trace a
quantia horária, a quantia total e membro da união.”
• Especialização Total
– Indica que todo FUNCIONÁRIO é ou FUNCIONÁRIO PRIVILEGIADO ou FUNCIONÁRIO NÃO-PRIVELIGIADO.
• Especialização Parcial
– Indica que nem todo FUNCIONÁRIO é ou FUNCIONÁRIO PRIVILEGIADO ou FUNCIONÁRIO NÃO-PRIVELIGIADO.
Especializa
Especializa
ç
ç
ão
ão
-
-
DER
DER
FUNCIONÁRIO #*número FUNCIONÁRIO #*número FUNCIONÁRIO #*número FUNCIONÁRIO #*número *nome *nome *nome *nome *sobrenome *sobrenome *sobrenome *sobrenome FUNCIONÁRIO FUNCIONÁRIO FUNCIONÁRIO FUNCIONÁRIO PRIVILEGIADO PRIVILEGIADO PRIVILEGIADO PRIVILEGIADO *salário *salário *salário *salário FUNCIONÁRIO FUNCIONÁRIOFUNCIONÁRIO FUNCIONÁRIO NÃO-PRIVILEGIADO NÃO-PRIVILEGIADONÃO-PRIVILEGIADO NÃO-PRIVILEGIADO *quantia horária *quantia horária *quantia horária *quantia horária *quantia total *quantia total *quantia total *quantia total DEPARTAMENTO DEPARTAMENTODEPARTAMENTO
DEPARTAMENTO UNIÃOUNIÃOUNIÃOUNIÃO
feitode feitodefeitode
feitode feito defeito defeito defeito de membro membromembro membro de de de de designado designado designado designado a aa a
Relacionamento Exclusivo
Relacionamento Exclusivo
• Modelar dois ou mais relacionamentos mutuamente
exclusivos vindos da mesma entidade usando um arco.
• Exemplo:
– Uma CONTA BANCÁRIA qualquer deve ser apropriada a um INDIVÍDUO ou apropriada a uma COMPANHIA. Usar o arco para modelar este relacionamento.
• Cada CONTA BANCÁRIA deve ser adquirida por um e somente um INDIVÍDUO ou por uma e somente uma COMPANHIA.
CONTA BANCÁRIA INDIVÍDUO COMPANHIA Adquirida pora Adquirida por o dono da o dono da
Relacionamento Exclusivo
Relacionamento Exclusivo
• Um ponto no arco é usado para significar que um relacionamento pertence ao arco.
• Qualquer relacionamento cruzado pelo arco pertence a ele. Uma quebra no arco indica que o relacionamento não está incluído no arco.
ENTIDADE ASSOCIATIVA
ENTIDADE ASSOCIATIVA
• Atributos podem parecer associados com o
relacionamento M:M. Resolver o relacionamento M:M
pela adição de uma entidade associativa com aqueles
atributos.
– Exemplo: Considere qo relacionamento M:M entre PRODUTO e VENDEDOR. Qual o preço atual de um específico PRODUTO de um específico VENDEDOR?
preço atual parece ser um atributo do relacionamento entre PRODUTO e VENDEDOR. Atributos descrevem somente entidades. Se atributos descrevem
Substituindo relacionamento
Substituindo relacionamento
por entidade
por entidade
• Substituir ou resolver um relacionamento M:M
com uma nova Entidade Associativa e duas
relações M:1.
– O relacionamento M:M entre PRODUTO e VENDEDOR pode ser resolvido pela adição de uma entidade intersecção ITEM DO CATÁLOGO. Preço atual é realmente um atributo desta entidade. ITEM CATÁLOGO ITEM CATÁLOGO ITEM CATÁLOGO ITEM CATÁLOGO *preço atual *preço atual *preço atual *preço atual *quant. do pacote *quant. do pacote *quant. do pacote *quant. do pacote *unidade de medida *unidade de medida *unidade de medida *unidade de medida VENDEDOR VENDEDOR VENDEDOR VENDEDOR #*código #*código #*código #*código *nome *nome *nome *nome PRODUTO PRODUTOPRODUTO PRODUTO #* id #* id #* id #* id *nome *nome *nome *nome *descrição *descrição *descrição *descrição para para para para para para para para fornecedor fornecedor fornecedor fornecedor de de de de fornecido fornecido fornecido fornecido por porpor por
Entidade Associativa
Entidade Associativa
-
-
Layout
Layout
• Posicionar Entidades Intersecção
– Layout do relacionamento M:M
– Layout da Entidade Associativa
gerenciado gerenciadogerenciado gerenciado entidade intersecção entidade intersecção entidade intersecção entidade intersecção entidades referentes entidades referentes entidades referentes entidades referentes ou
Entidade Associativa
Entidade Associativa
-
-
UID
UID
• O UID de uma entidade intersecção é
frequentemente composto de seus
relacionamentos com as entidades originárias.
– Ex: “Trace a data em que cada aluno foi
matriculado, a data em que completou o curso e o
grau do aluno.”
ALUNO
ALUNO
ALUNO
ALUNO
#*id
#*id
#*id
#*id
*sobrenome
*sobrenome
*sobrenome
*sobrenome
*nome
*nome
*nome
*nome
o telefone
o telefone
o telefone
o telefone
CURSO
CURSO
CURSO
CURSO
#*código
#*código
#*código
#*código
*nome
*nome
*nome
*nome
o taxa
o taxa
o taxa
o taxa
o duração
o duração
o duração
o duração
matriculado matriculado matriculado matriculado em em em em escolhido escolhido escolhido escolhido por por por porEntidade Associativa
Entidade Associativa
-
-
Solu
Solu
ç
ç
ão
ão
Adicione a entidade intersecção MATRÍCULA e
dois relacioonamentos M:1.
A L U N O A L U N O A L U N O A L U N O # * id # * id# * id # * id * s o b r e n o m e * s o b r e n o m e * s o b r e n o m e * s o b r e n o m e * n o m e * n o m e * n o m e * n o m e o t e le f o n e o t e le f o n e o t e le f o n e o t e le f o n e C U R S O C U R S O C U R S O C U R S O # * c ó d ig o # * c ó d ig o # * c ó d ig o # * c ó d ig o * n o m e * n o m e * n o m e * n o m e o t a x a o t a x a o t a x a o t a x a o d u r a ç ã o o d u r a ç ã o o d u r a ç ã o o d u r a ç ã o M A T R Í C U L A M A T R Í C U L AM A T R Í C U L A M A T R Í C U L A * d a t a d a m a t r íc u la * d a t a d a m a t r íc u la * d a t a d a m a t r íc u la * d a t a d a m a t r íc u la o d a t a e m q u e c o m p le t o u o d a t a e m q u e c o m p le t o u o d a t a e m q u e c o m p le t o u o d a t a e m q u e c o m p le t o u o g r a u o g r a u o g r a u o g r a u p a r a p a r a p a r a p a r a p a r ap a r ap a r ap a r a m a t r i c u l a d o m a t r i c u l a d o m a t r i c u l a d o m a t r i c u l a d o e m e m e m e m e s c o lh i d oe s c o lh i d oe s c o lh i d oe s c o lh i d op o rp o rp o rp o rRELACIOINAMENTO RECURSIVO
RELACIOINAMENTO RECURSIVO
(auto
(auto
-
-
relacionamento)
relacionamento)
•
Um Relacionamento Recursivo é o relacionamento
entre a entidade e ela mesma.
•
Exemplo:
– Cada EMPREGADO pode ser gerenciado por um e somente
um EMPREGADO.
– Cada EMPREGADO pode ser o gerente de um ou mais
EMPREGADOS. EMPREGADO #*número *nome *sobrenome o trabalho o salário o comissão gerenciado por gerente de
PASSOS
PASSOS
•
Siga os cinco passos para analisar e modelar os
relacionamentos.
•
Passos:
1. Determine a existência do relacionamento.
2. Nomeie cada direção do relacionamento.
3. Determine a opcionalidade para cada direção do
relacionamento.
4. Determine o grau para cada direção do
relacionamento.
PASSOS
PASSOS
• PASSO 1 - DETERMINAR A EXISTÊNCIA DORELACIONAMENTO
– Determine a existência do relacionamento. Examine cada par de entidades para determinar se a relacionamento existe.
• Pergunte sobre a existência do relacionamento. – Existe uma relação significativa entre ENTIDADE A e
ENTIDADE B?
• Exemplos
• Considere as entidades DEPARTAMENTO e EMPREGADO. – Há uma relação significativa entre DEPARTAMENTO e
EMPREGADO?
– Sim, há um relacionamento significativo entre as entidades.
PASSOS
PASSOS
• PASSO 2 - NOMEANDO O RELACIONAMENTO– Nomeie cada direção do relacionamento.
• Perguntar o nome do relacionamento
– Como a ENTIDADE A é relacionada com a ENTIDADE B? • Uma ENTIDADE A “é o nome do relacionamento” uma
ENTIDADE B.
– Como a ENTIDADE B é relacionada com a ENTIDADE A? • Uma ENTIDADE B “é o nome do relacionamento” uma
ENTIDADE A. • Exemplo
• Considere o relacionamento entre DEPARTAMENTO e EMPREGADO. – Como estas entidades são relacionadas?
– Cada DEPARTAMENTO é responsável pelo EMPREGADO. – Cada EMPREGADO é designado para um DEPARTAMENTO.
PASSOS
PASSOS
• PASSO 3 - DETERMINAR A OPCIONALIDADE DOS RELACIONAMENTOS – Determinar a opcionalidade de cada direção dos relacionamentos. • Perguntar sobre a opcionalidade das relações
– A ENTIDADE A deve ser “ nome do relacionamento” ENTIDADE B? – A ENTIDADE B pode ser “ nome do relacionamento” ENTIDADE A? • Exemplo
• Considere o relacionamento entre DEPARTAMENTO e EMPREGADO. – Um EMPREGADO deve ser designado a um DEPARTAMENTO? Sempre? – Existe alguma situação em que o EMPREGADO não seria designado a um
DEPARTAMENTO?
• Não, um EMPREGADO deve sempre ser designado a um DEPARTAMENTO.
– Um DEPARTAMENTO deve ser responsável por um EMPREGADO? • Não, um DEPARTAMENTO não tem que ser responsável por um
empregado.
PASSOS
PASSOS
• PASSO 4 - DETERMINAR O GRAU DOS RELACIONAMENTOS – Determinar o grau em ambas direções
• Perguntar sobre os graus de relacionamentos
– Pode a ENTIDADE A ser “nome do relacionamento” de mais de uma ENTIDADE B?
– Pode a ENTIDADE B ser “nome do relacionamento” de mais de uma ENTIDADE A?
• Exemplo
• Considere a relação entre DEPARTAMENTO e EMPREGADO.
– Pode um EMPREGADO ser designado para mais de um DEPARTAMENTO? • Não, um EMPREGADO deve ser designado para apenas um
DEPARTAMENTO.
– Pode um DEPARTAMENTO ser responsável por mais de um EMPREGADO? • Sim, um Departamento pode ser responsável por mais de um
empregado.
PASSOS
PASSOS
• PASSO 5 - VALIDAR O RELACIONAMENTO – Re-examinar o modelo E-R e validar o relacionamento. • Leia o Relacionamento
– Os relacionamentos devem ser legíveis e fazer sentido ao negócio. • Exemplo
• Leia o relacionamento representado pelo seguinte diagrama.
– Cada EMPREGADO deve ser designado a um e somente um DEPARTAMENTO. – Cada DEPARTAMENTO pode ser responsável por um ou mais EMPREGADOs.
DEPARTAMENTO EMPREGADO Designado para responsávelpor