Você está na página 1de 15

SISTEMA DE ENSINO PRESENCIAL CONECTADO

ANALISE E DESENVOLVMENTO DE SISTEMAS


ANGELO GIUSEPPE DA SILVA

COMO PROCEDER O DESENVOLVIMENTO


DE
SISTEMAS ORIENTADO A OBJETOS USANDO BANCO DE
DADOS RELACIONAL

Joo pessoa
2014

ANGELO GIUSEPPE DA SILVA


1

COMO PROCEDER O DESENVOLVIMENTO DE SISTEMAS


ORIENTADO A OBJETOS USANDO
BANCO DE DADOS RELACIONAL.

Trabalho apresentado ao Curso (nome do curso) da


UNOPAR - Universidade Norte do Paran, para a
disciplina Desenvolvimento Orientado a Objetos;
Redes de computadores; Modelagem Orientada a
Objetos .
Prof. Marcio Roberto Chiaveli; Paulo K. Nishitani;
Polyanna P. G. Fabris.

Joo pessoa
2014
2

SUMRIO

2. Introduo....................................................................................................... 3
3.Objetivo ........................................................................................................... 4
4.Desenvolvimento ............................................................................................ 5
4.1.Faa uma pesquisa sobre banco de dados orientado a objetos ................ 6
4.1.1. Descreva sua aplicao e seu mecanismo de funcionamento ............... 7
4.1.2. Qual a diferena entre banco de dados orientado a objeto e banco de
dados relacional ................................................................................................ 8
4.2 Pesquise sobre ORM (object Relational Mapper) MAPEAMENTO
OBJETO RELACIONAL ................................................................................... 9
4.2.1 Como desenvolver utilizando o modelo orientado a objetos com um
banco de dados relacional ...............................................................................10
4.2.2 o que ORM e para que ultilizado ......................................................11
4.2.3 Quais ferramentas esto disponiveis hoje no mercado ........................ 12
4.2.4 Quais as vantagens e desvantagens de se usar uma ferramenta ORM 13
5. Concluso: descreva as principais reflexes sobre o desenvolvimento da
atividade,considerando o que a atividade lhe proporcionou .......................... 14
6 . Referencias: relacione as fontes ultilizadas em ordem alfabetica,incluindo
As referencias eletronicas ............................................................................ 15

2. INTRODUO

A cada dia as empresas dependem mais de grandes e crescentes volumes de


informao para suas decises e negocio,e essa informao deve estar sempre
correta e de facil acesso. Por isso essas empresas exigem sistemas de
informao que atendam no s a suas necessidades funcionais,mas tambm
estejam integrados com a necessidade de mudanas no negocio, Bancos de
dados so componentes importantes dos sistemas de informao (SIs) e
consequentemente, o projeto do banco de dados apresenta-se como uma
atividade essencial na fase de desenvolvimento dos SIs. Projetar bancos de dados
tem se tornado uma atividade popular, as vezes realizada no somente por
profissionais da rea de banco de dados, mas tambm por no especialistas.

3 OBJETIVO

O objetivo geral proporcionar a partir de uma abordagem de mecanismos,


armazenamento e organizao de dados e conhecimento de conceitos sobre Para
auxiliar reas: de inovao, planejamento e gerenciamento da infraestrutura de
Informao e coordenao dos recursos de informao nas organizaes;
Especificao da interface, Especificao de dados, Especificao do ambiente
tcnico.Ns os analistas de sistemas definem como ser o sistema em termos de
arquitetura, dados e procedimentos, A soluo final fruto de um processo de
refinamentos sucessivos de cada um desses elementos, Com esta tcnica, o
programador no precisa se preocupar com os comandos em linguagem SQL; ele
ir usar uma interface de programao simples que faz todo o trabalho de
persistncia, A forma como este mapeamento configurado depende da
ferramenta

que

use Hibernate na

estamos

usar. Como

linguagem Java pode

de anotaes que a linguagem providencia.

usar

exemplo,

programador

arquivos XML ou

que

sistema

4 DESENVOLVIMENTO

O paradigma de orientao de objetos muito difundido no processo de


desenvolvimento de software. Porm, no existem solues comerciais robustas e
amplamente

aceitas

para

persistncia

de

dados.

Existem alguns frameworks de persistncia no mercado e o seu uso est se


tornando cada vez mais comum. Contudo, mesmo estes frameworks gerando todo
o mapeamento objeto relacional, necessrio que o analista entenda o que foi
gerado por estes frameworks para em uma eventual necessidade fazer ajustes no
cdigo gerado. A maioria dos sistemas atuais possui a sua camada de
persistncia (armazenamento, manuteno dos estados dos objetos em algum
meio no-voltil, como um banco de dados).

