Você está na página 1de 11

0

BELM
2013






































DIEGO DE SOUZA FARIAS











SISTEMA DE ENSINO A DISTNCIA
ANLISE E DESENVOLVIMNETO DE SISTEMAS

PRODUO TEXTUAL INTERDISCIPLINAR - INDIVIDUAL


1
BELM
2013





































PRODUO TEXTUAL INTERDISCIPLINAR - INDIVIDUAL

Portflio apresentado Universidade Norte do Paran -
UNOPAR, como requisito parcial para a obteno de
mdia semestral interdisciplinar.

DIEGO DE SOUZA FARIAS














2
Sumrio

1 Introduo .............................................................................................................. 3

2 Objetivo .................................................................................................................. 4

3 Desenvolvimento ................................................................................................... 5

3.1 Banco de Dados Orientados a Objeto .............................................................. 5

3.1.1 Aplicao e Mecanismo de Funcionamento .................................................. 5

3.1.2 Diferena entre B.D. Orientados a Objetos e Relacional .............................. 5

3.2 ORM ................................................................................................................. 5

3.2.1 Desenvolvendo Utilizando P.O.O. e B.D. Relacional .................................... 6

3.2.2 O que um ORM e para que ele utilizado ................................................. 6

3.2.3 Ferramentas Disponveis no Mercado ........................................................... 6

3.2.4 Vantagens e Desvantagens de se usar uma Ferramenta ORM .................... 7

4 Concluso .............................................................................................................. 9

5 Referncias .......................................................................................................... 10
























3
1 Introduo
Dentro deste Portfolio o desenvolvimento ir abordar temas como:
Banco de Dados Orientados a Objetos e Relacional e ORM (Mapeamento Objeto
Relacional).
Abordaremos no Banco de Dados Orientados a Objetos sua
aplicao e o seu mecanismo de funcionamento, a diferena entre Banco de Dados
Relacional e Banco de Dados Orientado a Objetos e em Relao ao ORM
(Mapeamento Objeto Relacional), irei apresentar as vantagens e suas
desvantagens, como desenvolver utilizando Programao Orientados a Objetos com
Bando de Dados Relacional, suas principais ferramentas utilizadas atualmente no
mercado e finalizando o que um ORM e para que ele serve.



































4
2 Objetivo

O objetivo deste Portfolio descrever a aplicao de um Banco de Dados
Orientados a Objetos e sua diferena com um Banco de Dados Relacional.

Em ORM (Mapeamento Objeto Relacional), apresentarei conceitos de como
programar usando programao orientada a objetos e com um banco de dados
relacional, descrever o que um ORM e para que utilizado, as ferramentas
disponveis no mercado e as vantagens e desvantagens de se usar um ORM.










































5
3 Desenvolvimento

3.1 Banco de Dados Orientados a Objeto

3.1.1 Aplicao e Mecanismo de Funcionamento

O banco de dados orientados a objetos, tem em sua grande aplicao nas
reas que possuem banco de dados espaciais, telecomunicaes, e nas reas
cientficas como fsica de alta energia e biologia molecular. Isso porque essa
tecnologia oferece aumento de produtividade, segurana e facilidade de
manuteno. Como objetos so modulares, mudanas podem ser feitas
internamente, sem afetar outras partes do programa. O modelo OO no teve
grandes impactos nas reas comerciais embora tenha sido aplicado em algumas.

3.1.2 Diferena entre B.D. Orientados a Objetos e Relacional

BDRs e BDOOs possuem caractersticas distintas mas basicamente servem
ao mesmo propsito: persistir dados necessrios para a manuteno do negcio
para o qual so aplicados, possibilitando a recuperao, comparao e tratamento
desses dados a fim de produzir resultados tangveis.

Em BDR, uma coleo de tabelas, todas com nomes nicos, compem a
base de dados, podendo estar relacionada a uma ou mais tabelas. Conceitos como
integridade referencial de dados que garantem que um dado referenciado em uma
tabela esteja presente na tabela que est sendo referenciada e chaves primrias
esto presentes e garantem que um conjunto de informaes possa ser
representado de maneira consistente, independente da forma de acesso.

J um BDOO possui trs pilares principais: herana, polimorfismo e
encapsulamento, discutidos a seguir. Este modelo apresenta maior flexibilidade na
manipulao de seu contedo e por meio de identificadores de objetos manipula os
dados de forma consistente.

