Você está na página 1de 15

SISTEMA DE ENSINO PRESENCIAL CONECTADO

TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE SISTEMAS


FABRCIO DOS REIS SOUZA

ATIVIDADE INTERDISCIPLINAR INDIVIDUAL

Juazeiro
2013

FABRCIO DOS REIS SOUZA

ATIVIDADE INTERDISCIPLINAR INDIVIDUAL

Trabalho de Fabrcio dos Reis Souza apresentado


Universidade Norte do Paran - UNOPAR, como
requisito parcial para a obteno de mdia bimestral nas
disciplinas de Modelagem Orientada a Objetos, Redes
de Computadores, Desenvolvimento Orientado a
Objetos.
Orientadores: Prof. Marcio Roberto Chiaveli.
Prof. Paulo Kiyoshi Nishitani.
Prof. Polyanna P. Gomes Fabris.

Juazeiro
2013

SUMRIO
INTRODUO..............................................................................................................3
OBJETIVO.....................................................................................................................4
DESENVOLVIMENTO...................................................................................................5
CONCLUSO..............................................................................................................13
REFERNCIAS...........................................................................................................14

INTRODUO
O banco de dados importante para que todas as informaes
fiquem armazenadas, simplificando a sua gravao e tornando os dados mais fceis
de serem manipulados. Os Bancos de Dados, alm de manterem todo o volume de
dados organizado, tambm executam tarefas e comandos que podem ser
previamente programadas por uma pessoa um DBA (Data Base Administrator) que
define os servios a serem realizados pelo sistema baseado nas rotinas de sua
empresa. Os bancos de dados orientados a objeto iniciaram-se primeiramente em
projetos de pesquisa nas universidades e centros de pesquisa. Em meados dos
anos 80, eles comearam a se tornar produtos comercialmente viveis, j o modelo
relacional foi o primeiro modelo de banco de dados formal. Somente depois seus
antecessores, os bancos de dados hierrquicos e em rede, passaram a ser tambm
descritos em linguagem formal. Ou seja, a finalidade do modelo Relacional
proporcionar um modelo matemtico para a estruturao de um banco de dados que
seja formalmente descrito.

OBJETIVO
Compreender como funciona e qual a diferena entre banco de
dados orientado a objetos e banco de dados relacional e entender o que so ORMs
e suas principais ferramentas.

DESENVOLVIMENTO
2.1 BANCO DE DADOS ORIENTADO A OBJETOS.
Um banco de dados orientado a objetos um banco de dados
em que cada informao armazenada na forma de objetos, ou seja, utiliza a
Estrutura de dados denominada Orientao a objetos, a qual permeia as linguagens
mais modernas. O gerenciador do banco de dados para um orientado a objeto
referenciado por vrios como ODBMS ou OODBMS.
Existem dois fatores principais que levam a adoo da
tecnologia de banco de dados orientados a objetos. A primeira, que em um banco
de dados relacional se torna difcil de manipular com dados complexos (esta
dificuldade se d pois o modelo relacional se baseia menos no senso comum
relativo ao modelo de dados necessrio ao projeto e mais nas contingncias prticas
do armazenamento eletrnico). Segundo, os dados so geralmente manipulados
pela aplicao escrita usando linguagens de programao orientada a objetos, como
C++, C#, Java, Python ou Delphi (Object Pascal), e o cdigo precisa ser traduzido
entre a representao do dado e as tuplas da tabela relacional, o que alm de ser
uma operao tediosa de ser escrita, consome tempo. Esta perda entre os modelos
usados para representar a informao na aplicao e no banco de dados tambm
chamada de perda por resistnciaAtomicidade
A propriedade de atomicidade garante que as transaes sejam
atmicas (indivisveis). A transao ser executada totalmente ou no ser
executada.

2.1.1 Aplicao e Mecanismo de Funcionamento


