You are on page 1of 18

1

UNIVERSIDADE NORTE DO PARAN


Tecnlogo em Anlise e Desenvolvimento de Sistemas
GILSON ARAUJO DE SOUZA
















So Paulo
2014
2

GILSON ARAUJO DE SOUZA






Banco de Dados









So Paulo
2014
Produo textual interdisciplinar
individual, onde ser exposto o
contedo ensinado no 4 semestre.
3

SOUZA, Gilson Araujo de. Banco de Dados. 2014, XX f. Produo textual
interdisciplinar individual Tecnlogo em Anlise e Desenvolvimento de Sistemas,
Universidade Norte do Paran, So Paulo, 2014.

RESUMO
A informao um dos bens mais valiosos que uma empresa ou individuo possui e necessita de um
cuidado todo especial quanto ao armazenamento, disponibilidade e segurana. Devido a essas
necessidades foi criado os banco de dados, onde deixaram de ser meros arquivos de
armazenamento, sem uma segurana particular e at mesmo recursos de backup e preveno de
erros, e passaram para uma tecnologia prpria, robusta e complexa. Entre os vrios modelos
existentes no mercado, iremos abordar o orientado a objeto.













4

Sumrio

Introduo........................................................................................................06
Objetivo............................................................................................................07
1 Banco de Dados........................................................................................08
2 Banco de Dados Orientado a Objetos.......................................................09
2.1 Persistncia de Objetos..........................................................................10
2.2 Objetos Complexos................................................................................10
2.3 Identificador de Objetos..........................................................................11
2.4 Classes e Mtodos.................................................................................11
3 Banco de Dados Relacional e Banco de Dados Orientado a Objetos.......12
4 Desenvolver OO com Banco de Dados Relacional...................................13
5 ORM (Object Relational Mapper Mapeamento Objeto Relacional)........14
6 Vantagens e Desvantagens ORM.............................................................16
Concluso........................................................................................................17
Referncias......................................................................................................18





5

Lista de Siglas
SGBD - Sistema Gerenciador de Banco de Dados
ODBMS - Operational Database Management Systems (Sistema de Gerenciamento
de Banco de Dados Operacionais)
POO - Programa Orientada a Objeto
OO - Orientao a Objetos
BDOO - Banco de Dados Orientado a Objeto
BDR - Banco de Dados Relacional
ORM (Object-relational mapping - Mapeamento objeto-relacional)
SQL - Structured Query Language (Linguagem estruturada de banco de dados)













6

Introduo
At meados dos anos 60, os dados eram mantidos aleatoriamente em arquivos,
geralmente como partes integrantes da aplicao. A partir dessa poca, surgiram os
primeiros Sistemas Gerenciadores de Bancos de Dados (SGBDs) comerciais,
provendo armazenamento dos dados de forma independente da aplicao, contudo,
sem mecanismos de acesso eficientes.
A partir dos anos 80 as aplicaes computacionais evoluram, juntamente com o
poder de processamento das mquinas, surgindo a necessidade de tratar dados
mais complexos, no convencionais. Devido a esse aumento na complexidade dos
dados, surgiu a necessidade de formas mais adequadas de representao e
armazenamento, como as bases de dados orientadas a objetos.
Durante a dcada de 80, como resultado das inovaes de hardware, emergiram
novas aplicaes com utilizao intensiva de dados. Para essas aplicaes, os
modelos de dados tradicionais, baseados no modelo relacional, no eram
adequados. Alguns exemplos de aplicaes desse tipo incluem sistemas de design e
produo, como CAD (Computer-Aided Design) e CAM (Computer-Aided
Manufacturing).
Existe um grande interesse relativo s tecnologias orientadas a objetos na
comunidade de desenvolvimento de software, sobretudo no tocante facilidade de
alterao de implementao de acordo com mudanas solicitadas nos requisitos. A
capacidade que esse paradigma possui de representar dados complexos uniu-se
tecnologia de banco de dados, gerando os Bancos de Dados Orientados a Objeto
(BDOO), que suportam modelagem e criao de dados como objetos (ODBMS,
2006).











Objetivo

