Baixe o app para aproveitar ainda mais
Prévia do material em texto
Projeto de Banco de Dados Unidade 5: Modelos de Dados Orientados a Objetos Profa. Dra. Marcela Xavier Ribeiro 1 ObjetivosObjetivos Apresentar conceitos básicos de Modelagem de Dados Orientada a g Objetos; Usar o diagrama de Classes paraUsar o diagrama de Classes para representar o Modelo de Dados. 2 UML (Linguagem de Modelagem ifi d ) A UML é li d í b l i i d Unificada) A UML é uma linguagem de símbolos visuais usada para modelar sistemas computacionais por meio do paradigma de Orientação a Objetos. 3 Diagrama de ClassesDiagrama de Classes R t ã d d d i l dRepresentação dos dados manipulados e armazenados pelos programas de acordo com os conceitos de Orientação a Objetos;com os conceitos de Orientação a Objetos; Notação fortemente baseada no DiagramasNotação fortemente baseada no Diagramas Entidade‐Relacionamento; Deve‐se observar que o Diagrama de Classes, privilegia a descrição segundo o paradigmaprivilegia a descrição segundo o paradigma Orientado a Objetos. 4 Diagrama de classes N UML l Diagrama de classes – Na UML, uma classe possui a notação de um retângulo dividido em trêsretângulo dividido em três partes: Cliente 1. Nome da Classe; 2. Atributos da Classe; Atributo atributo: tipo de dado atributo: tipo de dado = valor inicial2. Atributos da Classe; 3. Métodos da Classe; p Operação Operação(lista de argumentos):Operação(lista de argumentos): tipo do resultadoOpcionais Fornecidos após um maior entendimento do sistema Na fase de análise não é necessárioentendimento do sistema. Na fase de análise não é necessário determinar a visibilidade dos atributos (public, private, protected) AtributosAtributos PessoaAtributo simples Nome Endereço: TipoEndereco (Logradouro) Atributo Composto ( g ) (Bairro) (Cidade) Telefone [0..*]Atributo M l i l dMultivalorado 6 Associações Uma associação é uma linha cheia entre duas classes. É usada para Associações U a assoc ação é u a a c e a e e duas c asses usada pa a representar uma propriedade (atributo) da classe. escrito por 1 * P0 *Livro escrito por 1.. Pessoa0.. rótulorótulo multiplicidade A multiplicidade de uma associação indica quantos objetos podem participar da mesma. No exemplo, um livro é escrito por uma ou mais pessoas Uma pessoa pode escrever zero ou mais livrosmais pessoas. Uma pessoa pode escrever zero ou mais livros. Quando oculta a multiplicidade é 1..1. MultiplicidadeMultiplicidade 8 Associações PapeisAssociações Papeis PessoaLivro Nome Endereço: TipoEndereco (Logradouro) Título Editora escrito por 1 *0 * (Logradouro) (Bairro) (Cidade) Telefone [0..*] Editora Resumo Palavras‐Chave [0..*] escrito por 1..* autor 0.. Telefone [0.. ]papel O papel é geralmente mapeado como atributo. Nesse exemplo autor é atributo da classe livro Mas cuidado! No 9 exemplo, autor é atributo da classe livro. Mas cuidado! No modelo relacional, o autor é um atributo do relacionamento escrito por. Associações Exemplo de associação unária, ou reflexiva: Associações e p o de assoc ação u á a, ou e e a Funcionário 0..* Nome Telefone chefe 0..1 Salario atualizaSalario ()() NavegabilidadeNavegabilidade N bilid d d i õ d Navegabilidade: descreve como as associações devem ser navegadas. Unidirecional: só é possível navegar em uma direção. – Por exemplo, a partir de um Funcionário pode‐se determinar o Departamento para o qual ele trabalha, mas o inverso não é í lpossível. Bidirecional: navega‐se em ambas as direções. Funcionário Departamentotrabalha0..* Turma Aluno alunosturma 11 Aluno 5..1000..* Classes AssociativasClasses Associativas Usada para modelar a informação que surge a partir da associação de outras g p ç classes. Aluno * Disciplina* matriculado Matrícula data conceito Classe associativa. 12 Usado quando o conceito pertence ao relacionamento existente entre as classes. Classes Associativas Cl i i b i íd l i Classes Associativas • Classes associativas substituídas por classes normais: • Vale observar que a notação do slide anterior é completamente equivalente à seguinte:p q g Aluno Disciplina **1..1 1..1Matrícula • Observe atentamente como ficaram as cardinalidades Classes AssociativasClasses Associativas casamento Casamento d Pessoa 0..1esposa data regime Nome Telefone [1..*] marido 0..1 Salario atualizar ()() 14 Classes AssociativasClasses Associativas Banco 0..1 *financia * feita Venda Vendedor Financiamento dataAprov. valor 15 GeneralizaçãoGeneralização Indica relacionamentos de herança de classes. Notas e comentáriosNotas e comentários É possível adicionar comentários e/ou restrições para as associações. Exemplo Turma Aluno alunos 5 1000..* turmas 5..1000 O aluno só pode ser incluído na turma mediante a aprovação do professor.professor. Associação especiaisAssociação especiais A UML define alguns tipos de associação que possuem um significado adicional C i ã Composição Agregação A composição é uma associação que indica um relacionamento PARTE‐TODO. Exemplos Mão (todo) – Dedos (parte) Polígono (todo) – Vértices (parte) Tabuleiro (todo) – Casas (parte) Tabuleiro (todo) Casas (parte) ComposiçãoComposição Composição É indicada com um losango cheio na classe que representa o todo. 1..* PARTE TODO Algumas regas devem ser obedecidas para se definir uma composição 1 – Um objeto da classe PARTE deve “pertencer” a um e somente um objeto da classe TODO 2 – O objeto da classe TODO é totalmente responsável pela 2 O objeto da classe TODO é totalmente responsável pela criação e remoção de seus objetos partes . ComposiçãoComposição Exemplos 1..* PedidoCompraItemPedido Não é preciso marcar a multiplicidade do lado da classe TODO pois esta será sempre 1..1 p p Agregação A agregação é também uma associação que representa Agregação g g ç ç q p um relacionamento PARTE‐TODO, porém de maneira mais relaxada: não são aplicadas regras como na Composição. Não tem praticamente nenhum valor semântico adicional com relação às associações simples. Evite usar! Porém, se você a vir em algum diagrama, terá uma idéi d t tidéia do que se trata. Associações especiais Agregação. Notação Associações especiais g g ç ç PARTE TODO1..* Correspondência DER paraCorrespondência DER para Diagrama de Classes As entidades e relacionamentos são representados por meio de classes; O l i ã d i õ Os relacionamentos são mapeados para associações; O diagrama de classes deve ser feito em três etapas: 1 Incluir somente o nome das entidades (nome das1. Incluir somente o nome das entidades (nome das classes); 2. Incluir os atributos; 3. Incluir as operações das classes. As operações não fazem parte do MER. 23 Exemplo de um Diagrama ER para b h duma base chamada Empresa logradouro cidade nroe end cidade estado nrod locais nome N 1 Departamentotrabalha_em nomed gerencia N 1 1 1 nroempssalario Empregado datainicio gerencia tem 1 M supervisiona 1 N controla 1 Dependentes N Trabalha em horas N nomedepen N nroproj Projeto parentesco descricao Diagrama ER com notação (min,max) bpara a base Empresa logradouro cidade nroe end cidade estado nrod locais nome (1,1) (4,N) Departamentotrabalha_em nomed gerencia (1,1) (4,N) (0,1) (1,1) nroemps (0 N) salario Empregado datainicio gerencia tem (0,N) ( ) supervisiona(0,N) (0,1) controla (0,N) ( ) (1,N) Dependentes (1,1) Trabalha em horas (1,N) nomedepen (1,1) nroproj Projeto parentesco descricao Diagrama de Classes UML para a base Empresa EMPREGADO DEPARTAMENTO NroE Nome End: TipoEnd (Logradouro) NroD NomeD Locais [1..*] Salario Trabalha_Em4..* 1..1 1..1 0..1(Logradouro) (Cidade) (Estado) Salario Salario nroEmps adicionarEmpregado ... 1..1 0..1 GERENCIA DataInicio* mudarSalario ... Controla 1..1 * 1..* 1 * supervisionado supervisor 0 1 1..1 PROJETO NroD NomeD * TRABALHA_EM horas 1..supervisor 0..1 DEPENDENTE NomeDepen NomeD Locais [1..*] Salario nroEmps NomeDepen Parentesco ... adicionarEmpregado ... (PK) Chave primária (WK) Chave da Entidade Fraca Considerações FinaisConsiderações Finais Mais sobre UML, consultar: – http://www.uml.org/p // g/ – Grady Booch, James Rumbaugh, Ivar Jacobson UML Guia do Usuário EditoraJacobson, UML Guia do Usuário, Editora Campus, 2000 27
Compartilhar