4.1 FAA UMA PESQUISA SOBRE BANCO DE DADOS ORIENTADO A OBJETOS.

Os Banco de Dados Orientado a Objetos sugiram da necessidade de armazenar


dados complexos e de acabar com a disparidade que havia na modelagem da
aplicao e do Banco de Dados (BD). Com o advento das linguagens de
programao orientadas a objetos, os programadores passaram a utilizar este
paradigma e a modelagem ento naturalmente passou tambm a seguir este
modelo. O outro ponto que objetos complexos precisam ser quebrados em
diversas tabelas, ou relaes, para serem armazenados e com isto para recuperar
tal informao preciso realizar um JOIN entre diversas tabelas, Com a
orientao a objetos, possvel modelar objetos de forma mais prxima ao mundo
real, como por exemplo, em um sistema de geoprocessamento, engenharia,
pesquisa cientfica e tantos outros sistemas no triviais. Um Bando de Dados
Orientado a Objetos BDOO permite ainda que a aplicao manipule objetos,
independente se eles so persistentes ou no, pois possvel armazenar todo
oobjeto e no apenas seus atributos, Diferentemente do modelo Relacional, o
BDOO no utiliza o conceito de chave primria ou secundria. As chaves foram
substitudas pelo identificador de objeto (OID Objetct Identifier), que controlado
pelo prprio SGBD Sistema Gerenciador de Banco de Dados e no visvel
ao usurio do Banco de Dados. O OID pode ser visto como uma referncia ao
objeto em memria, assemelhando-se a um ponteiro, porm um OID nunca
alterado e nem reaproveitado, diferentemente do que acontece quando o objeto
est em memria, onde utilizado o endereo fsico da memria RAM (Random
Access Memory). Apesar da caracterstica mencionada, possvel criar campos
como chave para facilitar a identificao dos objetos armazenados por parte do
usurio,Hoje os bancos de dados mais utilizados so os relacionais, no qual todos os dados
so armazenados em tabelas que se relacionam uma com as outras, porm, a necessidade de
se trabalhar com aplicaes mais complexas, levou a evoluo dos BDOOs (Banco de
Dados Orientados a Objeto), onde os dados so armazenados na forma de objetos.

4.2. Pesquise sobre ORM (Object Relational Mapper) Mapeamento Objeto


Relacional.
ORM (Object Relational Mapper) uma tcnica de mapeamento de objeto
relacional que permite fazer uma relao dos objetos com os dados que os
mesmos representam. Ultimamente tem sido muito utilizada e vem crescendo
bastante nos ltimos anos Este crescimento, tem se dado principalmente pelo fato
de muitos desenvolvedores no se sentirem a vontade de escrever cdigo SQL e
pela produtividade que esta tcnica nos proporciona. Existem timos ORMs como
Hibernate, Nhibernate, Entity Framework e etc.Tudo comea como mostrado na
figura acima, existem 2 mundos: o relacional e o orientado a objetos, 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 que utilizada para dizer o banco de dados O QUE? fazer e no como
fazer. J no mundo orientado a objetos, trabalhamos com classes, mtodos, ou
seja, trabalhamos fundamentados na engenharia de software e seus princpios
que nos dizem COMO fazer. O ORM justamente, a ponte entre estes dois
mundos, ou seja, ele quem vai permitir que voc armazenasse os seus objetos
no banco de dados, para isto fazendo um mapeamento dos seus objetos para as
tabelas do banco de dados. Compreender os conceitos da tcnica ORM o
primeiro passo para usar efetivamente os frameworks disponveis na plataforma.
Os dois primeiros artigos citados nas referncias, escrito pelo agilista Scott W.
Ambler descrevem minuciosamente esta tcnica, alm de discutir o gap conceitual
entre o modelo relacional e a orientao a objetos. Muitos criticam o uso de um
framework como o Hibernate ao intermediar a persistncia dos objetos alegando
perda de desempenho, uma camada desnecessria a mais na aplicao, a falta
de controle nos SQLs gerados e a preferncia por executar as velhas e
tradicionais instrues SQL diretamente. Contudo, muitas destas crticas resultam
de uso inadequado do framework pela simples falta de conhecimento dos
conceitos fundamentais sobre ORM e sobre como o framework funciona.

4.2.1. Como desenvolver utilizando o modelo orientado a objetos com um banco


de dados relacional.

Os sistemas de banco de dados relacionais e as linguagens orientadas a objetos