O objetivo prover uma viso geral sobre sistema de BDOO, uma tecnologia no
to nova, contudo considerada ainda pouco explorada. Sero apresentados os
conceitos das tecnologias de Banco de Dados e suas respectivas evolues
seguidas pelos conceitos de Orientao a Objetos. Diante disso estabelece-se uma
base para o desenvolvimento da tecnologia de Bancos de Dados Orientados a
Objetos.





















!

1. Banco de Dados
O propsito dos sistemas de banco de dados o gerenciamento de grandes corpos
de informao. Os primeiros bancos de dados desenvolveram-se a partir do sistema
de gerenciamento de arquivos. Esses sistemas evoluram primeiro em bancos de
dados hierrquicos e de rede, depois em bancos de dados relacionais.
Inicialmente os primeiros bancos de dados originaram-se a partir dos sistemas de
gerenciamentos de arquivos. Com isso foi possvel separar pela primeira vez a
aplicao dos dados. Acompanhado dos novos bancos de dados, vieram s
modelagens de dados que no atual momento se tornaram muito eficiente para o
desenvolvimento de aplicaes, cujas estruturas se apresentavam de forma
uniforme e simplificada e tambm eram sempre orientadas ao registro. Estes
modelos ficaram conhecidos como modelo hierrquico e modelo de rede. Ambos os
modelos no possuam forte fundamentos tericos e tambm no suportavam
noes de independncia de dados fsicos e lgicos.
Os bancos de dados relacionais surgiram logo em sequncia aos modelos
mencionados acima. Este modelo trouxe muitas vantagens em relao aos modelos
hierrquicos e de rede. O formato relacional tabelado simples e fcil de entender.
A lgebra relacional oferece fundamentos matemticos capazes de suportar
metodologias de anlises de dados e a possibilidade de agrupar dados
dinamicamente em tabelas virtuais em tempo de execuo, possibilitando aos
bancos de dados relacionais, o desenvolvimento de aplicaes com um nvel mais
elevado de independncia dos dados do que seus predecessores. Diante disso o
modelo relacional caiu nas graas dos desenvolvedores e ainda hoje serve como
base para inmeros SGBD.
O avano computacional em diversas reas, a difuso das redes e de novas
tecnologias, evidenciou novas necessidades que os bancos de dados relacionais se
mostraram inadequados. Dentre os novos usos da capacidade computacional,
podemos destacar o CAD/CAM (projeto/manufatura auxiliado por computador), o
CASE (desenvolvimento de sistemas de computao auxiliado por computador), o
"

GIS (sistemas de informao geogrfica) e etc.. Todas essas aplicaes manipulam
dados com uma estrutura extremamente complexa.
Na dcada de 80, visando aumentar a produtividade do desenvolvimento, facilitar a
reutilizao e manuteno da analise, requisitos, projetos e especificaes, a POO
se tornou muito popular entre a comunidade de desenvolvimento, sendo
considerada por alguns como uma revoluo na forma de se fazer sistemas.
Visando acompanhar a tendncia da poca e tambm possibilitar resolver as
limitaes que os bancos de dados relacionais possuam, foi proposto um novo
sistema de banco de dados, o banco de dados orientados a objetos (BDOO).
2. Banco de Dados Orientado a Objeto
Um BDOO basicamente um sistema em que a unidade de armazenamento o
objeto, com o mesmo conceito das linguagens de POO. A diferencia fundamental
est no fato que em BDOO, os dados no deixam de existir aps o encerramento do
programa, ou seja, os objetos continuam a existir mesmo se o SGBD venha a ser
encerrado. Com isso os dados, isto , os valores dos atributos que fazem referncia
a seus respectivos objetos no deixam de existir. Este conceito conhecido como
persistncia. Outra caracterstica essencial dos BDOO que eles oferecem suporte
a verses, ou seja, os objetos podem ser vistos de todas ou varias verses.
Em BDOO, os objetos so tratados em um nvel lgico e tambm possuem
caractersticas que no so encontradas na POO, por exemplo, a persistncia de
objetos. Desta forma conceitos como classes e herana sofrem adaptaes a fim
de possibilitar a aplicao em BDOO. Os conceitos de OO bsicos e necessrios
para a estrutura de um BDOO so:
1. Persistncia de objetos
2. Objetos complexos
3. Presena de identificadores de objetos
4. Mecanismos de herana e mtodos
1#

