02 2 - modelagem er

282 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
282
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
1
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

02 2 - modelagem er

  1. 1. Modelagem Conceitual Entidade-Relacionamento Fernanda Baião UNIRIO Material parcialmente extraído a partir das notas de aula de Maria Luiza M. Campos, Arnaldo Vieira e Maria Cláudia Cavalcanti 1 2 Projeto de Sistemas de Informação Levantamento de requisitos Análise Funcional Projeto Conceitual Análise Funcional Especificações de Especificações de Acesso Acesso Projeto Lógico Projeto da Aplicação Projeto da Projeto Físico Aplicação Implementação Validação e Teste 3 Processo de Software „ Especificação: „ funcionalidade e restrições „ Desenvolvimento: „ Projeto „ implementação segundo especificação „ Validação: „ testes para verificar se está de acordo com especificação „ Evolução: „ para atender as mudanças Projeto Conceitual Projeto Lógico Projeto Físico
  2. 2. 4 Fases Clássicas do Desenvolvimento de SW „ Levantamento de Requisitos „ Análise de Requisitos „ Projeto „ Implementação „ Testes „ Implantação „ Manutenção 5 RUP - Rational Unified Process 1. Business Engineering. 2. Requirements. 3. Analysis and Design. 4. Implementation. 5. Test. 6. Configuration and change management. 7. Project Management. 8. Environment. 9. Deployment. Projeto Conceitual Projeto Lógico Projeto Físico 6 Modelos „ Ferramentas para modelagem conceitual „ ER - Peter Chen „ UML - OMG (Grady, Booch, Rumbaugh) „ IE (Information Engineering) - J. Martin „ IDEF1X (US Federal Gov.)
  3. 3. 7 O Modelo ER „ O modelo de dados mais popular entre todos os utilizados na etapa de projeto conceitual de banco de dados. „ Produz um diagrama fácil de ser entendido pelo usuário final. „ Fundamentado nos conceitos básicos de entidade, relacionamento e atributo. „ Outros conceitos foram incorporados para enriquecer a expressividade do modelo. 8 Elementos Básicos „ Entidades: representam classes de objetos do mundo real. representadas graficamente por um retângulo rotulado com o nome da entidade. „ Relacionamentos: representam agregações entre duas ou mais entidades. representados graficamente por um losango rotulado com o nome da agregação. „ Atributos: representam propriedades elementares das entidades e/ou dos relacionamentos. representados graficamente por um segmento de reta rotulado com o nome do atributo em uma de suas extremidades. rótulo rótulo rótulo ou rótulo 9 Elementos Básicos VIVE_NA PESSOA CIDADE NASCIDA_NA código nome habitantes identidade nome endereço desde
  4. 4. 10 Diferentes Notações 1 n 1 n 1 n 1 1 1 0,1 1 0.n 1 0.n 1 n 1 n 1 n 11 Propriedades dos Relacionamentos „ Grau „ total de entidades que participam do relacionamento. „ Cardinalidade „ números mínimo e máximo de instâncias de cada entidade que podem estar associadas através do relacionamento. a cardinalidade mínima também é conhecida como a cardinalidade mínima também é conhecida como PARTICIPAÇÃO: PARTICIPAÇÃO: 0 = participação opcional 1 = participação obrigatória. 0 = participação opcional 1 = participação obrigatória. 12 Grau Relacionamento de Grau 2 ou binário. EMPREGADO DDEEPPAARRTTAAMMEENNTTOO LOTAÇÃO Relacionamento de Grau 3 ou ternário. DISCIPLINA ALUNO PROFESSOR ALOCAÇÃO
  5. 5. 13 Cardinalidade ... (0,n) (1,1) FAZ CLIENTE PEDIDO n 1 TRABALHA_EM (1,1) (1,n) EMPREGADO DEPARTAMENTO 1 n (0,1) (0,1) HOMEM MULHER CASA 1 1 (1,n) (0,n) PEDIDO PEÇA PEDE m n 14 Relacionamentos n-ários „ suponha que cada fornecedor possa fornecer peças a clientes. Primeira Tentativa: (1,n) (1,n) (1,n) (1,n) F F-P P P-C C m n n m 15 Relacionamentos n-ários „ suponha também que segundo levantamentos sobre o contexto em foco, sabe-se que: „ F1 fornece P1 a C1. „ F2 fornece P1 a C2. „ F2 fornece P2 a C1. „ representando esses dados num diagrama de ocorrências: F1 F2 C1 C2 F F-P P P-C C P1 P2 Quem fornece a C1? Quem fornece a C2? Armadilha: não há como determinar que fornecedor fornece a que cliente !
  6. 6. 16 Relacionamentos n-ários „ agora podemos afirmar que: „ F1 fornece P1. „ F2 fornece P1. „ F2 fornece P2. z P1 é fornecida a C1. z P1 é fornecida a C2. z P2 é fornecida a C1. F P m F-P n n P-C m F-C C F1 F2 C1 C2 F-C F-P P-C P1 P2 mas ... m n z F1 fornece a C1. z F2 fornece a C1. z F2 fornece a C2. 17 Relacionamentos n-ários „ Essa solução ainda possui uma armadilha de conexão ! „ Podemos dizer: „ que fornecedores fornecem que peças; „ que peças são fornecidas a que clientes; e „ que fornecedores fornecem a que clientes. „ Mas não podemos dizer: „ que fornecedores fornecem que peças a que clientes ! F1 F2 F-P P-C Quem fornece P1 a C1? C1 C2 F-C P1 P2 18 Relacionamentos n-ários F F-P-C C P P1 P2 F1 F2 C1 C2 Solução:
  7. 7. 19 Relacionamentos n-ários (0,m) (0,n) F F-P-C C P (0,s) P1 P2 F1 F2 C1 C2 Solução: COMPOSIÇÃO composto componente 20 Peças e suas componentes A B C D E F R S T X Y PEÇA A cilindro B base C braço D gancho E linha F suporte R moldura S tirante T poleiro X ratoeira Y balanço RRSS TT XXXYY Como modelar a composição das peças? B CDEE F RS ART 21 Relacionamento Recursivo ... PEÇA composto componente COMPOSIÇÃO papéis Ainda faltam as cardinalidades... (Cenas dos próximos capítulos)
  8. 8. 22 Atributos ... „ propriedades utilizadas para descrever entidades e relacionamentos. Exemplo: a entidade empregado pode ser descrita pelos atributos Nome, Registro, Sexo, Endereço. EMPREGADO Nome Registro Sexo Endereço 23 Cardinalidade de Atributos „ Cardinalidade mínima/máxima „ número mínimo / máximo de valores que o atributo pode assumir em cada instância da entidade ou relacionamento. 24 Cardinalidade de Atributos „ Seja A um atributo da entidade E: „ se min-card (A, E) = 0 • o atributo é opcional • pode ser nulo para algumas instâncias de E. „ se min-card (A, E) = 1 • o atributo é mandatório • deve assumir no mínimo 1 valor para cada instância de E. „ se max-card (A, E) = 1 • o atributo é mono-valorado • só pode assumir 1 único valor para cada instância de E. „ se max-card (A, E) > 1 • o atributo é multi-valorado • ele pode assumir mais de um valor para cada instância de E.
  9. 9. 25 Cardinalidade de Atributos VIVE_NA PESSOA CIDADE NASCIDA_NA código nome habitantes identidade nome endereço desde (1, n) e-mail (0, n) (0, n) (1, 1) (0, n) (1, 1) data_nasc se a cardinalidade do atributo for (1,1), ela não precisa ser especificada. uma pessoa pode não ter telefone ou ter vários... hoje em dia uma pessoa tem que ter pelo menos um endereço eletrônico, podendo ter vários. 26 Domínio de um Atributo „ Todo atributo está associado a um domínio, isto é, a um conjunto de valores válidos que o atributo pode assumir. „ As declarações de domínio são similares às declarações de tipo nas linguagens de programação. Exemplos: CPF: Numérico Nome: Texto Cor: {‘azul’, ‘amarelo’, ‘vermelho’} 27 Tipos de Atributos „ simples - atributo definido sobre um único domínio, isto é, que possui um valor atômico para cada instância da entidade. „ composto - atributo definido sobre mais de um domínio, isto é, grupo de atributos com um significado semântico. Rua Número Cidade Estado Pais Código_postal (0, 1) PESSOA Endereço Nome Telefone (0,n) (0,1) Sexo
  10. 10. 28 Identificador de Entidade „ Def.: Atributo, simples ou composto, que identifica unicamente cada instância da entidade. „ O identificador de uma entidade pode ser formado: „ por um subconjunto dos atributos que a descrevem; ou „ pela combinação de seus atributos com os identificadores das entidades com as quais ela possua um relacionamento funcional e mandatório. „ Propriedades „ Não podem existir duas instâncias da entidade com o mesmo valor do identificador. „ Se qualquer componente do identificador for retirado, a propriedade de unicidade deixa de ser satisfeita. „ Todos os componentes de um identificador devem ser mandatórios, isto é, não podem assumir o valor nulo. 29 Tipos de Identificadores ... „ identificador interno e simples PESSOA NúmeroIdentidade Nome „ identificador interno e composto PESSOA IdentificadorDePessoa Nome DataDeNascimento NomeDoPai CidadeDeResidência 30 Tipos de Identificadores ... „ identificador misto e composto EMPREGADO Matrícula Nome NomeDoPai CidadeDeResidência (1,1) (0,n) DEPENDENTE Nome TEM DependenteID DataNascimento
  11. 11. 31 Tipos de Identificadores ... „ identificador externo e composto PEDIDO PRODUTO (1,1) (1,1) inclui idItem ITEM DE PEDIDO (1,n) (0,n) referencia dentro de um pedido de compra, cada produto só pode constar de apenas um item de pedido. 32 Entidade Fraca „ entidade cujo identificador é externo ou misto. EMPREGADO Matrícula Nome NomeDoPai CidadeDeResidência (1,1) (1,n) DEPENDENTE Nome TEM DependenteID Entidade Fraca DataNascimento Um Dependente precisa de Empregado para existir Hierarquia de Generalização 33 „ uma entidade E é uma generalização de um grupo de entidades E1, E2, ... , En, se cada instância das entidades E1, E2, ... , En for também uma instância de E. „ especialização „ o inverso da generalização „ processo através do qual novas classes são definidas a partir do refinamento de uma classe mais geral. „ propriedade de cobertura „ total (t) ou parcial (p) „ exclusiva (e) ou inclusiva (i) „ se a cobertura for total e exclusiva, (t, e), ela não precisa ser representada no diagrama.
  12. 12. 34 Propriedade de cobertura PESSOA VEÍCULO HOMEM MULHER ESTUDANTE parcial, exclusiva (p,e) AUTOMÓVEL BICICLETA JOGADOR DE TÊNIS JOGADOR DE FUTEBOL total, exclusiva (t,e) parcial, inclusiva (p,i) total, inclusiva (t,i) ESPORTISTAS DO CLUBE MESTRADO GRADUAÇÃO Hierarquia de Generalização Exemplo 35 PESSOA HOMEM (t,e) (p,e) MULHER GERENTE SECRETÁRIO EMPREGADO (t,i) GERENTE TÉCNICO GERENTE ADM (p,i) ANALISTA VENDEDOR CONTADOR 36 Mecanismo de Herança ... „ todas as propriedades da superclasse são passadas por herança às suas subclasses (atributos, relacionamentos, outras generalizações etc.)
  13. 13. „ Qual dos modelos abaixo é correto? 37 Mecanismo de Herança ... (0, 1) NomeSolteira Nome PESSOA Endereço (t,e) (0, 1) SituaçãoMilitar HOMEM MULHER Nome Endereço Situação Militar Nome Endereço NomeSolteira PESSOA Nome Endereço (t,e) HOMEM MULHER Situação Militar NomeSolteira 38 Mecanismo de Herança PESSOA HOMEM (t,e) (p,e) MULHER EMPREGADO SECRETÁRIO Rua Cidade CEP (0,1) Estado País (1,n) Nome CPF Profissão GrauAcadêmico (0,n) CertificadoReservista NomeSolteira Matrícula SubTítulo MILITAR Número Divisão Patente ID ENDEREÇO 39 Detalhe de Notação Identidade Profissão PESSOA Nome (t,e) SEXO permite dar um nome à hierarquia de generalização HOMEM MULHER CertificadoReservista NomeSolteira
  14. 14. 40 Leitura de Diagramas ER CIDADE PESSOA ESTUDANTE PROFESSOR DEPTO ALUNOS_PG DISCIPLINA VISITANTE ALOC TEMPO (0,n) SALA Nome Estado (0,n) (1,1) mora_em (0,n) matriculado_em Grau (1,n) (1,3) (0,n) Dia Hora (0,40) Número Prédio Nome (1,1) lecionado_por (1,2) (1,1) orientado_por (1,1) (0,n) nascida_em Sobrenome Idade lotado_no (1,1) (1,n) Nome Telefone Categoria Nível Início Término Id IdSala IdTempo 41 Notação do modelo ER „ Não há padrão para os diagramas ER… „ Cada metodologia usa uma notação diferente „ “losangos” versus “linhas rotuladas” para relacionamentos „ Sentido de leitura da cardinalidade de relacionamento „ Notação original [Chen 76] raramente é seguida pelas ferramentas CASE „ Variações conhecidas da notação „ Bachman, crow's foot (“pés de galinha”), IDEFIX. Qualidades do Modelo ER ... 42 „ Expressividade: „ inclui os três mecanismos de abstração: classificação, agregação e generalização. „ suporta relacionamentos n-ários, o que é motivo de críticas por parte dos defensores do mundo binário. „ Simplicidade: „ a riqueza de conceitos torna o modelo uma poderosa ferramenta para a descrição da realidade. „ entretanto, o modelo não é muito simples, especialmente no que diz respeito aos conceitos de cardinalidade, cobertura de generalização e identificação. „ uma solução é produzir diagramas ER em diferentes níveis de detalhe.
  15. 15. Qualidades do Modelo ER ... 43 „ Minimalidade: „ à exceção dos atributos compostos, nenhum conceito do modelo pode ser descrito em termos dos demais. „ o fato da mesma realidade poder ser modelada de diferentes maneiras não invalida a minimalidade do modelo. „ Formalidade: „ o modelo possui o necessário grau de formalidade, uma vez que cada um de seus conceitos possui uma interpretação única, precisa e bem-definida. 44 Qualidades do Modelo ER „„ Representação Gráfica: „o modelo é graficamente completo, isto é, todos os seus conceitos possuem um símbolo gráfico associado. „ os diagramas ER são fáceis de serem entendidos pelos usuários. o modelo ER oferece um balanceamento adequado entre o modelo ER oferece um balanceamento adequado entre expressividade, simplicidade e minimalidade. expressividade, simplicidade e minimalidade. 45 Refs Bibliográficas „ Conceptual Database Design „ Batini, Ceri e Navathe Benjamin/Cummings Pub. Co. „ Modelagem Conceitual e Projeto de Banco de Dados „ Paulo Cougo Ed Campus 3a. ed. „ Projeto de Banco de Dados „ Carlos Heuser ed. Sagra Luzzatto „ Sistemas de Bancos de Dados „ Elmasri, Navathe Ed Pearson

×