A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Mapeamento Objeto Relacional Márcio F. Campos. Persistência Persistência é um dos conceitos fundamentais de uma aplicação. Se um sistema de informação.

Apresentações semelhantes


Apresentação em tema: "Mapeamento Objeto Relacional Márcio F. Campos. Persistência Persistência é um dos conceitos fundamentais de uma aplicação. Se um sistema de informação."— Transcrição da apresentação:

1 Mapeamento Objeto Relacional Márcio F. Campos

2 Persistência Persistência é um dos conceitos fundamentais de uma aplicação. Se um sistema de informação não preservar seus dados quando desligado este sistema terá baixo valor agregado.

3 Banco de Dados Relacionais A posição dos banco de dados relacionais deve ser entendida pela sua extrema flexibilidade e robustez na persistência/gerência Devido a sua teoria bem fundamentada estes banco de dados efetivamente garantem e protegem a integridade dos dados. Possuem independência de dados. Compartilhamento de dados. Utilização de SQL.

4 Persistência em Aplicações Orientadas a Objetos Em uma aplicação orientada a objetos a persistência possibilita um objeto sobreviver a execução de um processo que o criou. O estado de um objeto pode ser armazenado em disco. Este mesmo objeto pode ser recriado/materializado no futuro. Este mecanismo se aplica a um único objeto ou a um coleção deles. Entretanto muitos objetos são transientes. Objetos de fronteira e objetos de controle são normalmente transientes.

5 Descompasso dos Paradigmas Problema de granularidade(tipos). Subtipos/herança. Identidade do objeto. Associações: chaves vs referência.

6 Custo do descompasso Um dos maiores custos: o modelo relacional e de domínio devem ser semelhantes. Entretanto a modelagem de objetos pode levar a modelos diferenciados de domínio.

7 Acesso Direto ao BDD Possibilitar que cada objeto persistente do sistema possua os comportamentos de forma a permitir a sua restauração, atualização e remoção. Neste caso as classes do sistema ficam muito acopladas ao bando de dados dificultando a migração para outros sistemas. Necessidade de se conhecer SQl para fazer acesso ao BDD. A coesão das classes diminui já que cada classe deve possuir responsabilidades adicionais para o armazenamento e materialização dos objetos.

8 Camada de Persistência O objetivo da camada de persistência é o isolar os objetos do sistema de mudanças do mecanismo de armazenamento. É através deste mecanismos que os sistemas que se diminui o acoplamento entre os objetos do sistema e a camada do sistema, tornando o sistema mais flexível e portável. A desvantagem é a sobrecarga desta intermediação, além da complexidade para a realização de determinadas atividades.

9 Mapeamento Objeto Relacional Equivale a persistência automática e transparente de objetos em um banco de dados relacional através de utilização de metadados para o mapeamento objeto- relacional. Transforma dados de uma representação em outra. Pode ser considerado uma extensão do modelo relacional onde são inseridas características de orientação a objetos.

10 Elementos de de uma solução de persistência Interface para realizar operações de CRUD. Linguagem para especificar consultas/querys. Mecanismos para especificação de metadados. Mecanismos para otimização de funções.

11 Regras de mapeamento Classes e atributos. Classes são mapeadas para relações Um atributo será mapeado para uma coluna. »Atributos derivados, em geral, não são mapeados. Cada instância de uma classe equivale a uma coluna na tabela respectiva. Associações. Um para Um: verificar se opcional ou obrigatória. Um para Muitos:adicionar chave estrangeira na tabela com referência a muitos elementos Muitos para Muitos: criar classe de associação.

12 Regras de mapeamento Classes Associativas. As associações entre classes corresponderão a tabelas associativas no modelo relacional. Associações temporárias e do controlador. Estas associações não são transformadas em tabelas relacionais. Um controlador é normalmente um objeto único.

13 Regras de mapeamento Generalização: Três formas básicas: »(1)uma tabela para cada classe da hierarquia; » (2)uma relação para toda a hierarquia; » (3)uma relação para cada classe concreta da hierarquia. (1)utilização de chave estrangeira para cada relação da subclasse. (2) existência de um atributo para diferenciar o conceito. (3) atributos da superclasse são replicados.

14 Mapeamento

15 Aspectos importantes Materialização: Restaurar um objeto a partir do banco de dados. Atualização: Enviar modificações sobre um objeto para o banco de dados. Remoção: Remover um objeto do armazenamento persistente.

16 Dúvidas?


Carregar ppt "Mapeamento Objeto Relacional Márcio F. Campos. Persistência Persistência é um dos conceitos fundamentais de uma aplicação. Se um sistema de informação."

Apresentações semelhantes


Anúncios Google