Buscar

4- DER

Prévia do material em texto

Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
carlafcf@gmail.com
Universidade	
  Federal	
  do	
  Rio	
  Grande	
  do	
  Norte	
  
Departamento	
  de	
  Engenharia	
  de	
  Computação	
  e	
  Automação	
  
DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Carla	
  Fernandes	
  
Abordagem	
  EnGdade	
  
Relacionamento	
  
1	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Projeto	
  de	
  um	
  banco	
  de	
  dados	
  
1.  Mondelagem	
  conceitual	
  
–  Independe	
  da	
  implementação	
  
– Ex.:	
  Abordagem	
  enGdade-­‐relacionamento	
  
2.  Projeto	
  lógico	
  
– Depende	
  do	
  Gpo	
  de	
  SGBD	
  uGlizado	
  
– Descreve	
  a	
  estrutura	
  do	
  SGBD	
  
•  Vamos	
  começar	
  com	
  a	
  modelagem	
  conceitual	
  
2	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Abordagem	
  EnGdade-­‐Relacionamento	
  
•  Técnica	
  para	
  construir	
  modelos	
  conceituais	
  de	
  
bases	
  de	
  dados	
  
–  Independe	
  da	
  implementação	
  em	
  computador	
  
•  Técnica	
  de	
  modelagem	
  de	
  dados	
  mais	
  
difundida	
  e	
  uGlizada	
  
•  Criada	
  em	
  1976,	
  por	
  Peter	
  Chen	
  
3	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Modelo	
  enGdade-­‐relacionamento	
  
•  Modelo	
  en/dade-­‐relacionamento	
  (ER)	
  
– Representa	
  o	
  modelo	
  de	
  dados	
  
•  Descrição	
  dos	
  Gpos	
  de	
  dados	
  que	
  estão	
  armazenados	
  
no	
  banco	
  de	
  dados	
  
•  ObjeGvo	
  do	
  modelo	
  ER	
  
– Modelar	
  de	
  forma	
  abstrata	
  um	
  BD	
  
•  Representado	
  graficamente	
  
– Diagrama	
  enGdade-­‐relacionamento	
  (DER)	
  
4	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Conceitos	
  centrais	
  da	
  abordagem	
  ER	
  
•  EnGdade	
  
•  Relacionamento	
  
•  Atributo	
  
•  Generalização/especialização	
  
•  EnGdade	
  associaGva	
  
5	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
EnGdade	
  
Conjunto	
  de	
  objetos	
  da	
  realidade	
  modelada	
  
sobre	
  os	
  quais	
  deseja-­‐se	
  manter	
  informações	
  no	
  
banco	
  de	
  dados	
  	
  
	
  
6	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
EnGdade	
  -­‐	
  Exemplos	
  
Indústria	
  
– Produtos	
  
– Tipos	
  de	
  produtos	
  
– Vendas	
  
– Compras	
  
7	
  
Conta	
  corrente	
  de	
  
um	
  banco	
  
– Clientes	
  
– Conta	
  correntes	
  
– Cheques	
  
– Agências	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
EnGdade	
  
•  Pode	
  representar:	
  
– Objetos	
  concretos:	
  pessoa,	
  automóvel	
  
– Objetos	
  abstratos:	
  departamento,	
  endereço	
  
•  Representação	
  em	
  um	
  DER	
  
– Retângulo	
  
–  Instância	
  ou	
  ocorrência	
  
•  Um	
  objeto	
  em	
  parGcular	
  
8	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  1	
  
IdenGficar	
  enGdades	
  
Sistema	
  de	
  vendas	
  
	
  
Deseja-­‐se	
  construir	
  um	
  banco	
  de	
  dados	
  para	
  um	
  
sistema	
  de	
  vendas.	
  Em	
  cada	
  venda	
  são	
  vendidos	
  
vários	
  produtos	
  e	
  um	
  determinado	
  produto	
  
pode	
  aparecer	
  em	
  diferentes	
  vendas.	
  Cada	
  
venda	
  é	
  efetuada	
  por	
  um	
  vendedor	
  para	
  um	
  
determinado	
  cliente.	
  Um	
  produto	
  está	
  
armazenado	
  um	
  uma	
  prateleira.	
  
9	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  2	
  
IdenGficar	
  enGdades	
  
Administradora	
  de	
  imóveis	
  
	
  
A	
  administradora	
  trabalha	
  tanto	
  com	
  administração	
  de	
  
condomínios	
  quanto	
  com	
  a	
  administração	
  de	
  aluguéis.	
  
Uma	
  entrevista	
  com	
  o	
  gerente	
  da	
  administradora	
  
resultou	
  nas	
  seguintes	
  informações:	
  
•  A	
  administradora	
  administra	
  condomínios	
  formados	
  
