Diagrama Entidade-Relacionamento (DER) - DEINF/UFMA
Diagrama Entidade-Relacionamento (DER) - DEINF/UFMA
Diagrama Entidade-Relacionamento (DER) - DEINF/UFMA
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
• Descreve relacionamentos entre objetos<br />
de dados;<br />
• conduz à modelagem de dados;<br />
• atributos de cada objeto =><br />
Descrição de Objetos de Dados;<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 1
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
entendo<br />
Reino<br />
Real<br />
Reino<br />
Imaginário<br />
(modelagem)<br />
Reino<br />
Representação<br />
represento<br />
– Nós não somos capazes de representar tudo o que imaginamos.<br />
– Nós somente representamos o que é interessante.<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 2
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
• Quais são os objetos de dados a serem<br />
processados pelo sistema?<br />
• Qual é a composição de cada objeto de dado e<br />
quais atributos descrevem o objeto?<br />
• Onde os objetos estão localizados?<br />
• Quais são os relacionamentos entre os objetos?<br />
• Qual é o relacionamento entre os objetos e os<br />
processos que os transformam?<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 3
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 4
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
MODELO DE DADOS - OBJETIVO Se chegar a um<br />
modelo teoricamente independente de máquina.<br />
*<br />
*<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 5
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
REPRESENTAÇÃO GRÁFICA DO <strong>DER</strong><br />
ENTIDADES<br />
(Objetos )<br />
FUNCIONÁRIOS<br />
FUNCIONÁRIOS<br />
matrícula<br />
nome<br />
ATRIBUIÇÕES<br />
(Descrição)<br />
RELACIONAMENTO<br />
(Forma como iteragem)<br />
lotações<br />
Profa. Maria Auxiliadora<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
6
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
ENTIDADE - todas as coisas que podemos<br />
observar no nosso cotidiano.<br />
Representa objetos<br />
FUNCIONÁRIO<br />
DEPARTAMENTO<br />
COR<br />
PRODUTO<br />
LIVRO<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 7
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
ENTIDADE - todas as coisas que podemos<br />
observar no nosso cotidiano.<br />
Representa Evento<br />
PEDIDO ( representa Pedido de Venda)<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 8
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
ENTIDADE - Identifique a partir de um contexto.<br />
COR<br />
Contexto Fabricante é um OBJETO <br />
ENTIDADE<br />
Contexto Revenda de Carro é uma<br />
CARACTERÍSTICA ATRIBUTO<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 9
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
Identificando uma ENTIDADE<br />
• Toda ENTIDADE deve ter um identificador<br />
Exemplo:<br />
FUNCIONÁRIO matrícula<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 10
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
Tipos de ENTIDADE<br />
• ENTIDADE FRACA não tem vida própria<br />
FUNCIONÁRIOS<br />
Têm<br />
DEPENDENTES<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 11
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
• Uma entidade fraca pode ser identificada<br />
considerando a chave primaria de outra entidade<br />
(proprietária).<br />
• Conjuntos de entidades proprietárias e conjuntos<br />
de entidades fracas tem que participar em conjunto<br />
de relacionamentos um- para- muitos.<br />
• Conjuntos de entidades fracas tem que ter<br />
participação total neste conjunto de relacionamento<br />
identificadores.<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 12
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
Tipos de ENTIDADE<br />
GENERALIZAÇÃO particionada<br />
Exemplo1<br />
EMPREGADO<br />
• Razões para se usar TIPO :<br />
ENGENHEIRO<br />
TIPO<br />
MOTORISTA<br />
– Para adicionar atributos<br />
descritivos para uma subclasse.<br />
– Para identificar entidades<br />
que participam de um<br />
relacionamento.<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 13
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
Exemplo2<br />
EMPREGADO<br />
TIPO<br />
Emp_horista<br />
Emp_Contratado<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 14
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
Exemplo3 - inverso<br />
CLIENTE<br />
CARTÃO<br />
DE CRÉDITO<br />
CLIENTE<br />
CLIENTE<br />
A<br />
DINHEIRO<br />
CLIENTE<br />
CARTÃO<br />
DE CRÉDITO<br />
CLIENTE<br />
A<br />
DINHEIRO<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 15
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
Exemplo4 - inverso<br />
No. SÓCIO<br />
DT-ASSOC.<br />
SÓCIO<br />
PESSOA-FÍSICA<br />
CPF<br />
NOME<br />
NASC.<br />
SEXO<br />
SÓCIO<br />
SÓCIO<br />
PESSOA-<br />
JURÍDICA<br />
CGC<br />
RAZÃO<br />
RAMO<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 16
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
ATRIBUTOS - descrição através de suas<br />
características particulares.<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 17
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
TIPOS DE ATRIBUTOS<br />
IDENTIFICADOR ÚNICO Um ou mais<br />
atributos de uma entidade cujo conteúdo<br />
individualiza uma única ocorrência desta<br />
<strong>Entidade</strong>.<br />
matrícula identifica a <strong>Entidade</strong><br />
FUNCIONÁRIO<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 18
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
• SIMPLES Atributo indivisíveis<br />
‣ nome, salário, cargo...<br />
• COMPOSTO ou CONCATENADO <br />
Conjunto de vários atributos.<br />
‣endereço rua,número,bairro,CEP<br />
• MULTIVALORADOS Multivalente<br />
‣ telefone * [resid | celular | comer ]<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 19
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
Estudo de Caso 1 - Exemplificar um objeto com<br />
suas características dentro do contexto<br />
Contratação de Modelos Fotográficos.<br />
CANDITADOS<br />
nome<br />
peso<br />
cor<br />
altura<br />
medidas<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 20
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
Representação do <strong>DER</strong><br />
PARTE ESTÁTICA ENTIDADE<br />
ATRIBUTOS<br />
PARTE DINÂMICA RELACIONAMENTO<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 21
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
Exemplo<br />
Clientes solicitam Cotações que geram<br />
Pedidos de Vendas quando aprovados; os<br />
Pedidos vendem Produtos em<br />
quantidades e preços diferentes que são<br />
faturados através da Nota fiscal, que é<br />
paga em parcelas pelas Duplicatas, etc.<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 22
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
RELACIONAMENTO descreve<br />
cronologicamente a dinâmica. Sendo que<br />
para cada relacionamento é registrado um<br />
tipo de movimento.<br />
Lotação<br />
lotado em<br />
DEPARTAMENTO<br />
lota<br />
FUNCIONÁRIO<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 23
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
Tipos de <strong>Relacionamento</strong> <br />
‣ POSSE<br />
FUNCIONÁRIO Possui DEPENDENTE<br />
CLIENTE Possui CONTA_BANCÁRIA<br />
‣ COMPOSIÇÃO<br />
COMPONENTE Compõe<br />
PRODUTO<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 24
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
Tipos de <strong>Relacionamento</strong> <br />
‣ GERAÇÃO / ORIGEM<br />
COTAÇÃO Gera PEDIDO<br />
‣ ALOCAÇÃO<br />
ANALISTA é_alocado_em PROJETO<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 25
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
Exemplo 1 <br />
Funcionário participa de curso e temos o<br />
controle do inicio do curso, fim do curso e<br />
nota do curso.<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 26
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
Exemplo 2 <br />
Carlos Lopes, engenheiro em informática,<br />
43 anos, possui um Gol 93, cor cinza,<br />
desde de 1997...<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 27
<strong>Diagrama</strong> <strong>Entidade</strong>-<strong>Relacionamento</strong> (<strong>DER</strong>)<br />
Exemplo 3 <br />
Sandra Maria, engenheira naval,23 anos,<br />
Analista de Sistema; tem especialização em<br />
banco de dados, Linguagem de Quarta<br />
Geração e Modelagem de Dados. Possui um<br />
Gol cor verde desde 1995.<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 28
CARDINALIDADE DOS RELACIONAMENTOS<br />
(Informação Semântica)<br />
• Define o número de ocorrências de uma <strong>Entidade</strong><br />
que pode estar envolvida em um relacionamento;<br />
• Indica a relação existente entre todas as linhas de<br />
uma <strong>Entidade</strong> “A” com todas as linhas de uma<br />
<strong>Entidade</strong> “B”;<br />
• É um indicador de opcionalidade, unicidade e<br />
multiplicidade dos relacionamento entre duas<br />
<strong>Entidade</strong>s, determinando o mínimo e o máximo de<br />
ocorrências.<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 29
CARDINALIDADE DOS RELACIONAMENTOS<br />
(Informação Semântica)<br />
• Conjuntos de relacionamentos que envolvem dois<br />
conjuntos de entidades são binários (ou de grau<br />
dois).<br />
• Conjuntos de relacionamentos podem envolver<br />
mais que dois conjuntos de entidades. Os conjuntos<br />
de entidades cliente, empréstimo, agência podem<br />
ser “ligados” por um conjunto de relacionamentos<br />
ternário (grau três).<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 30
domínio<br />
imagem<br />
CARDINALIDADE DOS RELACIONAMENTOS<br />
APLICAÇÕES SOBRE DADOS<br />
P = { p1, p2, p3, p4} Q = { q1, q2, q3 }<br />
P1<br />
A<br />
Q1<br />
P2<br />
Q2<br />
P3<br />
Q3<br />
P4<br />
A = { (p1,q1),( p2,q1), (p3,q2), (p3,q3),(p4,q4) }<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 31
CARDINALIDADE DOS RELACIONAMENTOS<br />
APLICAÇÕES SOBRE DADOS<br />
Definição Formal:<br />
Sejam E1 e E2 conjuntos de entidades.<br />
Um conjunto de relacionamentos binários R é<br />
um subconjunto de:<br />
{(e 1 , e 2 ) e 1 E 1 e 2 E 2 },<br />
onde (e 1 , e 2 ) é um relacionamento.<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 32
CARDINALIDADE DOS RELACIONAMENTOS<br />
APLICAÇÕES SOBRE DADOS<br />
–um-para-um (1:1) =><br />
”um marido pode ter somente uma esposa e viceversa”<br />
H<br />
M<br />
Adão<br />
José<br />
Romeu<br />
C<br />
Eva<br />
Maria<br />
Julieta<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 33
CARDINALIDADE DOS RELACIONAMENTOS<br />
APLICAÇÕES SOBRE DADOS<br />
– Aplicação 1:1 Domínio e Imagem podem ser fundidos<br />
Adão ,Eva<br />
C’<br />
José ,Maria<br />
Romeu ,Julieta<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 34
CARDINALIDADE DOS RELACIONAMENTOS<br />
APLICAÇÕES SOBRE DADOS<br />
–um-para-muitos (1:N) => ”uma marido pode ter muitas<br />
esposas, mas uma esposa tem apenas um marido.<br />
H<br />
M<br />
Eva<br />
Adão<br />
Cobra<br />
José<br />
Maria<br />
Romeu<br />
P<br />
Julieta<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 35
CARDINALIDADE DOS RELACIONAMENTOS<br />
APLICAÇÕES SOBRE DADOS<br />
Aplicação 1:N Os Elementos do domínio D podem ser<br />
expandidos ( não aconselhável).<br />
•Adão,Eva,Cobra<br />
D’<br />
• José, Maria<br />
• Romeu, Julieta<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 36
CARDINALIDADE DOS RELACIONAMENTOS<br />
APLICAÇÕES SOBRE DADOS<br />
muitos-para-muitos (M:N) => ”um marido pode ter várias mulheres,<br />
e uma mulher pode ter vários maridos<br />
H<br />
M<br />
Adão<br />
Eva<br />
José<br />
Romeu<br />
P<br />
Maria<br />
Julieta<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 37
CLASSE DE UM RELACIONAMENTO<br />
• Peter Chen<br />
Notação<br />
1<br />
FUNCIONÁRIO Gerencia<br />
1<br />
DEPART.<br />
•James Martin<br />
FUNCIONÁRIO<br />
DEPART.<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 38
CLASSE DE UM RELACIONAMENTO<br />
Notação<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 39
CLASSE DE UM RELACIONAMENTO<br />
Notação James Martin<br />
Empregado<br />
Departamento<br />
Exemplo de Modelagem, onde:<br />
= muitos<br />
= um<br />
= a ocorrência do relacionamento é opcional;<br />
= a ocorrência do relacionamento é obrigatória;<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 40
CLASSE DE UM RELACIONAMENTO<br />
• Um-para-um (1: 1).<br />
1<br />
FUNCIONÁRIO Gerencia<br />
1<br />
DEPART.<br />
Ou simplesmente<br />
FUNCIONÁRIO<br />
DEPART.<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 41
CLASSE DE UM RELACIONAMENTO<br />
• Muitos-para-um ( N : 1)<br />
N<br />
FUNCIONÁRIO Lota 1<br />
DEPART.<br />
Ou simplesmente<br />
FUNCIONÁRIO<br />
DEPART.<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 42
CLASSE DE UM RELACIONAMENTO<br />
• Muitos-para-muitos ( N : N)<br />
N<br />
N<br />
PEDIDOS tem PRODUTOS<br />
Em cada pedido, pode ter muitos<br />
produtos diferentes, e um produto pode fazer<br />
parte de diversos pedidos.<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 43
cod-ped<br />
CLASSE DE UM RELACIONAMENTO<br />
• Muitos-para-muitos ( N : N)<br />
PRODUTO<br />
ITEM_PEDIDO<br />
cod_ped + cod_prod<br />
cod-prod<br />
PEDIDO<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 44
MODALIDADE DE UM RELACIONAMENTO<br />
• MODALIDADE: indica se um elemento precisa<br />
ou não participar em um relacionamento;<br />
– relacionamento = 0<br />
não é necessária a ocorrência do<br />
relacionamento, ele é opcional;<br />
– relacionamento = 1<br />
uma ocorrência do relacionamento é<br />
obrigatória);<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 45
NATUREZA DE UM RELACIONAMENTO<br />
• TOTAIS<br />
• PARCIONAIS<br />
• RECURSIVOS OU AUTO-RELACIONAMENTO<br />
• RELACIONAMENTO MÚLTIPLOS<br />
• AGREGAÇÃO<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 46
NATUREZA DE UM RELACIONAMENTO<br />
Seja E conjunto de entidades e R<br />
conjunto de relacionamentos em que<br />
E participa.<br />
Se todo elemento de E deve estar<br />
obrigatoriamente em R, então R é<br />
TOTAL em E; caso contrário, R é<br />
PARCIAL em E.<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 47
NATUREZA DE UM RELACIONAMENTO<br />
Definição Formal:<br />
Dado um conjunto de relacionamentos R<br />
entre E 1 e E 2 ,<br />
R é TOTAL em E 1 se e 1 E 1 , e 2 E 2<br />
[(e 1 , e 2 ) R];<br />
R é PARCIAL em E 1 se e 1 E 1 , e 2 E 2<br />
[(e 1 , e 2 ) R].<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 48
NATUREZA DE UM RELACIONAMENTO<br />
TOTAL / PARCIAL<br />
FUNCIONÁRIO<br />
DEPART.<br />
Todo funcionário obrigatoriamente<br />
( | ) lota um departamento, mas<br />
nem todo (0) departamento é lotado<br />
por funcionários Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 49
NATUREZA DE UM RELACIONAMENTO<br />
TOTAL / PARCIAL<br />
FUNCIONÁRIO<br />
DEPART.<br />
Todo funcionário ( | ) lota um<br />
departamento; todo departamento é<br />
lotado por vários ( ) funcionários<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 50
NATUREZA DE UM RELACIONAMENTO<br />
RECURSIVO<br />
FUNCIONÁRIO<br />
1 N<br />
GERENCIA<br />
GERENCIADO<br />
Gerência<br />
Funcionário desempenha o papel de gerente<br />
ou de subordinado<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 51
NATUREZA DE UM RELACIONAMENTO<br />
EXEMPLO CLÁSSICO DE RECURSIVIDADE<br />
N<br />
é composto por<br />
PEÇAS<br />
N<br />
compõe<br />
Componentes<br />
“motor” COMPOSTO POR parafuso<br />
“parafuso” COMPÕE “motor”<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 52
NATUREZA DE UM RELACIONAMENTO<br />
RELACIONAMENTO MÚLTIPLOS<br />
PROFESSOR<br />
1<br />
Ensina N<br />
DISCIPLINA<br />
N<br />
ALUNO<br />
( P1,D1,A1 )<br />
( P1,D1,A2 )<br />
( P3,D1,A2 )<br />
<br />
Não pode existir<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 53
NATUREZA DE UM RELACIONAMENTO<br />
AGREGAÇÃO<br />
PROFESSOR<br />
1<br />
Ensina N<br />
DISCIPLINA<br />
1<br />
Cursa<br />
N<br />
ALUNO<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 54
NORMAS P/ DESENHAR UM <strong>DER</strong><br />
1. Identificar os conjuntos de entidades e<br />
os conjuntos de relacionamento;<br />
Baseado numa descrição grifar todos os<br />
substantivos e circular os verbos que sejam<br />
relevantes.<br />
Os funcionários trabalham em departamento<br />
específico.<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 55
NORMAS P/ DESENHAR UM <strong>DER</strong><br />
Os funcionários trabalham em departamento<br />
específico.<br />
FUNCIONÁRIO<br />
DEPART.<br />
O funcionário fornece seu nome e CPF<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 56
NORMAS P/ DESENHAR UM <strong>DER</strong><br />
2. Identificar as informações sobre<br />
características (classe) de cada conjunto<br />
de relacionamentos, tais como<br />
aplicações: 1:1, 1:N, e N:M;<br />
FUNCIONÁRIO<br />
DEPART.<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 57
NORMAS P/ DESENHAR UM <strong>DER</strong><br />
3. Definição dos conjuntos de valores e<br />
atributos; Atributos, quando se tratar de<br />
uma característica comum a um conjunto<br />
de objetos.<br />
FUNCIONÁRIO<br />
matricula<br />
nome<br />
sexo<br />
data_nasc<br />
endereço<br />
salário<br />
cargo<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
DEPART.<br />
cód_descrição<br />
descrição<br />
Profa. Maria Auxiliadora 58
NORMAS P/ DESENHAR UM <strong>DER</strong><br />
4. Identificar o(s) atributos identificar(es);<br />
matricula<br />
nome<br />
sexo<br />
data_nasc<br />
endereço<br />
salário<br />
cargo<br />
FUNCIONÁRIO<br />
DEPART.<br />
cód_descrição<br />
descrição<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 59
NORMAS P/ DESENHAR UM <strong>DER</strong><br />
4 Dicionário de Dados.<br />
FUNCIONÁRIO = matricula + nome +<br />
sexo + data_nasc +<br />
endereço + salário +<br />
cargo<br />
DEPART. = cód_descrição + descrição<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 60
Estudo de Casos<br />
1- Os alunos cursam as disciplinas<br />
dependendo do pré-requisito.<br />
2- Faça um <strong>DER</strong> que represente sistema<br />
de uma seguradora de automóveis com<br />
um grupo de clientes, cada um deles com<br />
diversos carros. Cada carro possui um<br />
número de acidentes registrados<br />
associados a eles.<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 61
Estudo de Casos<br />
3- Sistema de Reserva do Hotel.<br />
4- Sistema de Locadora de Filmes.<br />
5- Faça um <strong>DER</strong> que represente a entrega<br />
de produtos de uma empresa a seus<br />
clientes. A empresa que possui vários<br />
depósitos. (continua)<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 62
Estudo de Casos<br />
Considere após terminar seu diagrama se é possível<br />
você obter as informações abaixo:<br />
1. Em que depósito determinado produto está<br />
estocado?<br />
2. Quais depósitos enviaram a um certo cliente o<br />
produto?<br />
3. De quais depósitos provieram as entregas para um<br />
cliente?<br />
4. Quais os produtos entregues a um determinado<br />
cliente?<br />
Fonte:<br />
PRESSMAN, ROGER - Engenharia de Software - 6° Edição<br />
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.<br />
Profa. Maria Auxiliadora 63