so bastante utilizados hoje em dia. Estes dois paradigmas diferentes tm que
conviver juntos, criando esta incompatibilidade semntica entre os paradigmas
objeto/relacional. Neste trabalho apresentado um estudo dos mecanismos de
integrao de linguagens orientada a objetos com persistncia em banco de dados
relacionais. Para tanto, foi criado um prottipo de um sistema de contas a pagar e
receber e feito uma avaliao da implementao utilizando JBDC e o framework
Hibernate. Os sistemas de banco de dados relacionais e as linguagens orientadas
a objetos ganharam um espao considervel no mercado nos ltimos anos. O
primeiro firmou-se no mercado e tem tido investimento pesado da indstria h
muitos anos. O segundo vem ganhando aceitao generalizada, principalmente
por causa da linguagem Java. Temos ento as linguagens orientadas a objetos e
os banco de dados relacionais, dois paradigmas diferentes, mas que tem que
conviver juntos, criando assim esta incompatibilidade semntica entre os
paradigmas objeto/relacional. Esta incompatibilidade pode ser solucionada usado
banco de dados orientado a objetos, j disponveis atualmente. No entanto, os
bancos de dados orientados a objetos ainda no so to eficientes e difundidos
quanto os bancos de dados relacionais. Segundo Bauer e King (2005),
tradicionalmente,

foram

subestimados

importncia

custo

desta

incompatibilidade e as ferramentas para solucionar a incompatibilidade tm sido


insuficientes. Enquanto isso, os desenvolvedores Java culpam a tecnologia
relacional pela incompatibilidade; e os profissionais de banco de dados culpam a
tecnologia de objetos. Isto acabou criando uma soluo chamada mapeamento
objeto/relacional (ORM). O mapeamento objeto/relacional a persistncia de
objetos automatizada (e transparente) dentro de um aplicativo Java para as
tabelas em um banco de dados relacional, usando metadados que descrevem o
mapeamento entre os objetos e o banco de dados.

4.2.2. O que ORM e para que utilizado

uma

tcnica

de

desenvolvimento

utilizada

para

reduzir

a impedncia da programao orientada aos objetos utilizando bancos de dados


relacionais. As tabelas do banco de dados so representadas atravs de classes e
os registros de cada tabela so representados como instncias das classes
correspondentes. Com esta tcnica, o programador no precisa se preocupar com
os

comandos

em

linguagem SQL;

ele

ir

usar

uma interface

de

programao simples que faz todo o trabalho de persistncia. No necessria


uma correspondncia direta entre as tabelas de dados e as classes do programa.
A relao entre as tabelas onde originam os dados e o objeto que os disponibiliza
configurada pelo programador, isolando o cdigo do programa das alteraes
organizao dos dados nas tabelas do banco de dados.A forma como este
mapeamento configurado depende da ferramenta que estamos a usar. Como
exemplo, o programador que use Hibernate na linguagem Java pode usar
arquivos XML ou o sistema de anotaes que a linguagem providencia. A
utilizao de um ORM aumenta a produo de uma equipe, pois reduz o problema
da impedncia (impedance mismatch [Ambler 2003]), uma vez que o programador
da aplicao no precisa se preocupar com a construo de comandos na
linguagem SQL para realizar a definio e manipulao de dados [ORM 2013].
Uma soluo neste contexto o ORM Gendal (Generic Data Access Library).
Gendal um ORM para o framework. Net, que muito utilizado pela IDE Visual
Studio, ambos da Microsoft. Os principais pontos fortes do Gendal so a
simplicidade de definio de mapeamentos e de consultas complexas.

10

4.2.3. QUAIS AS FERRAMENTAS ESTO DISPONIVEIS NO MERCADO.

NHibernate Profiler (NHProf) inclui o que voc esperaria de um produto bsico.


Alm de manter estatsticas gerais, ele mostra uma lista de consultas recentes
com o SQL completo e os "back-traces" que o cdigo chama com seus "stack
traces". A interface limpa e bem referenciada, tornando mais fcil mudar de uma
anlise de consulta isolada, por exemplo, para todas as consultas utilizas em um
bloco de cdigo. A melhor vantagem para NHibernate Profiler recurso de
alertas.. Existem tambm alertas que avisam sobre problemas que podem ocorrer
no futuro como limites. Um conjunto de resultados sem limites quando uma
consulta executada e no e' explicitamente limitado o nmero de resultados
retornados usando setMaxResults () com NHibernate ou TOP ou clusulas LIMIT
no SQL. Normalmente, isso significa que a aplicao assume que uma consulta
sempre retornar apenas alguns registros. Isso funciona bem em desenvolvimento
e nos testes, mas uma bomba-relgio prestes a explodir na produo. O lado
LINQ to SQL Datacontext logging a primeira coisa que os desenvolvedores
provavelmente vo considerar quando tiver olhando problemas de LINQ para SQL.
O objeto DataConext tem uma propriedade de log que encaminha todos os SQLs
que so gerados para um TextWriter da sua escolha Apesar de livre e de graa, o
grande volume de linhas de SQL que ele gera torna questionvel o uso em
aplicaes no-triviais.LINQ to SQL Profiler (L2SProf) pela mesma empresa que
construiu NHibernate Profiler e parece trabalhar de uma forma similar. Alm de
fazer profilling em tempo real, voc pode configur-lo para gravar os arquivos de

