Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Bancode dados modelagem conceitual

1,877 views

Published on

Slide do curso Accenture do Futuro (ADF )
Prof. Mário Sergio

Published in: Technology
  • Be the first to comment

Bancode dados modelagem conceitual

  1. 1. Banco de Dados Modelagem Conceitual por: Mário Sergio da Silva
  2. 2. Banco de Dados Modelagem Conceitual Prof. Mário Sergio da Silva mariosergio30@gmail.com Lattes: http://lattes.cnpq.br/1161794053211014 Atualizado em Maio/2016 Este material é uma adaptação didática que utiliza ilustrações e textos retirados de uma seleção criteriosa de publicações disponíveis livremente na internet, juntamente com conteúdo inédito. (bibliografia disponível no final dos slides)
  3. 3. Conteúdo  Modelagem Conceitual:  Entidade, Atributos, Relacionamento  Atributos de relacionamento e identificadores  Cardinalidades: Máxima e Mínima  Graus de um Relacionamento  Tipos de Entidade: Forte, Fraca e Associativa  Exercícios
  4. 4. 44 Prof. Mário Sergio 4 Modelagem de Dados Definições:  Modelo Entidade Relacionamento (ER)  É a técnica mais conhecida  Tem como objetivo auxiliar na especificação geral do sistema  O modelo de dados é representado graficamente através de um Diagrama de Entidade-Relacionamento (DER).  Principais conceitos do Modelo ER são:  Entidades  Atributos e  Relacionamentos  Notação: Criada por Peter Chen em 1976
  5. 5. 55 Prof. Mário Sergio 5 Modelagem de Dados Notações DER Entidade Associativa Atributo Derivado
  6. 6. 666 Modelagem de Dados Entidade  É um conjunto de objetos do mundo real sobre os quais se deseja manter informações no banco de dados  É distinguível de outros objetos  Representada através de um retângulo  Pussui existência própria, pode representar:  objetos concretos (uma pessoa)  objetos abstratos (um departamento) Departamento Contabilidade Financeiro Jurídico Pessoal Empregado João Pedro Paulo Maria Possui propriedades Atributos e Relacionamentos
  7. 7. 777 Modelagem de Dados Atributo  É um dado que é associado a cada ocorrência de uma entidade ou de um relacionamento  Exemplos de atributos de entidades: Empregado Nome Endereço Salário Departamento Descrição númeroDeFuncionários
  8. 8. 888 Modelagem de Dados Exercício  Considerando um sistema acadêmico, envolvendo entidades que todos conhecemos, defina pelo menos 3 atributos para cada uma das entidades Aluno Disciplina Professor Turma
  9. 9. 999 Modelagem de Dados Relacionamento  Como expressamos que João trabalha no Departamento de Contabilidade? Empregado DepartamentoLotação João Pedro Paulo Maria Contabilidade Financeiro Jurídico Pessoal Diagrama de Ocorrências (instâncias)
  10. 10. 101010 Modelagem de Dados Relacionamento  É uma associação entre entidades  Representado através de um losângulo e linhas que ligam as entidades relacionadas nomeDoRelacionamentoA B
  11. 11. 111111 Modelagem de Dados Relacionamento  Exemplos de Relacionamentos Cliente ContaContaCliente Medico PacienteConsulta Cidade Residência
  12. 12. 121212 Modelagem de Dados Relacionamento  Relacionamentos também possuem Atributos. Exemplo 1: Médico PacienteConsulta dataDaConsultanome celular nome endereço Dr. Paulo Dr. Flora Vania José 22/10/2007 05/02/2009 20/03/2009 instâncias esquema
  13. 13. 131313 Modelagem de Dados Relacionamento Empregado ProjetoAtuação funçãonome salario sigla Vania Pedro Gabriel AATOM Sinpli coordenador pesquisador bolsista  Relacionamentos também possuem Atributos. Exemplo 2: instâncias esquema
  14. 14. 141414 Modelagem de Dados Atributos Identificadores  Cada entidade deve ter um identificador  Identificador (também conhecido como chave):  É o conjunto de um ou mais atributos ou relacionamentos cujos valores servem para distinguir uma ocorrência da entidade das demais ocorrências da mesma entidade Exemplos:  os atributos CPF ou Carteira de Identidade identificam UNICAMENTE um cidadão brasileiro  O CRM identifica um médico dentro do conselho regional. Cliente CPF Nome Endereco Atributo Identificador Simples Médico CRM nome celular
  15. 15. 151515 Modelagem de Dados Atributos Identificadores (Composto) Prateleira NumeroCorredor NumeroPrateleira Capacidade Suponha que temos um edifício de 4 andares (1,2,3,4) e cada andar possua 4 apartamentos (1,2,3,4). Neste caso, como os números dos apartamentos são iguais em todos os andares, fica impossível dizer qual ocorrência de apartamento se deseja acessar. Para solucionar o problema você deve informar além do número do apartamento, o numero do andar Identificadores Compostos
  16. 16. 161616 Modelagem de Dados Atributos Identificadores  Quando parte da chave é um relacionamento  Exemplo: CPF do Empregado e numero sequencial na entidade Dependente  Entidade Fraca: entidade sem chave  A entidade é identificada por algum atributo da entidade + algum relacionamento  Entidade Forte: entidade com chave  A entidade é identificada por atributos da própria entidade Empregado Dependente Numero Nome Cpf Nome Endereco Chave=CPF + numero possui
  17. 17. 171717 Modelagem de Dados Exercício  Considerando o sistema acadêmico do exercício anterior, já com os atributos, agora defina os relacionamentos entre as entidades: Aluno Disciplina Professor Turma nomeDoRelacionamentoA B
  18. 18. 181818 Modelagem de Dados Problema A cooperativa de pesca PescaFácil possui 280 pescadores associados, mas nem todos trabalham todos os dias. Você foi contratado pelo diretor da PescaFácil para desenvolver um programa que lhe permite fazer o controle da produção de peixes. Ele disse: “A medida que cada pescador chega na cooperativa eu preciso registrar o nome dele, assim como a espécie e o peso de cada peixe que ele pescou no dia”. Cada espécie possui um preço por Kg, e eu pago o valor total no ato. Mas eu não quero toda vez digitar o nome por extenso da espécie, para isso usamos a seguinte codificação: 1 – Serra (R$ 12,5) 2 - Dourado (R$ 8,0) 3 - Atum (R$ 13,8) 4 - Robalo (R$ 15,0) 5 - Sardinha (R$ 7,8) Ah, e ainda tem mais, no futuro podem aparecer outras espécies. Exercício: Realize o levantamento de requisitos do problema e elabore um DER, por enquanto apenas com Entidades, Relacionamentos e Atributos
  19. 19. 191919 Modelagem de Dados Cardinalidade  Uma propriedade importante dos relacionamentos é a especificação de quantas ocorrências de uma entidade podem estar associadas a uma determinada ocorrência de outra entidade. Cardinalidades: 1:1 (um-para-um) 1:N (um-para-muitos) N:N (muitos-para-muitos) Exemplo de notação 1:N Representação
  20. 20. 20 Modelagem de Dados Cardinalidade 1 : 1 (Um Para Um)  Uma ocorrência de A está associada a no máximo uma ocorrência de B, e uma ocorrência em B está associada a no máximo uma ocorrência em A. João Pedro Paulo Maria Jurídico Contabilidade Financeiro Conjunto A (Empregado) Conjunto B (Departamento) Empregado DepartamentoGerencia 11 cada cada
  21. 21. Modelagem de Dados Cardinalidade 1 : 1 (Um Para Um) Outros Exemplos: Auto Relacionamento
  22. 22. 222222 Modelagem de Dados Cardinalidade 1 : N (Um Para Muitos)  Uma ocorrência de A está associada a várias ocorrências de B, porém uma ocorrência de B deve estar associada a no máximo uma ocorrência em A Conjunto A (Departamento) EmpregadoDepartamento Lotação N1 Contabilidade Financeiro Ana Pedro João Sandro Conjunto B (Empregado) cada cada
  23. 23. Modelagem de Dados Cardinalidade 1 : N (Um Para Muitos) 1 N Outro Exemplo: cada cada
  24. 24. 24 Modelagem de Dados Cardinalidade M:N ou N:N (Muitos Para Muitos)  Uma ocorrência de A está associada a qualquer número de ocorrências de B, e uma ocorrência em B está associada a qualquer número de ocorrências em A Sigmoda MM-TOM Sinpli AATOM Conjunto A (Empregado) Conjunto B (Projeto) Empregado ProjetoAtua NN João Pedro Paulo Maria cada cada
  25. 25. Modelagem de Dados Cardinalidade M:N ou N:N (Muitos Para Muitos) 25 Auto Relacionamento
  26. 26. Modelagem de Dados Cardinalidade: Exemplos 26
  27. 27. Modelagem de Dados Cardinalidade: Exemplos 27
  28. 28. Modelagem de Dados Cardinalidade: Exemplos 28
  29. 29. 292929 Modelagem de Dados Cardinalidades (Mínima, Máxima)  O modelo ER permite tambem expressar cardinalidades mínimas. Que é o número mínimo de ocorrências de uma entidade A com relação a uma outra entidade B  Representação separada por vírgula: (cardinalidade mínima, cardinalidade máxima) Cardinalidades Possíveis: (0,1) (1,1) (0,N) (1,N)  Cardinalidade mínima = 1 (relacionamento obrigatório)  Cardinalidade mínima = 0 (relacionamento opcional)
  30. 30. 303030 Modelagem de Dados Cardinalidades (Mínima, Máxima)  Exemplos de Relacionamentos: cada cada cada
  31. 31. 313131 Modelagem de Dados Cardinalidades (Mínima, Máxima)  Exemplos de Relacionamentos: cada cada cada
  32. 32. 323232 Modelagem de Dados Cardinalidades (Mínima, Máxima) Cliente ContaContaCliente(1,1) (1,N)  Exemplo de Relacionamento Obrigatório:  Exemplo de Relacionamento Opcional: Empregado DepartamentoGerencia(1,1) (0,1) cada cada cada cada
  33. 33. 333333 Modelagem de Dados Cardinalidade (Mínima, Máxima)  Exemplo “Projeto Engenharia”: Explicativo cardinalidades do DER acima: Cada Engenheiro pode estar atuando em 0 projetos (em nenhum projeto), ou seja, é opcional. Mas também pode estar atuando em vários (N) projetos. Enquanto que, Cada projeto precisa da atuação de pelo menos 1 engenheiro, ou seja, é obrigatório ter um engenheiro responsável. Assim como, podem haver mais de um (N) engenheiros atuando no projeto.
  34. 34. 343434  Agora e a sua vez, descreva em detalhes as cardinalidades do DER ilustrado a seguir. Modelagem de Dados Exercícios
  35. 35. 35 Defina as cardinalidades dos DER: “Cooperativa de pesca PescaFácil“ “Sistema Acadêmico”. Modelagem de Dados Exercícios
  36. 36. 36 Modelagem de Dados Grau de um Relacionamento É Dado pelo Total de Entidades envolvidas em um Relacionamento: A grande maioria dos relacionamentos são de grau 2 : Observe que, nos DER ao lado, só há relacionamentos de GRAU 2, Pois, cada um dos relacionamentos possui apenas duas entidades relacionadas. Os relacionamentos são classificados quanto ao seu GRAU, em: Unário - Grau 1 Binário - Grau 2 Ternário - Grau 3
  37. 37. 37 Modelagem de Dados Grau de um Relacionamento: Unário (auto relacionamento) Relacionamentos de Grau 1 Empregado (0,N) supervisiona supervisor (1,1) supervisionado Pessoa (0,1)(0,1) casadoCom EsposaMarido
  38. 38. 38 Modelagem de Dados Grau de um Relacionamento: Ternário (grau 3) Exemplo: Cidade Distribuidor Produto distribuição (1,1)(1,N) (1,N)
  39. 39. 39 Modelagem de Dados Grau de um Relacionamento: Ternário (grau 3) Mais Exemplos:
  40. 40. 40 Modelagem de Dados Entidade Associativa Tem o objetivo de eliminar relacionamentos com grau maior que 2 Assim, este DER que possui relacionamento grau 3 que, na verdade, quer dizer o seguinte: Relacionamento de Relacionamento
  41. 41. 41 Modelagem de Dados Entidade Associativa Assim, com o uso de uma Entidade Associativa, o DER passa a ser de Grau 2: Entidade Associativa
  42. 42. 42 Modelagem de Dados Ferramentas CASE As ferramentas CASE permitem a criação de diagramas de forma simples em um ambiente de fácil utilização e com recursos para incluir as principais regras de composição dos diagramas. Exemplos comuns de ferramentas profissionais: Star UML e DBDesigner. O BrModelo é uma ferramentas para fins educacionais Do inglês Computer-Aided Software Engineering, as chamadas ferramentas CASE são aquelas baseadas em computadores (softwares) utilizadas na Engenharia de Software para auxílio nas atividades desde análise de requisitos até modelagem de dados.
  43. 43. 434343 1. Construa um diagrama E-R para um hospital, com um conjunto de pacientes e um conjunto de médicos. Registros de diversos exames e avaliações realizados são associados a cada paciente. 2. Construa um diagrama E-R para uma companhia de seguros de automóveis com um conjunto de clientes, onde cada um possui certo número de carros. Cada carro tem um número de acidentes associados a ele. 3 Mostre como o projeto de banco de dados do diagrama abaixo pode ser representado apenas por relacionamentos binários, expressando as mesmas restrições. Além disso, defina os possíveis atributos Modelagem de Dados Exercícios (nível médio)
  44. 44. 444444 Um estabelecimento comercial contratou seus serviços para modelar o banco de dados de VENDAS da empresa. Segundo o gerente comercial, a empresa precisa ter um cadastro de clientes, e armazenar cpf, nome, data de nascimento e cidade onde ele mora. Os cliente podem fazer pedidos, inclusive mais de um por dia. Os pedidos são numerados sequencialmente e devem ser classificados em ATACADO ou a VAREJO, e podemos oferecer descontos de acordo com a quantidade comprada. Além disso, cada pedido pode ter mais de um produto e cada produto possui uma marca, peso unitário e um preço padrão pré-cadastrado. Ah, os vendedores conquistam novos clientes e acompanham os cliente atuais, e por isso eles ganham comissão sobre os pedidos. Modelagem de Dados Problema Proposto (nível médio)
  45. 45. 454545 A companhia discográfica PimbaParaTodos decidiu criar uma base de dados com informação sobre os seus músicos bem como outra informação da companhia. A informação dada ao desenhador foi a seguinte: Cada músico tem um nro. de BI, um nome, uma morada e um número de telefone. Os músicos em início de carreira muitas vezes partilham um endereço e além disso assume-se que cada endereço só tem um telefone. Cada instrumento usado nos estúdios tem um nome (ex. guitarra, bateria, etc.) e um código interno. Cada disco gravado na companhia tem um título, uma data, um formato (ex. CD, MC, K7), e um identificador do disco. Cada música gravada na companhia tem um título e um autor. Cada músico pode tocar vários instrumentos, e cada instrumento pode ser tocado por vários músicos. Cada disco tem um certo número de músicas, mas cada música só pode aparecer num disco. Cada música pode ter a participação de vários músicos, e cada músico pode participar em várias músicas. Cada disco tem um músico que é o seu produtor. Os músicos podem produzir vários discos. Modelagem de Dados Problema Proposto (nível avançado)
  46. 46. 46 Bibliografia  Elmasri & Navathe – Fundamentos de Bancos de Dados  Carlos Alberto Heuser – Projeto de Banco de Dados  Korth e Silberchatz – Sistema de Bancos de Dados  Baseado nos Slides de Vania Bogorny – UFSC Universidade de Santa Catarina
  47. 47. 47 Links sobre Linguagens/Banco de Dados  http://www.dialetodigital.com/blog/conteudos-programacao/

×