2.1. Persistncia de Objetos
Sem duvida nenhuma, a persistncia de objetos uma caracterstica primordial para
os BDOO, pois alm de ser uma caracterstica que possibilita diferenciar BDOO das
linguagens de POO, ela tambm fundamental para os BDOO.
Persistncia de objetos consiste em no deixar com que objetos deixem de existir,
diferente de um programa OO que ao finalizar a execuo, todos os objetos
instanciados deixam de existir. Com isso os valores dos atributos do objeto tambm
desaparecem. Se isso fosse aplicado aos BDOO, o resultado seria uma catstrofe,
pois os dados que sero inseridos em um BDOO na forma de atributos de objetos
devem existir mesmo aps o encerramento do programa de gerenciamento, tendo
seu estado armazenado em um meio fsico persistente, a menos claro que os
atributos sofram algum tipo de alterao ou excluso, sendo estas solicitadas pelo
usurio.
Para que os BDOO possam funcionar, preciso aplicar a persistncia de objetos em
sua estrutura, a fim de que os dados no desapaream.
Existem diversas maneira de torna o objeto persistente e todas elas variam
conforme o sistema utilizado. Dentre essas formas podem-se considerar as
seguintes:
Por tipo de classe onde os objetos pertencentes s classes assim declaradas
sero persistentes.
Por chamada explcita onde o objeto pode se tornar persistente aps a sua
criao atravs de comandos reservados.
Por referncia onde objetos referenciados por objetos persistentes (objetos
razes) tambm se tornam persistentes.
2.2. Objetos Complexos
O modelo de OO suporta a representao das abstraes e comportamento dos
objetos. Com isso os BDOO incorporam as caractersticas dos objetos da linguagem
11

de POO integrada com noes de estrutura de dados e de comportamento. O
conjunto de atributos descreve o estado interno dos objetos. Cada ocorrncia do
objeto no banco de dado denominada de instancia do objeto. A estrutura de
objetos em banco de dados muito similar ao conceito de entidades, quando
aplicado ao MER.
Para uma representao direta de objetos complexos, dos quais nos modelos
relacionais no possuem representao, proposta a utilizao do modelo de dados
das linguagens orientadas a objetos a primeira forma normal no respeitada nos
BDOO, pois podemos representar em um objeto valores no atmicos, como
conjuntos, listas, vetores etc.
Assim como nas linguagens orientadas a objetos, a representao se torna
extremamente fcil devido a esse fato (no normalizado).
2.3. Identificador de Objetos
Nos BDOO, os identificadores de objetos (OID) tm uma identidade muito mais forte
que na linguagem de POO, pois nos BDOO, os objetos tm a necessidade de
continuarem a existir mesmo aps a execuo do programa. Isto ocorre devido ao
fato que os objetos podem voltar a serem usados futuramente.
O OID deve ser nico e imutvel durante toda a existncia dos objetos e tambm
deve ser valido para todo o banco de dados uma vez que ajudam na recuperao do
objeto e so utilizados para estabelecer relacionamentos entre os objetos.
2.4. Classes e Mtodos
Todo o conceito e caracterstica de classe e herana da OO devem estar presentes
em BDOO. Diante disso outra importante capacidade em BDOO o gerenciamento
do conceito de herana dentro de uma hierarquia de classes armazenveis. Da
mesma forma que em linguagem de POO, os BDOO podem criar novas classes em
funo de classes j existentes.
12