por	
  unidades	
  condominiais	
  
•  Cada	
  unidade	
  condominial	
  é	
  de	
  propriedade	
  de	
  uma	
  
ou	
  mais	
  pessoas.	
  Uma	
  pessoa	
  pode	
  possuir	
  diversas	
  
unidades.	
  Cada	
  unidade	
  pode	
  estar	
  alugada	
  para	
  no	
  
máximo	
  uma	
  pessoa.	
  Uma	
  pessoa	
  pode	
  alugar	
  diversas	
  
unidades.	
  
10	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Propriedades	
  das	
  enGdades	
  
•  EnGdade	
  isoladamente	
  não	
  informa	
  nada	
  
•  É	
  necessário	
  atribuir	
  propriedades	
  às	
  
enGdades	
  
•  Exemplos	
  de	
  propriedades	
  
– Relacionamentos	
  
– Atributos	
  
– Generalizações/especializações	
  
11	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Relacionamento	
  
12	
  
Conjunto	
  de	
  associações	
  entre	
  enGdades	
  sobre	
  
as	
  quais	
  deseja-­‐se	
  manter	
  informações	
  na	
  base	
  
de	
  dados.	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Relacionamento	
  
•  Exemplo	
  
– Saber	
  quais	
  pessoas	
  estão	
  associadas	
  a	
  quais	
  
departamentos	
  em	
  uma	
  organização	
  
•  Representação	
  em	
  um	
  DER	
  
– Losango	
  
–  Instância	
  ou	
  ocorrência	
  
•  Uma	
  associação	
  em	
  parGcular	
  
13	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Diagrama	
  de	
  ocorrências	
  de	
  relacionamentos	
  
14	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Auto-­‐relacionamento	
  
•  Um	
  relacionamento	
  não	
  precisa	
  relacionar	
  
duas	
  enGdades	
  diferentes	
  
•  Papel	
  de	
  uma	
  enGdade	
  no	
  relacionamento	
  
•  Exemplo:	
  
– Casamento	
  
•  Uma	
  ocorrência	
  de	
  pessoa	
  é	
  o	
  marido	
  
•  Uma	
  ocorrência	
  de	
  pessoa	
  é	
  a	
  esposa	
  
15	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Relacionamentos	
  
•  Mais	
  do	
  que	
  um	
  relacionamento	
  pode	
  exisGr	
  
entre	
  as	
  mesmas	
  enGdades.	
  
16	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Diagrama	
  de	
  ocorrências	
  para	
  o	
  
relacionamento	
  casamento	
  
17	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  
IdenGficar	
  relacionamentos	
  
Deseja-­‐se	
  construir	
  um	
  banco	
  de	
  dados	
  para	
  um	
  
sistema	
  de	
  vendas.	
  Em	
  cada	
  venda	
  são	
  vendidos	
  
vários	
  produtos	
  e	
  um	
  determinado	
  produto	
  
pode	
  aparecerem	
  diferentes	
  vendas.	
  Cada	
  
venda	
  é	
  efetuada	
  por	
  um	
  vendedor	
  para	
  um	
  
determinado	
  cliente.	
  Um	
  produto	
  está	
  
armazenado	
  um	
  uma	
  prateleira.	
  
18	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Cardinalidade	
  de	
  relacionamentos	
  
•  Propriedade	
  importante	
  de	
  um	
  
relacionamento	
  
– QuanGdade	
  de	
  ocorrências	
  de	
  uma	
  enGdade	
  que	
  
podem	
  estar	
  associadas	
  a	
  outra	
  ocorrência	
  de	
  
uma	
  enGdade	
  através	
  de	
  um	
  relacionamento	
  
– Chamado	
  do	
  CARDINALIDADE	
  
•  Cardinalidade	
  máxima	
  
•  Cardinalidade	
  mínima	
  
19	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Cardinalidade	
  máxima	
  
•  EnGdade	
  PESSOA	
  
–  Cardinalidade	
  máxima:	
  1	
  
–  Uma	
  pessoa	
  pode	
  estar	
  lotada	
  em	
  no	
  máximo	
  1	
  
departamento	
  
•  EnGdade	
  DEPARTAMENTO	
  
–  Cardinalidade	
  máxima:	
  120	
  
–  Um	
  departamento	
  pode	
  ter	
  no	
  máximo	
  120	
  pessoas	
  
lotadas	
  nele	
  
20	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Cardinalidade	
  máxima	
  
•  Cardinalidade	
  1	
  
•  Cardinalidade	
  n	
  
21	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Classificação	
  de	
  relacionamentos	
  
•  Grau	
  de	
  relacionamento	
  
–  Refere-­‐se	
  ao	
  número	
  de	
  enGdades	
  que	
  parGcipa	
  do	
  