log a ser analisado posteriormente. Como NHProf, o valor de cerca de US $ 300


dlares por usurio. Atualmente ele est em fase beta. Huagati Query Profiler
um produto comercial, que comea em US $ 50 dlares para uma verso limitada
e US $ 120/usurio para a verso completa. ADO. NET Entity Framework A
histria aqui francamente lamentvel. Primeiro de tudo, voc nem tem o log de
SQL bsico, como o que est disponvel no LINQ para SQL. Alm disso, parece
que ningum est desenvolvendo profilers para trabalhar com ele.
11
4.2.4 Quais as vantagens e desvantagens de usar uma ferramenta orm.

Voc escreve menos cdigo e programa com muito mais produtividade.


mais fcil de no projeto. importante ressaltar que dificilmente voc achar uma
soluo que substitua 100% das classes do ADO. NET, eventualmente voc ser
obrigado a fazer uma gambiarra no meio do caminho para obter determinados
resultados. No entanto, seguramente os melhores Frameworks resolvero mais de
95% das suas necessidades. Como escolher um ORM, Curva de aprendizado
Continuidade (Novos releases do projeto e periodicidade) Capacidade de
execuo de stored procedures do legado Suporte a querys dinmicas DATABIND
a. Net control Performance Facilidade de manuteno do cdigo (incluindo a a
inteligibilidade do mesmo)Normalmente, o frameworks que existem atuam como
geradores de cdigo criando classes baseadas nas suas tabelas de banco de
dados.Existem vrios frees e pagos. Os frees normalmente carecem de suporte e
documentao, os pagos conseguem suprir melhor esta deficincia por um motivo
bvio. Os melhores frees so o que possuem amplo apoio da comunidade ou tm
um grupo de desenvolvedores bastante ativos distribuindo novos releases num
curto espao de tempo. Desvantagens de ferramentas de mapeamento O / R em reas
onde so tcnicas proprietrias, ou banco de dados especfico foram altamente
otimizadas. A maioria das ferramentas de mapeamento O / R no tm bom desempenho
durante delees em massa de dados ou junta [ duvidosa - discutir ]. Os procedimentos
armazenados podem

ter

melhor

desempenho,

mas

no

so

portteis.

Alm disso, a forte dependncia de software ORM tem sido apontado como um fator
importante na produo de bases de dados mal projetados.

12

5 CONCLUSO : DESCREVA AS PRINCIPAIS REFLEXES SOBRE O


DESENVOLVIMENTO DA ATIVIDADE , CONSIDERANDO O QUE A
ATIVIDADE LHE PROPORCIONOU.

Aps as consideraes feitas sobre o mapeamento de um modelo orientado a


objetos para um modelo relacional, observamos que cada caso deve ser analisado
individualmente e com muito critrio. As regras citadas devem ser seguidas, mas
no pode ser considerado uma receita de bolo para realizar o mapeamento do
modelo orientado a objetos para o modelo relacional. este mapeamento so
definidas as tabelas (relaes), atributos (simples, compostos e multivalorados),
herana e as vrias formas de associaes (muitos para muitos, um para muitos e
um para um). O que importante ressaltar sobre os atributos que dependendo
do seu tipo, pode ser quebrado em vrias colunas (compostos) ou at mesmo em
novas tabelas (multivalorados). Dentre as caractersticas utilizadas no modelo
Orientado a Objetos podemos citar algumas tais como: Encapsulamento, Herana
e Polimorfismo. Caractersticas estas que esto sempre presentes no paradigma
de orientao a objeto.

13

6 Referncias: Relacione as fontes utilizadas em ordem alfabtica, incluindo as

referncias eletrnicas.

http://lmtelecom.blogspot.com.br/2012/04/banco-de-dados-orientados-objetos.htm

www.fatecsp.br/dti/tcc/tcc0002

http://www.devmedia.com.br/analise-dos-melhores-orm-object-relational-mappingpara plataforma-net/5548

http://www.trabalhosfeitos.com/ensaios/MapeamentoObjetoRelacional/43689862.h
tml

www.inf.furb.br

www.les.inf.puc-rio.br

www.slideshare.net

www.les.inf.puc-rio.br

14

Você também pode gostar