Uma hierarquia de classes oferece muito mais flexibilidade para efetuar alteraes
na estrutura de um BDOO (incluindo novos atributos ou mtodos nos objetos) bem
como possibilita a evoluo do esquema de banco de dados atravs da adio de
classes novatas na hierarquia.
As classes do sistema so um exemplo tpico da caracterstica de herana dentro
de um SGBDOO. Isto porque a maioria dos SGBDOO possuem uma coleo de
classes e objetos dentro de sua estrutura. Essa coleo esta estruturada de forma
hierrquica. Caso necessrio, uma determinada aplicao pode herdar atributos e
mtodos dessas classes de sistema a fim de implementar suas prprias classes. Em
ressumo essas classes do sistema de SGBDOO possuem mtodos que tm como
propsito o armazenamento, manipulao, controle de concorrncia entre outras
funes.
O conceito de encapsulamento para BDOO continua sendo o mesmo, porm,
quando se faz uma consulta ao banco de dados, no possvel prever todas as
consultas e atualizaes que o usurio possa desejar. Assim, no se pode agregar
todos os mtodos nas classes de antemo.
Sendo assim pode-se considerar que o encapsulamento no adequado aos BDOO
em algumas situaes, entretanto o encapsulamento uma das caractersticas
fundamentais para POO e descartar o seu uso em BDOO pode descaracterizar
parcialmente o conceito de OO.
3. Banco de Dados Relacional e Banco de Dados Orientado a Objetos
BDR e BDOO 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
13

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 acima. Este modelo apresenta maior flexibilidade na
manipulao de seu contedo e por meio de identificadores de objetos manipula os
dados de forma consistente.
As bases de dados tradicionais so bastante eficientes para tarefas ligadas ao
processamento de dados. A gerao de folhas de pagamento e o gerenciamento de
contas correntes, por exemplo. Esse tipo de aplicao trabalha basicamente com
tipos de dados simples: numricos, texto e datas. Alm disso, essas aplicaes
possuem itens de dados que podem ser representados como registros
razoavelmente pequenos e campos atmicos.
Apesar do conceito de BDOO ser bastante distinto do modelo relacional, o mesmo
resulta da integrao entre a OO e a tecnologia de banco de dados tradicionais.
Enquanto na programao OO, os objetos existem apenas enquanto o programa
que os criou est em execuo, os BDOO podem criar objetos que sejam
persistentes e compartilhados entre diferentes aplicativos.
4. Desenvolver OO com Banco de Dados Relacional
Mapeamento Objeto Relacional persistir de maneira automtica e transparente os
objetos de um aplicativo para tabelas em um banco de dados relacional, ou seja,
transforma dados de uma representao para a outra.
No desenvolvimento de um sistema, muitas vezes o programador dedica boa parte
do tempo de desenvolvimento construindo comandos de instrues SQL para
realizar a persistncia dos dados no banco de dados relacional. Conforme a Figura
1, o aplicativo precisar de uma camada de mapeamento objeto relacional, que ir
traduzir as estruturas e operaes do sistema orientado a objetos para o banco de
dados relacional.
14

O mapeamento objeto relacional faz a persistncia automtica de dados de uma
representao para outra. Persistncia se trata do armazenamento de dados que
esto em meio voltil, como a memria RAM, para dispositivos de memria
secundria, o disco rgido, por exemplo. Consiste em manter em meio fsico
recupervel, como banco de dados, arquivo etc. Quando se fala de persistncia em
linguagem de POO, normalmente a preocupao de como armazenar dados em
um banco de dados relacional.

Figura 1
5. ORM (Object Relational Mapper Mapeamento Objeto Relacional)
Visando aproveitar ao mximo o conceito de OO, o Mapeamento Objeto-Relacional
(ORM) consiste em um framework que tem por objetivo suprir as disparidades entre
o paradigma OO e o modelo entidade-relacional, criando uma ponte (mapeamento)
entre o modelo relacional e o modelo OO. Ou seja, ao trabalhar com essa
abordagem, possvel a construo de sistemas utilizando o paradigma OO, cujo os
objetos so persistidos em um banco de dados relacional.
15