relacionamento	
  
•  Relacionamento	
  binário	
  
–  É	
  aquele	
  em	
  que	
  as	
  ocorrências	
  envolvem	
  duas	
  
enGdades	
  
•  Classificação	
  
–  UGliza	
  a	
  cardinalidade	
  máxima	
  
–  Tipos	
  
•  n:n	
  
•  1:n	
  
•  1:1	
  
22	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Relacionamento	
  1:1	
  
23	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Relacionamento	
  1:n	
  
24	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Relacionamento	
  n:n	
  
25	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Outra	
  forma	
  de	
  representar	
  
26	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  1	
  
IdenGficar	
  cardinalidade	
  
Deseja-­‐se	
  construir	
  um	
  banco	
  de	
  dados	
  para	
  um	
  
sistema	
  de	
  vendas.	
  Em	
  cada	
  venda	
  são	
  vendidos	
  
vários	
  produtos	
  e	
  um	
  determinado	
  produto	
  
pode	
  aparecer	
  em	
  diferentes	
  vendas.	
  Cada	
  
venda	
  é	
  efetuada	
  por	
  um	
  vendedor	
  para	
  um	
  
determinado	
  cliente.	
  Um	
  produto	
  está	
  
armazenado	
  um	
  uma	
  prateleira.	
  
27	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  2	
  
IdenGficar	
  cardinalidades	
  
Administradora	
  de	
  imóveis	
  
	
  
A	
  administradora	
  trabalha	
  tanto	
  com	
  administração	
  de	
  
condomínios	
  quanto	
  com	
  a	
  administração	
  de	
  aluguéis.	
  
Uma	
  entrevista	
  com	
  o	
  gerente	
  da	
  administradora	
  
resultou	
  nas	
  seguintes	
  informações:	
  
•  A	
  administradora	
  administra	
  condomínios	
  formados	
  
por	
  unidades	
  condominiais	
  
•  Cada	
  unidade	
  condominial	
  é	
  de	
  propriedade	
  de	
  uma	
  
ou	
  mais	
  pessoas.	
  Uma	
  pessoa	
  pode	
  possuir	
  diversas	
  
unidades.	
  Cada	
  unidade	
  pode	
  estar	
  alugada	
  para	
  no	
  
máximo	
  uma	
  pessoa.	
  Uma	
  pessoa	
  pode	
  alugar	
  diversas	
  
unidades.	
  
28	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  2	
  
IdenGficar	
  enGdades	
  
Administradora	
  de	
  imóveis	
  
29	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Relacionamento	
  ternário	
  
30	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Relacionamento	
  ternário	
  
31	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Relacionamento	
  n-­‐ário	
  vs.	
  binário	
  
•  Depende	
  do	
  problema	
  
•  Exemplo:	
  
– Relacionamento	
  pai	
  –	
  mãe	
  –	
  filho	
  
•  Caso	
  não	
  soubermos	
  quem	
  é	
  o	
  pai,	
  deveremos	
  uGlizar	
  
um	
  dado	
  valor	
  nulo	
  (null)	
  
– Também	
  pode	
  ser	
  representado	
  por	
  dois	
  
relacionamentos	
  binários	
  
•  Podemos	
  saber	
  quem	
  é	
  a	
  mãe	
  mesmo	
  sem	
  o	
  
conhecimento	
  do	
  pai	
  
32	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Conversão	
  n-­‐ário	
  para	
  binário	
  
33	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  
IdenGficar	
  enGdades,	
  relacionamentos	
  e	
  cardinalidades	
  
Em	
  uma	
  empresa	
  de	
  desenvolvimento	
  de	
  
sistemas	
  informaGzados,	
  pessoas	
  são	
  alocadas	
  a	
  
tarefas.	
  No	
  momento	
  da	
  alocação	
  da	
  pessoa	
  a	
  
tarefa,	
  também	
  lhe	
  é	
  alocado	
  um	
  equipamento	
  
para	
  resolver	
  a	
  tarefa.	
  
34	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Cardinalidade	
  mínima	
  
•  Número	
  mínimo	
  de	
  ocorrências	
  de	
  en/dade	
  
que	
  são	
  associadas	
  a	
  uma	
  ocorrência	
  de	
  uma	
  
en/dade	
  através	
  de	
  um	
  relacionamento	
  	
  
•  Tipos	
  
– Cardinalidade	
  mínima	
  0	
  
– Cardinalidade	
  mínima	
  1	
  
35	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Cardinalidade	
  mínima	
  –	
  Gpos	
  
•  Cardinalidade	
  mínima	
  1	
  
– “Associação	
  obrigatória”	
  
–  Indica	
  que	
  obrigatoriamente	
  
deve	
  haver	
  um	
  associamento	
  