Apesar do conceito de bancos de dados orientados a objetos ser bastante
distinto do modelo relacional, o mesmo resulta da integrao entre a orientao a
objetos e a tecnologia de banco de dados tradicionais. Enquanto na programao
orientada a objetos, os objetos existem apenas enquanto o programa que os criou
est em execuo, os bancos de dados orientados a objetos podem criar objetos
que sejam persistentes e compartilhados entre diferentes aplicativos

3.2 ORM

3.2.1 Desenvolvendo Utilizando P.O.O. e B.D. Relacional

Apesar de j se saber das grandes vantagens que o paradigma da orientao
a objetos traz a um projeto, a um conflito por no se ter um banco de dados
orientados a objetos, comercialmente preparado para grandes projetos. Os banco de
dados relacionais ainda representam a grande maioria do mercado e da rea
acadmica, disponveis para as mas variadas aplicaes.


6
Se um projeto utiliza-se programao orientada a objeto e um banco de dados
relacional, o programador ir perder muito tempo e tendo muito trabalho ao
construindo os comandos SQL para fazer a persistncia dos dados no banco de
dados relacional.

Mas isso pode ser evitado, esse retrabalho pode ser extinto utilizando uma
ferramenta ORM, os framework, uma camada de mapeamento objeto relacional, que
ir fazer a traduo das estruturas da programao orientada a objetos para o banco
de dados relacional.

3.2.2 O que um ORM e para que ele utilizado

Object Relational Mapper ou mapeamento objeto relacional, uma ferramenta
utilizada para unir o mundo da orientao a objetos com o mundo relacional.
Utilizando tcnicas de mapeamento de objeto relacional que permite fazer uma
relao dos objetos com os dados que os mesmos representam. Nada mas do que
um Framework ou um conjunto de classes que permite que voc faa trabalhos sem
precisar escrever cdigos de conexo com o Banco de Dados, query de SQL a todo
momento, preservando as caractersticas de orientao a objetos da linguagem face
natureza relacional dos bancos de dados atuais.

No mundo Relacional prevalecem princpios matemticos com a finalidade de
armazenar e gerenciar corretamente os dados, de forma segura e se trabalha com a
linguagem SQL. J no mundo Orientado a Objetos, trabalhamos com classes,
mtodos, ou seja, trabalhamos fundamentados na engenharia de software. O ORM
justamente, a ponte entre estes dois mundos, ou seja, ele quem vai permitir que
voc armazene os seus objetos no Banco de dados, para isto fazendo um
mapeamento dos seus objetos para as tabelas do banco de dados.

ORM trabalha fazendo o mapeamento da sua classe para o Banco de Dados
e cada ORM tem suas particularidades, para gerar o SQL referente insero do
objeto que corresponde a uma tabela no banco de dados e realizar a operao.
Utilizando um ORM, tambm se ganha produtividade, pois se deixa de escrever os
comandos SQL para deixar que o prprio ORM, faa isto por voc.

3.2.3 Ferramentas Disponveis no Mercado

As ferramentas de ORM evitam retrabalho e melhoram a manuteno das
solues. Hoje temos vrias ferramentas, destacando como principais o Hibernate,
NHibernate e o Entity Framework.
O Hibernate um framework desenvolvido na linguagem Java, um software
livre de cdigo aberto distribudo com a licena LGPL. Este framework facilita o
mapeamento dos atributos entre uma base tradicional de dados relacionais e o
modelo objeto de uma aplicao, mediante o uso de arquivos XML ou anotaes
Java.
O objetivo do Hibernate diminuir a complexidade entre os programas Java,
baseado no modelo orientado a objeto, que precisam trabalhar com um banco de
dados do modelo relacional. Em especial, no desenvolvimento de consultas e
atualizaes dos dados.

