Tecnicas de Mapeamento Objeto Relacional

Começar. É Gratuito
ou inscrever-se com seu endereço de e-mail
Rocket clouds
Tecnicas de Mapeamento Objeto Relacional por Mind Map: Tecnicas de Mapeamento Objeto Relacional

1. Modelo Relacional

1.1. Características

1.1.1. Baseia-se em relações matemáticas em que os dados são armazenados em tabelas

1.2. Vantagens

1.2.1. Confiáveis

1.2.2. Eficientes

1.2.3. Busca e recuperação de dados

1.2.4. Persistência de dados

1.3. Desvantagens

1.3.1. Dificuldade de abstrair a realidade

2. Modelo Orientado a Objetos

2.1. Conceito

2.1.1. Encapsulamento

2.1.1.1. Em banco de dados se diz que um objeto está encapsulado quando o estado é oculto ao usuário e o objeto pode ser consultado e modificado exclusivamente por meio das operações a ele associadas.

2.1.2. Mensagens

2.1.2.1. Meio de comunicação entre objetos. Troca de mensagens significa chamar um método do objeto.

2.1.3. Herança

2.1.3.1. É a capacidade de criação de uma nova classe a partir de outra existente.

2.1.4. Polimorfismo

2.1.4.1. Capacidade de existir diferentes implementações para métodos com a mesma assinatura em diferentes classes da mesma hierarquia de herança.

2.2. Caracteristicas

2.2.1. Baseia-se na construção de aplicações a partir de objetos abstraídos da realidade

2.2.2. Estado

2.2.2.1. Indica como se encontram as informações encapsuladas pelo objeto.

2.2.3. Comportamento

2.2.3.1. Define o modo que um objeto age e reage em termos das suas mudanças de estado.

2.2.4. Identidade

2.2.4.1. É a propriedade que distingue um objeto de outro. Cada objeto possui uma identidade única.

2.3. Vantagens

2.3.1. Simplicidade

2.3.2. Reutilização

2.3.3. Boa representação

2.3.3.1. Representação de estruturas complexas de forma coerente e uniforme

2.4. Desvantagens

2.4.1. Falta de aderência de principios de orientação de objetos

2.4.2. Implementação mais complexa

3. Banco de dados Orientado a Objetos

3.1. Banco de dados Puramente Orientado a Objetos

3.1.1. Características

3.1.1.1. Permitem a representação de relacionamentos 1-n, n-n e de herança.

3.1.1.2. A representação de um relacionamento é feita incluindo-se dentro de um objeto os “object identifiers” dos outros objetos com os quais ele se relaciona.

3.1.1.3. Não possuem um padrão único de implementação como os bancos relacionais.

3.2. Bancos de Dados Objeto-Relacionais

3.2.1. Características

3.2.1.1. Permite o armazenamento de objetos em suas tabelas.

3.2.1.2. A classe, não representa mais um elemento envolvido em relacionamentos.

3.2.1.3. Todas as regras de um banco relacional continuam válidas

3.2.1.4. Uma coluna cujo data type seja uma classe, só poderá ter uma instância desta classe.

3.2.2. Vantagens

3.2.2.1. Suporte para o P Orientado a Objetos.

3.2.2.2. Padrão de implementação existente

4. Mapeamento Objeto Relacional

4.1. Características

4.1.1. Em termos conceituais, uma Camada de Persistência de Objetos é uma biblioteca que permite a realização do processo de persistência (isto é, o armazenamento e manutenção do estado dos objetos em algum meio não-volátil, como um banco de dados) de forma transparente.

4.2. Vantagens

4.2.1. Semelhança com sistema orientado a objetos

4.2.2. Acessos no Banco de dados de maneira isolada.

4.2.3. Aplicações mais confiáveis.

5. Regras para Mapeamento

5.1. Caracteristicas

5.1.1. Pode-se tentar estabelecer uma analogia entre objetos e tabelas, e entre atributos e colunas.

5.1.2. Para mapear um objeto em uma tabela relacional, geralmente os atributos desse objeto são representados através de colunas na tabela, podendo considerar s (tipos dos dados, tamanho dos campos, entre outras). Tais considerações podem fazer com que um atributo seja mapeado em várias colunas, ou então que vários atributos sejam mapeados em apenas uma coluna.

5.2. Regras

5.2.1. Todas as tabelas (ou relações) devem ter uma chave primária

5.2.2. Existem três tipos de atributos para serem mapeados.

5.2.2.1. Os atributos simples são mapeados para colunas. Os atributos compostos podem ser mapeados em várias colunas. Já os atributos multivalorados devem ser mapeados em tabelas onde a chave primária é composta pela chave primária da tabela que representa a classe que contém o atributo multivalorado e pela chave primária que representa o atributo multivalorado

5.2.3. Há três formas de mapear heranças

5.2.3.1. A primeira é simplesmente criar uma tabela para cada classe. A segunda forma é criar uma única tabela para toda a hierarquia de classes. Por último, pode-se criar uma tabela para cada classe concreta.

5.2.4. Muitos p/ Muitos

5.2.4.1. neste caso devemos criar uma tabela associativa em que a chave primária é composta pelas chaves primárias das tabelas associadas à famosa e já conhecida entidade ou tabela associativa.

5.2.5. Um p/ Muitos

5.2.5.1. neste caso, a tabela cujos registros podem ser endereçados diversas (lado Muitos do relacionamento) vezes é a que herda a referência da tabela cuja correspondência é unitária.

5.2.6. Muitos p/ Muitos com Classe de Associação

5.2.6.1. neste caso, aplica-se a regra da associação muitos-paramuitos e os atributos da classe associativa permanecerão na tabela que é gerada para mapear a associação

5.2.7. Um-para-Um

5.2.7.1. nesse tipo de associação, o analista deve optar por gerar uma única tabela no modelo relacional, ou então gerar duas tabelas (uma para cada classe).

5.2.8. Um p/ Muitos com Classe de Associação

5.2.8.1. neste caso, aplica-se a regra da associação um-para-muitos e os atributos da classe associativa são herdados como atributos normais pela tabela que herda a chave estrangeira

6. Conclusão

6.1. realizar uma análise criteriosa

6.1.1. Realizar uma análise criteriosa, analisando cada caso individualmente. O fundamento dessa análise deve estar baseado nas regras de mapeamento existentes, porém, como todas as regras, sempre existem exceções que precisam ser analisadas com cuidado.

6.2. Boa análise individual

6.2.1. uma boa análise individual sobre cada caso, verificando os objetos individualmente e como um todo, é muito importante. Até mesmo quando são utilizadas ferramentas que fazem o mapeamento de forma automática, deve-se analisar o modelo obtido para verificar como ficaram as tabelas, pois pode haver exceções que precisam ser tratadas de forma manual.