das	
  enGdades	
  em	
  questão	
  
•  Cardinalidade	
  mínima	
  0	
  
– “Associação	
  opcional”	
  
–  Indica	
  que	
  não	
  
necessariamente	
  deve	
  haver	
  
um	
  associamento	
  das	
  
enGdades	
  em	
  questão	
  
36	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Cardinalidade	
  mínima	
  –	
  Gpos	
  
37	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Outra	
  forma	
  de	
  representar	
  
•  Par%al	
  par%cipa%on	
  
– Nem	
  todo	
  customer	
  tem	
  que	
  ter	
  um	
  loan	
  
•  Total	
  par%cipa%on	
  
– Todo	
  loan	
  tem	
  que	
  ter	
  um	
  customer	
  associado	
  a	
  
ele	
  
38	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimentode	
  So9ware	
  
Exercício	
  1	
  
EnGdades	
  e	
  Relacionamentos	
  
39	
  
Universidade	
  
	
  
Um	
  determinado	
  departamento	
  pode	
  oferecer	
  
disciplinas	
  na	
  universidade.	
  Algumas	
  disciplinas	
  
possuem	
  pré-­‐requisitos.	
  
Todas	
  as	
  disciplinas	
  são	
  oferecidas	
  a	
  pelo	
  menos	
  
um	
  curso	
  da	
  universidade.	
  Os	
  cursos	
  são	
  formados	
  
por	
  conjuntos	
  de	
  disciplinas.	
  
Os	
  alunos	
  podem	
  se	
  inscrever	
  em	
  um	
  curso	
  
oferecido	
  pela	
  universidade.	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  1	
  
EnGdades	
  e	
  Relacionamentos	
  
40	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  2	
  
EnGdades	
  e	
  Relacionamentos	
  
41	
  
Modifique	
  o	
  exemplo	
  anterior	
  
	
  
Modifique	
  as	
  cardinalidades	
  mínimas	
  para	
  
especificar	
  o	
  seguinte:	
  
•  Um	
  curso	
  pode	
  estar	
  vazio,	
  sem	
  nenhuma	
  
disciplina	
  em	
  seu	
  currículo	
  
•  Uma	
  disciplina	
  pode	
  não	
  pertencer	
  a	
  nenhum	
  
curso	
  
•  Um	
  aluno	
  pode	
  não	
  estar	
  inscrito	
  em	
  nenhum	
  
curso	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  3	
  
Desenvolva	
  o	
  DER	
  
1.  Um	
  aluno	
  realiza	
  vários	
  trabalhos.	
  Um	
  
trabalho	
  é	
  realizado	
  por	
  um	
  ou	
  mais	
  alunos.	
  
42	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  3	
  
Desenvolva	
  o	
  DER	
  
1.  Um	
  aluno	
  realiza	
  vários	
  trabalhos.	
  Um	
  
trabalho	
  é	
  realizado	
  por	
  um	
  ou	
  mais	
  alunos.	
  
43	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  3	
  
Desenvolva	
  o	
  DER	
  
2.  Um	
  diretor	
  dirige	
  no	
  máximo	
  um	
  
departamento.	
  Um	
  departamento	
  tem	
  no	
  
máximo	
  um	
  diretor.	
  
44	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  3	
  
Desenvolva	
  o	
  DER	
  
2.  Um	
  diretor	
  dirige	
  no	
  máximo	
  um	
  
departamento.	
  Um	
  departamento	
  tem	
  no	
  
máximo	
  um	
  diretor.	
  
45	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  3	
  
Desenvolva	
  o	
  DER	
  
3.  Um	
  autor	
  escreve	
  vários	
  livros.	
  Um	
  livro	
  pode	
  
ser	
  escrito	
  por	
  vários	
  autores.	
  
46	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  3	
  
Desenvolva	
  o	
  DER	
  
3.  Um	
  autor	
  escreve	
  vários	
  livros.	
  Um	
  livro	
  pode	
  
ser	
  escrito	
  por	
  vários	
  autores.	
  
47	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  3	
  
Desenvolva	
  o	
  DER	
  
4.  Uma	
  equipe	
  é	
  composta	
  por	
  vários	
  
jogadores.	
  Um	
  jogador	
  joga	
  apenas	
  em	
  uma	
  
equipe.	
  
48	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  3	
  
Desenvolva	
  o	
  DER	
  
4.  Uma	
  equipe	
  é	
  composta	
  por	
  vários	
  
jogadores.	
  Um	
  jogador	
  joga	
  apenas	
  em	
  uma	
  
equipe.	
  
49	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  3	
  
Desenvolva	
  o	
  DER	
  
5.  Um	
  cliente	
  realiza	
  várias	
  encomendas.	
  Uma	
  
