Escolar Documentos
Profissional Documentos
Cultura Documentos
PORTIFOLIO Recupera Banco de Da
PORTIFOLIO Recupera Banco de Da
PORTIFOLIO INDIVIDUAL
Ibaiti
2015
PORTIFOLIO INDIVIDUAL
Trabalho
apresentado
a
UNOPAR
Universidade norte do Paran, como requisito
parcial para obteno do Titulo de Tecnologia
em Anlises e Desenvolvimento de Sistemas.
Ibaiti
2015
Sumrio
2 INTRODUO..............................................................................................................4
3. OBJETIVO....................................................................................................................5
4. DESENVOLVIMENTO................................................................................................6
4.1 Pesquisa sobre Banco de Dados Orientados Objetos Seo Primria...............6
4.2.1. COMO DESENVOLVER UTILIZANDO O MODELO ORIENTADO A
OBJETOS COM UM BANCO DE DADOS RELACIONAL....................................20
4.2.2. O QUE ORM E PARA QUE UTILIZADO................................................20
4.2.3. QUAIS FERRAMENTAS ESTO DISPONVEIS HOJE NO MERCADO...21
5. CONCLUSO.............................................................................................................23
6. REFERNCIAS BIBLIOGRFICAS........................................................................24
2 INTRODUO
No contexto abaixo Abordaremos os seguintes assuntos banco de dados orientado a
objeto onde falaremos sobre as suas aplicaes e seu mecanismo de funcionamento e
buscando saber as diferena entre banco de dados orientado a objeto e banco de dados
relacional tambm abordaremos ORM (object relational mapper)- mapeamento objeto
relacional e como desenvolver utilizando o modelo orientado a objeto com banco de
dados relacional e, para que utilizado o ORM nos preocupando como saber quais sos
as vantagens e desvantagens de se usar uma ferramenta ORM e as ferramentas
disponvel no mercado.
3. OBJETIVO
Tenho como objetivo me especializar de maneira que venho a conseguir suprir o
mercado com minha especializao oferecendo uma melhor maneira para desenvolver
software de boa qualidade. Visando atender o mercado de software e possibilitando
melhor desempenho e automao nas empresas onde o projeto for desenvolvido.
4. DESENVOLVIMENTO
4.1 Pesquisa sobre Banco de Dados Orientados Objetos Seo
Primria
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 bancos 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 responsvel 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
provm um suporte sistemtico a triggers e constraints que so as bases dos bancos
ativos.
Vantagens e Desvantagens
Benchmarks entre ODBMSs e relacionais DBMSs tem mostrado que ODBMS podem
ser claramente superiores para certos tipos de tarefas. A principal razo para isto que
vrias operaes so feitas utilizando interfaces navegacionais ao invs das relacionais,
e o acesso navegacional geralmente implementado de forma muito eficiente por
ponteiros.
Crticos das tecnologias baseadas em Bancos de Dados Navegacionais, como os
ODBMS, sugerem que as tcnicas baseadas em ponteiros so otimizadas para rotas de
pesquisa ou pontos de vista muito especficos. Entretanto, para o propsito de consultas
gerais a mesma informao, tcnicas baseadas em ponteiros tendero a ser mais lentas e
mais difceis de formular do que as relacionais. Desta maneira, a abordagem
navegacional parece simplificar para usos dos especficos conhecidos s custas do uso
geral, ignorando usos futuros.
Outra coisa que trabalha contra os ODBMS parece ser a perda da interoperabilidade
com um grande nmero de ferramentas/caractersticas que so tidas como certas no
mundo SQL, incluindo a indstria de padres de conectividade, ferramentas de
relatrio, ferramentas de OLAP e backup, e padres de recuperao. Adicionalmente,
banco de dados orientado a objetos perdem o fundamento formal matemtico, ao
contrrio do modelo relacional, e isto s vezes conduz a fraqueza na sustentao da
consulta. Entretanto esta objeo descartada pelo fato que alguns ODBMSs suportam
totalmente o SQL em adio ao acesso navegacional (Objectivity/SQL++). Mas, o uso
eficaz pode requerer acordos para manter ambos os paradigmas sincronizados.
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 o objeto 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.
Orientao a Objetos
A orientao a objetos fornece recursos como encapsulamento, herana,
polimorfismo e sobrecarga que sero rapidamente explicados.
Segundo Elmasri e Navathe, o conceito deencapsulamento uma das principais
caractersticas das linguagens e dos sistemas OO. Ele est relacionado tambm com os
conceitos de tipos abstratos de dados e ocultar a informao nas linguagens de
programao. Encapsular dados significa que as variveis sero acessadas por mtodos
definidos em sua estrutura. Uma vantagem poder ocultar a complexidade na
manipulao do objeto por meio das operaes disponibilizadas de tal forma que
aumenta a segurana e produtividade.
Herana o mecanismo pelo qual a linguagem de programao orientada a objetos
(LPOO) fornece a possibilidade do reaproveitamento de cdigo. possvel uma classe
herdar os mtodos e atributos de outra classe chamada superclasse ou classe me e
assim estender a classe me.
O polimorfismo a capacidade que um objeto tem de ora se comportar de uma maneira,
ora de outra. Considere as classes as classes Pessoa, Funcionrio e Aluno.
Com uma varivel do tipo Pessoa, possvel utiliz-la para representar um objeto do
tipo Pessoa, mas tambm objetos do tipo Funcionrio e Aluno.
O polimorfismo d a possibilidade da sobrecarga de operadores, no qual subclasses
podem modificar a implementao de um mtodo definido na superclasse.
Considerando o exemplo anterior e que cada classe tenha um mtodo chamado
Remover, para remover uma pessoa basta apenas excluir o seu registro, j para um
aluno preciso verificar se o mesmo no possui nenhuma pendncia na organizao,
excluir o aluno das disciplinas que est matriculado e por fim alterar o seu estado. J
para um funcionrio preciso remover o acesso s informaes da instituio, calcular e
pagar a indenizao caso se aplique e alterar o estado do funcionrio.
Percebe-se que cada classe tem a sua prpria implementao, apesar de
compartilharem o mesmo nome do mtodo.
Padro ODMG O sucesso dos sistemas de banco de dados relacionais no resulta
apenas de um nvel mais alto de independncia de dados e um modelo de dados mais
simples do que os sistemas anteriores. Seu sucesso se deve tambm padronizao que
sofreram. A aceitao do padro SQL permite o alto grau de portabilidade e
interoperabilidade... Portabilidade a capacidade de executar um programa de aplicao
particular em diferentes sistemas com modificaes mnimas no programa. (Vieira,
2001) Interoperabilidade se refere habilidade de uma aplicao acessar mltiplos
SGDBs distintos. O padro ODGM (Object Database Management Group) se baseia
em:
Modelo de Objetos;
Linguagem de Definio de Objetos (ODL);
Linguagem de Consulta a Objetos (OQL);
Acoplamento (binding);
Elmasri e Navathe, 2005, dizem que o modelo de objetos fornece os tipos de
dados, os construtores de tipos e outros conceitos que podem ser utilizados na ODL
para especificar esquemas de BDs. O modelo define objetos e literais no qual os
objetos possuem um OID e um estado, ou valor atual, j as literais possuem apenas
um valor sendo basicamente uma constante. Tanto os objetos como as literais podem ser
do tipo atmico, coleo ou estruturado.
A linguagem ODL usada para criar a definio dos tipos de objetos, por isso deve
suportar todos os construtores semnticos do Modelo de Objetos. apenas uma
linguagem de definio e independente de qualquer linguagem de programao, sendo
utilizado o binding para a LPOO especfica.
A OQL uma linguagem declarativa no procedural que pode ser utilizada dentro
linguagens de programao. A OQL baseada na SQL, adicionando conceitos do
padro ODMG como OID, objetos complexos, herana, polimorfismo,
relacionamento e operaes.
O binding, ou acoplamento, especifica como as estruturas em ODL so mapeadas para
estruturas na LPOO escolhida, como C# por exemplo. o binding que converte o
objeto do BD para a aplicao.
Banco de Dados Objeto Relacional
Com a evoluo dos paradigmas de programao e a gradativa manipulao de dados
complexos, houve a necessidade da evoluo dos SGDBs de forma a
acompanhar e atender as exigncias requisitadas. Dessa evoluo nascem os SGBDOO,
os SGBDOR e evolues nos SGBDR.
Analisando de forma sucinta o SGBDOO, temos respectivamente um banco que facilita
perda de desempenho. Assim como primeiras linguagens de programao onde tudo era
um objeto, os BDOOs sofrem com o desempenho. Quando s existia o BDR, apareceu a
necessidade de armazenar dados complexos, uma tima soluo foi o BDOO,
entretanto, por seu desempenho no satisfatrio, um outro banco foi desenvolvido, o
BDOR, que agrega caractersticas da orientao a objetos e otimizao do BDR. O
modelo objeto relacional pode ser comparado s linguagens de programao atuais,
onde apenas dados complexos so representados como objetos, tendo assim maior
desempenho.
O BDOR ainda no alcanou aplicaes de larga escala, pois se trata de um banco
relativamente novo, mas como suas vantagens esto se tornando cada vez mais
evidentes, a tendncia que as empresas e aplicaes que manipulam dados
complexos comecem a utilizar o BDOR e no futuro este modelo de banco de dados
tome o lugar do tradicional BDR.
4.2 ORM (Object-Relational Mapping) Seo quartenria
Um ORM (Object-Relational Mapping), nada mais do que um Framework ou
um conjunto de classesque permite que voc faa este trabalho sem precisar escrever
cdigos de conexo com o banco, querys de SQL a todo o momento, preservando as
caractersticas de orientao a objetos da linguagem face natureza relacional dos
bancos de dados atuais.
O Mapeamento objeto-relacional (ou ORM, do ingls: Object-relational mapping)
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.
4.2.1. COMO DESENVOLVER UTILIZANDO O MODELO ORIENTADO A
OBJETOS COM UM BANCO DE DADOS RELACIONAL
Para desenvolver utilizando o modelo orientado a objeto com o banco de dado racional
o programador no precisa se preocupar com os comandos SQL; ele irusar uma
interface de programao simples que faz todo o trabalho de persistncia.
No necessria uma ligao 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.
4.2.2. O QUE ORM E PARA QUE UTILIZADO.
5. CONCLUSO
Esse trabalho foi feito com o propsito de mostra meu aprendizado e abstrair boas lies
e tambm tive a oportunidade de desenvolver mais meus conhecimentos atravs das
pesquisas que fiz em relao ao assunto abordado abstrair boas lies sobres banco de
dados orientado a objeto e o relacional suas diferena e como trabalhar com os dois e
tambm sobre a ferramenta ORM como desenvolver com o modelo orientado a objeto
suas vantagens e desvantagem e com tudo isso tive um bom aprendizado.
6. REFERNCIAS BIBLIOGRFICAS.
Teses Capitulo 3, endereo eletrnico disponvel em
http://www.dpi.inpe.br/teses/thome/cap3.pdf
Leandro Gyn Professor de Modelagem Orientada a Objetos, endereo eletrnico
disponvel em http://pt.slideshare.net/leandrogynprof/aula1-modelagem-de-sistemasorientada-a-objetos
Andr Maus Brabo Pereira Departamento de Engenharia Civil, endereo eletrnico
disponvel em http://www.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-131-Aula04ModelagemOrientadaObjetos.pdf