Num banco de dados orientado a objetos puro, os dados so
armazenados como objetos onde s podem ser manipulados pelos mtodos
definidos pela classe de que estes objetos pertencem. Os objetos so organizados
numa hierarquia de tipos e subtipos que recebem as caractersticas de seus
supertipos. Os objetos podem conter referncias para outros objetos, e as
aplicaes podem consequentemente acessar os dados requeridos usando um
estilo de navegao de programao.
A maioria dos banco de dados tambm oferecem algum tipo de
linguagem de consulta, permitindo que os objetos sejam localizados por uma
programao declarativa mais prxima. Isto , na rea das linguagens de consulta
orientada a objetos. A integrao da consulta com a interface de navegao faz a
grande diferena entre os produtos que so encontrados. Uma tentativa de
padronizao foi feita pela ODMG (Object Data Management Group) com a OQL
(Object Query Language).
O acesso aos dados pode ser rpido porque as junes geralmente
no so necessrias (como numa implementao tabular de uma base de dados
relacional), isto , porque um objeto pode ser obtido diretamente sem busca,
seguindo os ponteiros.
Outra rea de variao entre os produtos o modo que este schema
do banco de dados definido. Uma caracterstica geral, entretanto, que a
linguagem de programao e o schema do banco de dados usam o mesmo modo de
definio de tipos.
Aplicaes multimdia so facilitadas porque os mtodos de classe
associados com os dados so responsveis pela correta reproduo.
Muitos bancos de dados orientados a objetos oferecem suporte a
verses. Um objeto pode ser visto de todas as vrias verses. Ainda, verses de
objetos podem ser tratadas como objetos na verso correta. Alguns bancos de
dados orientados a objetos ainda provem um suporte sistemtico a triggers e
constraints que so as bases dos bancos ativos.

2.1.2 Diferena entre BDOO e BDR


O objetivo dos BDOO o encapsulamento, sendo assim os dados so
associados a uma classe especfica que usa mtodos peculiares. Com esse
funcionamento os dados s podem ser utilizados pelos mtodos dessa classe, e
essa classe pode ser utilizada por diferentes aplicaes. Esta perda entre os
modelos usados para representar a informao na aplicao e no banco de dados
tambm chamada de perda por resistncia. Os Bancos de Dados Relacionais tem
por objetivo a independncia dos dados, pois so separados do processamento e
normalizados, dessa forma os dados podem ser utilizados por diversas aplicaes
mesmo no previstas no projeto. Os BDR armazenam apenas dados, enquanto os
BDOO armazenam estruturas com dados e mtodos sendo assim, no relacional o
usurio v os dados como tabelas, j nos BDOO as estruturas podem ser
complexas, porm elas no so visveis ao usurio em funo do encapsulamento.
A redundncia de dados no modelo relacional tratada por meio da normalizao,
por sua vez o modelo BDOO devido ao encapsulamento e a herana fornecem
dados no redundantes. Os BDR foram desenvolvidos para prover acesso facilitado
aos dados, possibilitando que os usurios utilizassem uma grande variedade de
abordagens no tratamento das informaes, pois enquanto em um banco de dados
hierrquico os usurios precisam definir as questes de negcios de maneira
especfica, iniciando pela raiz do mesmo nos BDR os usurios podem fazer
perguntas relacionadas aos negcios atravs de vrios pontos.
2.2 ORM

(OBJECT

RELATIONAL

MAPPER)

MAPEAMENTO

OBJETO

RELACIONAL
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.
2.3 COMO DESENVOLVER UTILIZANDO O MODELO ORIENTADO A OBJETOS
COM UM BANCO DE DADOS RELACIONAL
Os bancos de dados OO evoluram muito nos ltimos cinco anos, e
atingiram maturidade e performance surpreendentes. As novas estratgias de
armazenamento e recuperao permitem que esses bancos consigam um tempo de
resposta geralmente melhor do que as subsequentes chamadas a um banco
relacional, necessrias para desmontar e remontar objetos. Vrios fabricantes
oferecem produtos que suportam diretamente encapsulamento, herana e
polimorfismo caractersticas fundamentais dos objetos. Cach, da InterSystems,
um representante dessa categoria.
Embora seja mais fcil desenvolver suas aplicaes orientadas a
objeto utilizando os recursos de um banco de dados OO, muitas vezes temos que
fazer integrao com uma base relacional que no pode ser modificada. O modelo
relacional foi amplamente empregado nos ltimos quinze anos, e no podemos
simplesmente descartar todas as aplicaes j construdas. Esses sistemas devem
coexistir pacificamente com as novas aplicaes OO. Nesse ponto destacam-se os
bancos de dados ps-relacionais. Oferecendo um suporte aos dois modelos, objeto
e relacional, esses produtos permitem que todo o investimento nas antigas
aplicaes seja preservado, enquanto as novas aplicaes so construdas
utilizando a tecnologia de objetos. A ideia evoluo, e no revoluo.
O Cach um banco de dados ps-relacional que possui uma
arquitetura unificada de dados. Objetos e tabelas so descritos por um meta-modelo,
e o prprio banco de dados se encarrega de fazer o mapeamento em ambas as
direes. Ao criarmos uma classe, o banco cria as tabelas correspondentes; quando
alteramos uma tabela, a definio da classe automaticamente atualizada. O

acesso aos objetos e tabelas independente, diferentemente do que ocorre quando