7
Sua principal caracterstica a transformao das classes em Java para
tabelas de dados. O Hibernate gera as chamadas SQL e libera o desenvolvedor do
trabalho manual da converso dos dados resultante, mantendo o programa portvel
para quaisquer bancos de dados SQL, porm causando um pequeno aumento no
tempo de execuo.
O NHibernate uma das solues de ORM, para a plataforma de
desenvolvimento Microsoft .NET. livre e de cdigo aberto e a verso portada
do Java para o Microsoft .NET do Hibernate.
Ele lida com plano de persistncia para objetos e de um subjacentes de
dados relacionais. Dando uma descrio XML de suas entidades e
relacionamentos, NHibernate gera automaticamente cdigos SQL para carregar e
guardar os objetos. Opcionalmente, voc pode descrever o seu mapeamento de
metadados com atributos em seu cdigo fonte.
Suporta persistncia transparente, o seu objeto classes no tm de seguir um
modelo de programao restritiva. Classes persistentes no precisam implementar
nenhuma interface ou herdar de uma classe especial base. Isto torna possvel
desenvolver a lgica empresarial utilizando o plano de objetos .NET (CLR)
e Orientao a Objetos.
O Entity Framework, criado pela Microsoft, permite fcil criao do modelo a
partir de um database (Database-First Approach) ou do database a partir de um
modelo (Model-First Approach). O Visual Studio 2010 d grande suporte designer,
permitindo criar o modelo inteiramente em modo designer, evitando que voc tenha
que ficar abrindo arquivos .xml para isso. Alm disso, h uma extenso do LINQ, o
LINQ To Entities, para trabalhar com o EF, permitindo que voc escreva queries com
o LINQ, beneficiando-se da verificao em tempo de desenvolvimento/compilao. O
LINQ transformado em uma consulta sql e o resultado da consulta j vem de forma
estruturada.

3.2.4 Vantagens e Desvantagens de se usar uma Ferramenta ORM

A grande sacada da utilizao dessa abordagem o nvel de abstrao das
operaes com os dados, pois dependendo da estratgia utilizada, temos a ntida
sensao de que estamos trabalhando com os dados sempre em memria, devido
s chamadas a base estarem totalmente isoladas e automticas do ponto de vista
da camada de domnio da aplicao. Voc escreve menos cdigo e programa com
muito mais produtividade. Seu cdigo fica mais elegante. mais fcil de dar
manuteno no projeto. Melhora a padronizao da sua aplicao.

Temos algumas desvantagens que existem quando se decide usar algum
tipo de ORM. A primeira grande desvantagem o desempenho. Num ambiente
relacional, temos todos aqueles algoritmos que os bancos de dados usam para a
recuperao dos dados, so de longe muito mais performticos do que qualquer
outro tipo de tratamento dos dados na aplicao. Outra desvantagem a
complexidade e o nvel de entropia que necessrio para construir-se um bom
design. No to simples desenhar a arquitetura de um sistema utilizando uma
estratgia desse tipo, o que pode ocasionar designs fracos e ruins, como disse
anteriormente. s vezes, utilizado de maneira incorreta, o mapeamento pode acabar
separando das entidades os dados e as regras de negcio. Do ponto de vista OO

8
isso um pouco estranho, pois um carro, por exemplo, contm tudo dentro de um
objeto carro, certo? Ou na vida real existe um objeto Carro e outro Dados Carro?
Para resolver esse problema podemos recorrer a alguns padres (Factory, DAO,
Repository), mas como se percebe, a complexidade foi elevada.















































9
4 Concluso

Chegamos a concluso de quo so importantes os conceitos e tcnicas
abordados nesse portfolio.

Considero o mais relevante foi o conhecimento que obtive ao desenvolver
este trabalho proporcionando-me um melhor conhecimento em analise e
desenvolvimento de sistemas.











































10
5 Referncias

WIKIPEDIA. Banco de dados orientados a objeto. Disponvel em: <
http://pt.wikipedia.org/wiki/Banco_de_dados_orientado_a_objetos > Acesso em: 01
de Outubro de 2013, 10:48;

FSMA. Banco de dados orientados a objeto. Disponvel em: <
http://www.fsma.edu.br/si/edicao3/banco_de_dados_orientado_a_objetos.pdf
> Acesso em: 01 de Outubro de 2013, 11:00;

CONGED. Uma reflexo sobre banco de dados orientados a objeto. Disponvel
em: < http://conged.deinfo.uepg.br/artigo4.pdf> Acesso em: 01 de Outubro de 2013,
11:14;

WIKIPEDIA. Mapeamento objeto-relacional. Disponvel em: <
http://pt.wikipedia.org/wiki/Mapeamento_objeto-relacional > Acesso em: 07 de
Outubro de 2013, 10:27;

DevMedia. ORM: Object Relational Mapper. Disponvel em: <
http://www.devmedia.com.br/orm-object-relational-mapper/19056 > Acesso em: 07
de Outubro de 2013, 10:30;

PrinciWeb. Veja o que ORM e os frameworks disponveis para .NET. Disponvel
em: < http://conged.deinfo.uepg.br/artigo4.pdf> Acesso em: 01 de Outubro de 2013,
11:14;

Você também pode gostar