Mapeamento Objeto Relacional

Slides:



Advertisements
Apresentações semelhantes
Orientação a objetos identidade abstração classificação encapsulamento
Advertisements

Análise e Projeto Orientado a Objetos
Transformação ODMG  Relacional
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Evolução dos SGBD’s (2ª Parte).
Projeto 1.
DIAGRAMA DE CLASSES X DIAGRAMA DE ENTIDADES E RELACIONAMENTOS
Maurício Edgar Stivanello
Sistema Gerenciador de Banco de Dados SGBD
Modelagem Orientada a Objetos
Banco de Dados Dedutivo
UML Diagrama de Classes elementos básicos. Contexto Os diagramas de classes fazem parte do da visão estática da UML. Os elemento desta visão são conceitos.
Projeto de Sistema Orientado a Objeto
Módulo III Camada de Persistência
Padrões GoF – Factory Method
Introdução ao paradigma de programação: Orientado a Objetos
Org. e Projeto de Banco de Dados
Programação Orientada a Objetos
Java Persistence API (JPA) Eduardo Martins Guerra Instituto Tecnológico de Aeronáutica Curso de Pós-Graduação em Engenharia de Software Programação Distribuída.
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
RUP: Fluxo de Análise e Projeto
Geração de Código.
Camada de Persistência
Mapeamento de Objetos para Tabelas Relacionais
Prof. Alfredo Parteli Gomes
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Transformação ODMG Relacional. Implementação Relacional de BDs OO Transformação Esquema Objeto Esquema Relacional Transformação Esquema Objeto Esquema.
Modelo Conceitual Descreve a informação que o sistema vai gerenciar
DIAGRAMA DE CLASSE Modelagem de Software
Mapeamento de Objetos para o Modelo Relacional - Introdução
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Carolina Gelenske Carlos Eduardo Laís Xavier
1.
Modelo de Banco de Dados
Marcio de Carvalho Victorino
SISTEMAS DISTRIBUIDOS Aula 4
© Ricardo Pereira e Silva
Projeto Orientado aos Objetos Prof. Wolley W. Silva
Análise Orientado aos Objetos Prof. Wolley W. Silva
Marcio de Carvalho Victorino
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Introdução a Banco de Dados Aula 04
April 05 Prof. Ismael H. F. Santos - 1 Módulo II Mapeamento OO x Relacional Prof. Ismael H F Santos.
Orientação a Objetos com UML
Camada de Persistência
Tarciane Andrade Análise de Casos de Uso Tarciane Andrade
LINQ e Entity Framework
Fluxo de Análise e Projeto 7 - Atividade Projetar Classes.
Modelagem Conceitual descreve a informação que o sistema vai gerenciar.
Objetos em Bancos de Dados Relacionais Alcides Calsavara.
Jobson Ronan Padrões GoF Jobson Ronan
Abr-17 Projetar Base de Dados Projetar base de dados.
Introdução a Orientação a Objetos
Banco de Dados Universidade do Estado de Santa Catarina
Modelagem Conceitual descreve a informação que o sistema vai gerenciar.
SisCol Modelo de Banco de Dados
20/04/2017 Orientação a Objetos 1 1.
UCSal – Bacharelado em Informática
Herança. É o compartilhamento de características entre classes com base em um relacionamento hierárquico. – Possibilita a derivação de tipos mais específicos.
Interações entre objetos
Projetar Base de Dados. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 2 Objetivos deste.
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Diagrama de Classes Herança Dependências.
Transformação ODMG  Relacional. Implementação Relacional de BDs OO Transformação Esquema Objeto  Esquema Relacional.
CIn-UFPE1 Projeto de Gerenciamento de Dados. CIn-UFPE2 Objetivos n Definir o que significa gerenciamento de dados do sistema; n Entender abordagens diferentes.
Modelagem de Dados Aula 3.
Análise e Projeto de Sistemas Análise & modelagem conceitual Prof. Edjandir Corrêa Costa
Prof.: Jean Carlo Mendes
Modelagem de Banco de Dados: Conceitos
Transcrição da apresentação:

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 não preservar seus dados quando “desligado” este sistema terá baixo valor agregado.

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.

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.

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

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.

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.

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.

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.

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.

Regras de mapeamento Classes e atributos. Associações. 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.

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.

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.

Mapeamento <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="hello.Mundo" table="MESSAGES"> <id name="id" column="ID_MUNDO"> <generator class="increment"/> </id> <property name="text" column=“MUNDO_TEXT"/> <many-to-one name="nextMessage“ cascade="all" column="NEXT_MUNDO_ID" Foreign-key="FK_NEXT_MESSAGE"/> </class> </hibernate-mapping>

Aspectos importantes Materialização: Atualização: Remoçã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.

Dúvidas? camposmf@gmail.com