encomenda	
  diz	
  respeito	
  apenas	
  a	
  um	
  cliente.	
  
50	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  3	
  
Desenvolva	
  o	
  DER	
  
5.  Um	
  cliente	
  realiza	
  várias	
  encomendas.	
  Uma	
  
encomenda	
  diz	
  respeito	
  apenas	
  a	
  um	
  cliente.	
  
51	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Atributo	
  
52	
  
Dado	
  que	
  é	
  associado	
  a	
  cada	
  
ocorrência	
  de	
  uma	
  enGdade	
  ou	
  de	
  
um	
  relacionamento.	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
•  Representado	
  por	
  uma	
  elipse	
  
•  Em	
  diagramas	
  MUITO	
  grandes	
  eles	
  não	
  são	
  
representados	
  
–  Para	
  não	
  sobrecarregar	
  
–  EnGdades	
  podem	
  possuir	
  muitos	
  atributos	
  
•  Domínio	
  
–  Conjunto	
  de	
  valores	
  permiGdos	
  para	
  cada	
  atributo	
  
Atributo	
  
53	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Tipos	
  de	
  atributos	
  
•  Simples	
  
–  Ex.:	
  CPF	
  
•  Compostos	
  
–  Ex.:	
  Nome	
  –	
  first_name	
  /	
  middle_name	
  /	
  
last_name	
  
•  Mono-­‐valorados	
  
–  Possui	
  apenas	
  uma	
  instância	
  
–  Ex.:	
  student_id	
  
•  Mul/-­‐valorados	
  
–  Pode	
  possuir	
  mais	
  de	
  uma	
  instância	
  
–  Ex.:	
  Telefone	
  
•  Derivados	
  
–  Ex.:	
  Idade	
  –	
  pode	
  ser	
  derivado	
  da	
  data	
  de	
  
aniversário	
  
54	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Atributos	
  –	
  Exemplos	
  
55	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  
IdenGficar	
  atributos	
  
Considere	
  o	
  exercício	
  das	
  vendas	
  
	
  
Para	
  cada	
  cliente	
  é	
  necessário	
  conhecer	
  o	
  código,	
  nome,	
  endereço	
  
(rua,	
  número,	
  complemento,	
  CEP,	
  cidade,	
  estado)	
  e	
  seu	
  telefone.	
  
	
  
Para	
  cada	
  vendedor	
  é	
  necessário	
  conhecer	
  o	
  código,	
  nome,	
  telefone	
  e	
  
senha	
  do	
  sistema.	
  
	
  
Para	
  cada	
  venda	
  é	
  necessário	
  conhecer	
  a	
  data	
  e	
  o	
  número	
  da	
  nota	
  
fiscal.	
  
	
  
Para	
  cada	
  produto	
  é	
  necessário	
  conhecer	
  o	
  número,	
  o	
  código	
  de	
  
barras	
  e	
  a	
  descrição.	
  
	
  
Cada	
  prateleira	
  tem	
  um	
  número	
  e	
  uma	
  localização.	
  
56	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  1	
  
Desenvolva	
  o	
  DER	
  
Um	
  berçário	
  deseja	
  informaGzar	
  suas	
  operações.	
  
Quando	
  um	
  bebê	
  nasce,	
  algumas	
  informações	
  são	
  
armazenadas	
  sobre	
  ele,	
  tais	
  como:	
  nome,	
  data	
  do	
  
nascimento,	
  peso	
  do	
  nascimento,	
  altura,	
  a	
  mãe	
  
deste	
  bebê	
  e	
  o	
  médico	
  que	
  fez	
  seu	
  parto.	
  Para	
  as	
  
mães,	
  o	
  berçário	
  também	
  deseja	
  manter	
  um	
  
controle,	
  guardando	
  informações	
  como:	
  nome,	
  
endereço,	
  telefone	
  e	
  data	
  de	
  nascimento.Para	
  os	
  
médicos,	
  é	
  importante	
  saber:	
  CRM,	
  nome,	
  telefone	
  
celular	
  e	
  especialidade.	
  
57	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  1	
  
Desenvolva	
  o	
  DER	
  
58	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  2	
  
Desenvolva	
  o	
  DER	
  
Uma	
  floricultura	
  deseja	
  informaGzar	
  suas	
  
operações.	
  Inicialmente,	
  deseja	
  manter	
  um	
  
cadastro	
  de	
  todos	
  os	
  seus	
  clientes,	
  mantendo	
  
informações	
  como:	
  RG,	
  nome,	
  telefone	
  e	
  endereço.	
  
Deseja	
  também	
  manter	
  um	
  cadastro	
  contendo	
  
informações	
  sobre	
  os	
  produtos	
  que	
  vende,	
  tais	
  