Um ORM possui diversos mtodos bsicos que iro realizar a interao entre a
aplicao e o banco de dados, se responsabilizando por algumas tarefas bsicas,
como o CRUD (Create, Read, Update e Delete), por exemplo. Alm disso, o ORM ir
gerenciar os detalhes de mapeamento de um conjunto de objetos para um banco de
dados.
O ORM reduz ao mnimo a necessidade de escrever cdigos de conexo e queries
SQL. Dessa forma, possvel obter uma reduo significativa nos cdigos da
aplicao, gerando um cdigo mais elegante e consequentemente ampliando a
facilidade de posteriores manutenes na aplicao.
importante deixar claro que a utilizao de um framework ORM no substitui
totalmente a necessidade da utilizao de SQL na sua aplicao. Embora o ORM
satisfaa a maior parte das necessidades de interao com o banco de dados, em
alguns casos, haver a necessidade, por exemplo, de consultas mais customizadas,
que tero que ser realizadas por meio de SQL.
Hoje no mercado h vrias ferramentas ORM disponveis, segue uma lista de
algumas ferramentas mais utilizadas no mercado:
NHibernate
LonqConnect
LLBLGEN
SubSonic
Persistor
Hibernate
Linq To SQL
Entity Framework
Gentle
16

6. Vantagens e Desvantagens ORM
Os SGBDs relacionais possuem uma caracterstica muito importante: so
extremamente confiveis e mais eficientes, se comparados maioria dos SGBDOO
disponveis no mercado. Alm disso, o modelo de dados relacional foi criado para
permitir a representao de uma grande variedade de problemas usando um
pequeno conjunto de conceitos simples. Atravs da linguagem de consulta SQL
possvel fazer a busca e recuperao dos dados necessrios de forma bastante
eficiente. Dentre as vantagens do modelo relacional, talvez a mais importante esteja
relacionada com a persistncia dos dados. As regras e rotinas para tratamento da
persistncia dos dados podem ser criadas no prprio banco de dados relacional.
Uma das grandes desvantagens do modelo relacional pode ser observada no
momento da realizao da anlise de um sistema a ser implementado: a grande
dificuldade em abstrair a realidade, ou seja, traduzir para um modelo de tabelas,
com suas relaes entre si, suas chaves primrias e estrangeiras, um problema do
mundo real.









1

Concluso
Persistncia dos dados sempre ser o maior foco da maioria dos projetos de
aplicativos, pois o maior interesse do usurio manter os dados salvos, de fcil
acesso, tanto na agilidade quanto na disponibilidade.
Os bancos de dados evoluram nos ltimos anos, hoje um SGBD oferece muitos
recursos que facilita a organizao e a disponibilizao da informao, uma vez que
a disponibilizao necessita de uma poltica rgida, pois nem todos os usurios
podem acessar qualquer tipo de dado.
O banco de dados relacional sem dvida, ainda apresenta o melhor desempenho,
melhor disponibilidade, maior facilidade na configurao da segurana dos dados,
alm de outras caractersticas que esto a seu favor, ainda conta com um grande
nmero de usurios. Apesar do crescimento da POO, os BDOO no conseguiram
apresentar caractersticas melhores ou pelo menos semelhante ao modelo
relacional, por isso o seu uso um pouco tmido na indstria.
Apesar do modelo relacional possuir todas essas caractersticas, a comunidade de
desenvolvedores da OO ainda sonham em facilitar o seu trabalho, jogando a maioria
das funes SQL para um framework ORM. Esses frameworks trazem bastante
benefcios para o desenvolvedor, porm eles precisam ser utilizados com cuidado
pois, em um caso de consulta, eles trazem todos os dados da tabela consultada
para a aplicao, ficando assim ao cargo do desenvolvedor filtrar os dados que
sero exibidos para o usurio em linha de programao. Esse processo faz com que
a aplicao se torne um pouco mais lenta, por isso cabe um estudo por parte dos
analistas e programadores antes de fazer uso do framework.




1!

Biografia
Nassu, Euginio A. - Banco de dados orientados a objetos / Eugnio A.Nassu, Valdemar W.
Setzer So Paulo: Blucher, 1999.
Korth, Henry F. Sistemas de bancos de dados / Henry F. Korth,Abrahem Silberschatz;
traduo Mauricio Heihachiro Galvan Abe: reviso tcnica
Slvio Carmo Palmieri, - 2 Ed. So Paulo: MAKRON Books, 1993.
http://conged.deinfo.uepg.br/artigos.htm
http://pt.wikipedia.org
http://www.devmedia.com.br/