um banco relacional oferece uma viso de objetos, empilhando camadas de
mapeamento. Alm disso, sua estrutura de armazenamento multidimensional
permite a manipulao de colees e objetos atravs de um nico acesso.
Quando uma query SQL executada pela primeira vez, ela
analisada e otimizada (como em outros bancos de dados). Entretanto, o Cach gera
uma stored procedure que mantida em cache, e reutilizada para todas as
chamadas subsequentes.
O Cach suporta desenvolvimento em Java, Enterprise JavaBeans,
C++, Cach ObjectScript, Corba e ActiveX. Possui mecanismos para gerao e
armazenamento de documentos XML. Suporta conexes JDBC e ODBC.

2.3.1 Ferramentas ORM disponveis no mercado


Foi criada uma lista onde as ferramentas foram classificadas em
Inativos, Free e Pagos. Os Inativos so o que no obtiveram releases lanados nos
ltimos anos e tiveram seu desenvolvimento paralisado, provavelmente.
Produtos Inativos
DotNorm
Eldorado.NET
JC Persistent Framework
ObjectBroker
OPF.Net (Object Persistent Framework)
ORM.NET

10

Sisyphus Persistence Framework


iBATIS.NET
NEO
Produtos Free
Gentle.NET
MyGeneration
Subsonic
NHibernate
DataTier Generator
CODUS
ObjectMapper
Produtos Pagos
LLBLGen Pro
DataObjects.NET
NDO.NET
DEV Force

11

2.4 VANTAGENS E DESVANTAGENS DA ORM


Vantagem na utilizao do Mapeamento Objeto Relacional

Escrever menos cdigo e programar com muito mais produtividade.

O cdigo fica mais elegante.

mais fcil de dar manuteno no projeto.

Melhora a padronizao da sua aplicao.

Desvantagem na utilizao do Mapeamento Objeto Relacional


De acordo com Marcio Aguiar Ribeiro as desvantagens do ORM so as seguintes,
divididas em Tabela por Hierarquia, Tabela por Classe Concreta e Tabela por
Classe:
Desvantagens na ORM em Tabela por Hierarquia:

A modificao de uma classe pode afetar outras classes na hierarquia

Desperdcio de espao

Pode gerar tabelas muito grandes

Atributos no podem ter restries do tipo not-null.

Desvantagens na ORM em Tabela por Classe Concreta:

Modificao de uma classe acarreta na modificao de sua tabela e todas as


classes filhas

12

Dificuldade de manter diversos papis para um nico objeto

Dificuldade de modificar um papel de um objeto

Desvantagens na ORM em Tabela por Classe:

Muitas tabelas

Potencialmente lento

13

CONCLUSO
Neste trabalho foi identificado que a orientao a objetos a
tendncia, porm deve-se levar em considerao o fato deste apresentar baixo
desempenho, assim como as primeiras linguagens de programao que tudo era um
objeto, os BDOOs sofrem com o desempenho. Quando s existia o BDR, surgiu
necessidade de armazenar dados complexos, uma tima soluo foi o BDOO,
entretanto, por seu desempenho pouco satisfatrio ainda no muito utilizado.
Apesar de toda a variedade de ferramentas disponveis no mercado, a utilizao da
tecnologia de bancos de dados orientados a objeto permanece bastante pequena,
quando comparada ao modelo relacional, o Modelo de Banco de Dados Relacional
prevalece em relao aos outros modelos por que, alm de ser o nico modelo que
foi extensamente tratado de forma terica, os modelos pr-existentes foram fruto de
implementaes. Enquanto os modelos subsequentes, como o modelo orientado a
objetos, no apresentavam um campo to rico para novas teorias, mas apresentam
grandes desafios para a implementao eficiente das operaes necessrias. Ou
seja, o Banco de Dados Relacional foi desenvolvido para prover acesso facilitado
aos dados, possibilitando que os usurios utilizassem uma grande variedade de
abordagens no tratamento das informaes.

14

REFERNCIAS
OKANO, Marcelo. Anlise dos melhores ORM (Object-Relational Mapping) para
plataforma. NET. DevMeda, [S.l.]. Disponvel em: Acesso em: 11 out. 2013.
Site Wikipdia Banco de Dados Orientado a Objetos Disponvel em:
http://pt.wikipedia.org/wiki/Banco_de_dados_orientado_a_objetos> acessado em 11
Out. 2013.
Site Linha de Cdigo Uma Nova Era na Tecnologia dos Bancos de Dados Disponvel
em:
http://www.linhadecodigo.com.br/artigo/68/uma-nova-era-na-tecnologia-dos-bancosde-dados.aspx#ixzz2hTAE78eo> acessado em 11 Out. 2013.