como:	
  nome	
  do	
  produto,	
  Gpo	
  (flor,	
  vaso,	
  planta,...),	
  
preço	
  e	
  quanGdade	
  em	
  estoque.	
  Quando	
  um	
  
cliente	
  faz	
  uma	
  compra,	
  a	
  mesma	
  é	
  armazenada,	
  
mantendo	
  informação	
  sobre	
  o	
  cliente	
  que	
  fez	
  a	
  
compra,	
  a	
  data	
  da	
  compra,	
  o	
  valor	
  total	
  e	
  os	
  
produtos	
  comprados.	
  
59	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  2	
  
Desenvolva	
  o	
  DER	
  
60	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  3	
  
Desenvolva	
  o	
  DER	
  
Uma	
  Escola	
  tem	
  várias	
  turmas.	
  Uma	
  turma	
  tem	
  
vários	
  professores,	
  sendo	
  que	
  um	
  professor	
  
pode	
  ministrar	
  aulas	
  em	
  mais	
  de	
  uma	
  turma.	
  
Uma	
  turma	
  tem	
  sempre	
  aulas	
  na	
  mesma	
  sala,	
  
mas	
  uma	
  sala	
  pode	
  estar	
  associada	
  a	
  várias	
  
turmas	
  (com	
  horários	
  diferentes).	
  	
  
61	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  3	
  
Desenvolva	
  o	
  DER	
  
62	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  4	
  
Desenvolva	
  o	
  DER	
  
Uma	
  biblioteca	
  deseja	
  manter	
  informações	
  sobre	
  
seus	
  livros.	
  Inicialmente,	
  quer	
  armazenar	
  para	
  os	
  
livros	
  as	
  seguintes	
  caracterísGcas:	
  ISBN,	
  rtulo,	
  ano	
  
editora	
  e	
  autores	
  deste	
  livro.	
  Para	
  os	
  autores,	
  
deseja	
  manter:	
  nome	
  e	
  nacionalidade.	
  Cabe	
  
salientar	
  que	
  um	
  autor	
  pode	
  ter	
  vários	
  livros,	
  assim	
  
como	
  um	
  livro	
  pode	
  ser	
  escrito	
  por	
  vários	
  autores.	
  
Cada	
  livro	
  da	
  biblioteca	
  pertence	
  a	
  uma	
  categoria.	
  
A	
  biblioteca	
  deseja	
  manter	
  um	
  cadastro	
  de	
  todas	
  as	
  
categorias	
  existentes,	
  com	
  informações	
  como:	
  
código	
  da	
  categoria	
  e	
  descrição.	
  Uma	
  categoria	
  
pode	
  ter	
  vários	
  livros	
  associados	
  a	
  ela.	
  
63	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  4	
  
Desenvolva	
  o	
  DER	
  
64	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  5	
  
Desenvolva	
  o	
  DER	
  
Uma	
  firma	
  vende	
  produtos	
  de	
  limpeza,	
  e	
  deseja	
  melhor	
  
controlar	
  os	
  produtos	
  que	
  vende,	
  seus	
  clientes	
  e	
  os	
  
pedidos.	
  Cada	
  produto	
  é	
  caracterizado	
  por	
  um	
  código,	
  
nome	
  do	
  produto,	
  categoria	
  (ex.	
  detergente,	
  sabão	
  em	
  
pó,	
  sabonete,	
  etc),	
  e	
  seu	
  preço.	
  A	
  categoria	
  é	
  uma	
  
classificação	
  criada	
  pela	
  própria	
  firma.	
  A	
  firma	
  possui	
  
informações	
  sobre	
  todos	
  seus	
  clientes.	
  Cada	
  cliente	
  é	
  
idenGficado	
  por	
  um	
  código,	
  nome,	
  endereço,	
  telefone,	
  
status	
  ("bom",	
  "médio",	
  "ruim"),	
  e	
  o	
  seu	
  limite	
  de	
  
crédito.	
  Guarda-­‐se	
  igualmente	
  a	
  informação	
  dos	
  pedidos	
  
feitos	
  pelos	
  clientes.	
  Cada	
  pedido	
  possui	
  um	
  número	
  e	
  
guarda-­‐sea	
  data	
  de	
  elaboração	
  do	
  pedido.	
  Cada	
  pedido	
  
pode	
  envolver	
  de	
  um	
  a	
  vários	
  produtos,	
  e	
  para	
  cada	
  
produto,	
  indica-­‐se	
  a	
  quanGdade	
  deste	
  pedida.	
  
65	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  5	
  
Desenvolva	
  o	
  DER	
  
66	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Relacionamentos	
  com	
  atributos	
  
67	
  
•  Sistema	
  de	
  vendas	
  em	
  uma	
  empresa	
  
–  Vendas	
  à	
  vista	
  ou	
  à	
  prazo	
  
–  FINANCIERA	
  fazem	
  financiamentos	
  
•  Os	
  dois	
  atributos	
  poderiam	
  ser	
  colocados	
  na	
  enGdade	
  
VENDA	
  
–  Seriam	
  atributos	
  opcionais	
  
•  Nem	
  todas	
  as	
  vendas	
  são	
  à	
  prazo	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Relacionamentos	
  com	
  atributos	
  
68	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Relacionamentos	
  com	
  atributos	
  
69	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Chave	
  Primária	
  
•  Atributo	
  (ou	
  combinação	
  de	
  atributos)	
  que	
  iden/fica	
  
univocamente	
  uma	
  instância	
  de	
  enGdade.	
  
•  Atributo	
  idenGficador	
  pode	
  ser	
  composto.	
  
•  Uma	
  enGdade	
  pode	
  ter	
  mais	
  de	
  um	
  atributo	
  idenGficador.	
  
•  A	
  chave,	
  ou	
  iden/ficador,	
  deve	
  ser	
  mínima	
  
–  ReGrando	
  um	
  dos	
  atributos	
  ele	
  deixa	
  de	
  ser	
  idenGficador	
  
70	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Chaves	
  Primárias	
  
71	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
EnGdade	
  Fraca	
  
72	
  
•  Não	
  faria	
  muito	
  senGdo	
  criar	
  um	
  idenGficador	
  
arGficial	
  –	
  uma	
  matrícula,	
  por	
  exemplo	
  –	
  para	
  
idenGficar	
  um	
  dependente.	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
EnGdades	
  fortes	
  e	
  fracas	
  
•  Uma	
  en/dade	
  forte	
  tem	
  chave	
  primária	
  
•  Uma	
  en/dade	
  fraca	
  
–  Não	
  tem	
  chave	
  primária	
  
–  Possui	
  normalmente	
  apenas	
  uma	
  chave	
  parcial	
  
–  Deve	
  parGcipar	
  de	
  um	
  relacionamento	
  com	
  uma	
  enGdade	
  
forte	
  
–  Cardinalidade	
  mínima:	
  1	
  
•  Relacionamento	
  iden/ficador:	
  entre	
  enGdade	
  fraca	
  e	
  
forte	
  
•  EnGdades	
  fracas	
  são	
  idenGficadas	
  pela	
  combinação	
  de:	
  
–  Uma	
  chave	
  parcial	
  da	
  enGdade	
  fraca	
  
–  E	
  a	
  chave	
  da	
  enGdade	
  fortecom	
  a	
  qual	
  está	
  relacionada	
  
73	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
EnGdades	
  fortes	
  e	
  fracas	
  
74	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
EnGdade	
  Fraca	
  
75	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
IdenGficador	
  de	
  relacionamento	
  
76	
  
•  Uma	
  ocorrência	
  de	
  relacionamento	
  diferencia-­‐
se	
  das	
  demais	
  do	
  mesmo	
  relacionamento	
  
pelas	
  ocorrências	
  de	
  enGdades	
  que	
  dela	
  
parGcipam.	
  	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Notação	
  
77	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  
•  Uma	
  pequena	
  locadora	
  de	
  vídeos	
  possui	
  cerca	
  de	
  2.000	
  
fitas	
  de	
  vídeo,	
  cujo	
  emprésGmo	
  deve	
  ser	
  controlado.	
  
•  Cada	
  fita	
  possui	
  um	
  número.	
  
•  Para	
  cada	
  filme,	
  é	
  necessário	
  saber	
  seu	
  rtulo	
  e	
  sua	
  
categoria	
  (comédia,	
  drama,	
  aventura,	
  .	
  .	
  .	
  ).	
  
•  Cada	
  filme	
  recebe	
  um	
  idenGficador	
  próprio.	
  Para	
  cada	
  fita	
  é	
  
controlado	
  que	
  filme	
  ela	
  contém.	
  
•  Para	
  cada	
  filme	
  há	
  pelo	
  menos	
  uma	
  fita,	
  e	
  cada	
  fita	
  contém	
  
somente	
  um	
  filme.	
  
•  Alguns	
  poucos	
  filmes	
  necessitam	
  duas	
  fitas.	
  
•  Os	
  clientes	
  podem	
  desejar	
  encontrar	
  os	
  filmes	
  estrelados	
  
pelo	
  seu	
  ator	
  predileto.	
  Por	
  isso,	
  é	
  necessário	
  manter	
  a	
  
informação	
  dos	
  atores	
  que	
  atuam	
  em	
  cada	
  filme.	
  
78	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  
•  Nem	
  todo	
  filme	
  possui	
  atores	
  considerados	
  “estrelas”.	
  
•  Os	
  clientes,	
  às	
  vezes,	
  desejam	
  receber	
  referências	
  de	
  
determinado	
  ator,	
  tais	
  como	
  o	
  nome	
  real,	
  a	
  data	
  de	
  
nascimento,	
  etc.	
  
•  A	
  locadora	
  possui	
  muitos	
  clientes	
  cadastrados.	
  
•  Somente	
  clientes	
  cadastrados	
  podem	
  alugar	
  fitas.	
  
•  Para	
  cada	
  cliente	
  é	
  necessário	
  saber	
  seu	
  nome	
  e	
  
sobrenome,	
  seu	
  telefone	
  e	
  seu	
  endereço.	
  
•  Cada	
  cliente	
  recebe	
  um	
  número	
  de	
  associado.	
  
•  Desejamos	
  saber	
  quais	
  fitas	
  estão	
  locadas	
  por	
  um	
  dado	
  
cliente.	
  
•  Um	
  cliente	
  pode	
  locar	
  várias	
  fitas	
  ao	
  mesmo	
  tempo.	
  Não	
  
são	
  manGdos	
  registros	
  históricos	
  de	
  aluguéis.	
  
79	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Exercício	
  
80	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Problemas	
  de	
  Design	
  
•  Uso	
  de	
  en/dades	
  vs.	
  relacionamentos	
  
–  EnGdades	
  
•  Médico	
  
•  Paciente	
  
–  Quero	
  adicionar	
  uma	
  consulta	
  
•  EnGdade	
  ou	
  relacionamento?	
  
•  Uso	
  de	
  en/dades	
  vs.	
  atributos	
  
–  Um	
  BD	
  para	
  representar	
  consultas	
  de	
  pacientes	
  com	
  
médicos	
  
–  Quero	
  indicar	
  o	
  remédio	
  prescrito	
  na	
  consulta	
  
•  EnGdade	
  ou	
  atributo?	
  
81	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Generalização/Especialização	
  
•  Imagine	
  um	
  ambiente	
  hospitalar:	
  
–  MÉDICOS,	
  PACIENTES,	
  QUARTOS,	
  SALAS	
  DE	
  CIRURGIA,	
  ...	
  
•  Suponha	
  que	
  os	
  MÉDICOS	
  são	
  divididos	
  em	
  categorias:	
  
–  MÉDICOS	
  RESIDENTES	
  
–  MÉDICOS	
  EFETIVOS	
  
•  Cada	
  uma	
  dessas	
  categorias,	
  além	
  de	
  caracterísGcas	
  
comuns,	
  possui	
  atributos	
  disGntos	
  
–  Especialidade,	
  Nome	
  do	
  Médico,	
  Local	
  de	
  atuação,	
  Tempo	
  de	
  
Permanência,	
  Data	
  de	
  EfeGvação,	
  Data	
  de	
  Início	
  da	
  Residência,	
  
Nome	
  do	
  Orientador,	
  Data	
  de	
  avaliação	
  Prevista,	
  Tempo	
  de	
  
Experiência	
  na	
  Função	
  
82	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Generalização/Especialização	
  
•  Conceito	
  permite	
  
– Atribuir	
  propriedades	
  parGculares	
  a	
  um	
  
subconjunto	
  das	
  ocorrências	
  (especializadas)	
  de	
  
uma	
  enGdade	
  genérica.	
  	
  
83	
  
•  Símbolo	
  
– Triângulo	
  isósceles	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Generalização/Especialização	
  
•  Herança	
  de	
  propriedades	
  
– EnGdade	
  possui	
  suas	
  enGdades	
  e	
  as	
  enGdades	
  da	
  
enGdade	
  genérica	
  
84	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Generalização/Especialização	
  
•  Classificação	
  
–  Total	
  
–  Parcial	
  
–  Não	
  exclusiva	
  
85	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
Generalicação/Especialização	
  em	
  múlGplos	
  
níveis	
  e	
  com	
  herança	
  múlGpla	
  
86	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
EnGdade	
  AssociaGva	
  
•  Considere	
  uma	
  enGdade	
  Medicamento	
  
•  Queremos	
  relacionar	
  Consulta	
  a	
  Medicamento	
  
–  Consulta	
  é	
  um	
  relacionamento	
  
–  Como	
  relacionar	
  um	
  relacionamento	
  a	
  uma	
  enGdade?	
  
•  É	
  necessário	
  armazenar	
  a	
  quan/dade	
  de	
  
medicamentos	
  que	
  está	
  sendo	
  pedido	
  na	
  
prescrição	
  
87	
  
Carla	
  Fernandes	
  DCA	
  0120	
  –	
  Projeto	
  e	
  Desenvolvimento	
  de	
  So9ware	
  
EnGdade	
  AssociaGva	
  
88

Continue navegando