INTRODUÇÃO
Banco de dados
são softwares que tem como finalidade principal armazenar dados específicos
onde serão obtidas informações para determinada ação. Hoje os bancos de dados
mais utilizados são os relacionais, no qual todos os dados são armazenados em
tabelas que se relacionam uma com as outras, porém, a necessidade de se
trabalhar com aplicações mais complexas, levou a evolução dos BDOO´s (Banco de
Dados Orientados a Objeto), onde os dados são armazenados na forma de objetos.
Este trabalho pretende mostrar algumas das funcionalidades de um Banco de Dados
Orientados a Objeto, suas principais características, a facilidade de se
trabalhar com as LPOO’s (Linguagens de Programação Orientadas a Objetos),
vantagens e desvantagens dessa nova tecnologia.
História
Os sistemas de gerenciamento
de banco de dados orientado a objetos cresceram fora das pesquisas durante o
começo da metade dos anos 80, buscando ter sustentação intrínseca da gerência
da base de dados para objetos gráfico-estruturados. O termo “sistema de banco
de dados orientado a objetos” surgiu originalmente por volta de 1985. Projetos
de pesquisa notáveis incluem Encore-Ob/Server (Brown University), EXODUS
(University of Wisconsin), IRIS (Hewlett-Packard), ODE (Bell Labs), ORION
(Microelectronics and Computer Technology Corporation or MCC), Vodak
(GMD-IPSI), e Zeitgeist (Texas Instruments). O projeto ORION teve mais artigos
publicados do que qualquer outro. Won Kim, do MCC, compilou os melhores destes
artigos num livro publicado pelo MIT Press.[1]
Surgiram produtos comerciais,
como o GemStone (Servio Logic, alterado para GemStone Systems), Gbase
(Graphael), e Vbase (Ontologic). No começo da metade dos anos 90 vimos novos
produtos comerciais entrarem no mercado. Deste inclui-se ITASCA (Itasca
Systems), Matisse (Matisse Software), Objectivity/DB (Objectivity, Inc.),
ObjectStore (Progress Software, adquirido pela eXcelon, a qual era
originalmente Object Design), ONTOS (Ontos, Inc., alterado para Ontologic), O2[2]
(O2 Technology, surgiu de várias companhias, adquirido pela
Informix, qual por sua vez foi adquirida pela IBM), POET (agora da FastObjects
da Versant que adquiriu a Poet Systems), e Versant Object Database (Versant
Corporation). Alguns destes produtos se mantem no mercado, tendo alguns se
unido com novos produtos.
Os Sistema de Gerenciamento de
Banco de Dados Orientados a Objetos adicionaram o conceito de persistência à
programação orientada a objetos. No início os produtos comerciais eram
integrados com várias linguagens GemStone (Smalltalk),
Gbase (Lisp), e
Vbase (COP). O COP era o C Object Processor, uma linguagem proprietária baseada
no C ( COP é diferente de C++. Apesar de ambas terem C como base C++ também foi
influenciada Pela Simula). Durante praticamente todos os anos 90, o C++ dominou
o mercado comercial de Gerenciadores de Banco de Dados Orientados a Objetos. Os
vendedores acrescentaram o Java no final dos anos 90 e mais recentemente o C#.
Adoção
de Banco de Dados Orientados a Objetos
Banco de dados orientados a
objetos baseados numa programação persistente adquiriram um nicho nas áreas
como banco de dados espaciais, telecomunicações, e áreas científicas como física
de alta energia e Biologia molecular. Eles tiveram pouco impacto nas principais
aplicações comerciais de processamento de dados, embora sejam utilizados em
algumas áreas especializadas em serviços financeiros. Há também que notar que
estes bancos guardam a maior base de dados do mundo ( mais de 1000 Terabytes da
Stanford Linear Accelerator Center) e tem a maior taxa de inserção atingida por
um banco de dados comercial ( mais de um Terabyte por hora).
Iniciando em 2004, os bancos
de dados orientados a objetos tiveram um segundo período de crescimento quando
os projetos de banco de dados livres surgiram com diversos recursos e de fácil
uso, porque eles eram totalmente escritos em linguagens orientada a objetos,
como o Java, C++ ou C#.
Como
surgiram os BDOO´s?
O desenvolvimento
dos Sistemas de Gerenciamento de Banco de Dados Orientados a Objetos (SGBDOO)
teve origem na combinação de idéias nos modelos de dados tradicionais e de
linguagens de programação orientadas a objetos.
No SGBDOO, a noção de objeto é usado no
nível lógico e possui características não encontradas nas linguagens de
programação tradicionais, como operadores de manipulação de estruturas,
gerenciamento de armazenamento, tratamento de integridade e persistência dos
dados.
Os modelos de
Dados Orientados a Objetos têm um papel importante nos SGBDs porque são mais
adequados para o tratamento de objetos complexos (textos, gráficos, imagens) e
dinâmicos (programas, simulações), por possuírem maior naturalidade conceitual
e, finalmente, por estarem em harmonia com fortes tendências em linguagens de
programação e engenharia de software. A junção entre as linguagens de
programação e banco de dados é um dos problemas que estão sendo tratadas de
forma mais adequada no contexto de orientação orientada a objetos.
Recursos
Técnicos
Num banco de dados orientado a
objetos puro, os dados são armazenados como objetos onde só podem ser
manipulados pelos métodos definidos pela classe de que estes objetos pertencem.
Os objetos são organizados numa hierarquia de tipos e subtipos que recebem as
características de seus supertipos. Os objetos podem conter referências para
outros objetos, e as aplicações podem conseqüentemente acessar os dados
requeridos usando um estilo de navegação de programação.
A maioria dos banco de dados
também oferecem algum tipo de linguagem de consulta, permitindo que os objetos
sejam localizados por uma programação declarativa mais próxima. Isto é, na área
das linguagens de consulta orientada a objetos. A integração da consulta com a
interface de navegação faz a grande diferença entre os produtos que são
encontrados. Uma tentativa de padronização foi feita pela ODMG (Object Data
Management Group) com a OQL (Object Query Language).
O acesso aos dados pode ser
rápido porque as junções são geralmente não necessárias (como numa
implementação tabular de uma base de dados relacional), isto é, porque um
objeto pode ser obtido diretamente sem busca, seguindo os ponteiros.
Outra área de variação entre os produtos é o modo
que este schema do banco de dados é definido. Uma característica geral,
entretanto, é que a linguagem de programação e o schema do banco de dados usam
o mesmo modo de definição de tipos.
Aplicações multimídia são facilitadas porque os
métodos de classe associados com os dados são responsáveis pela correta reprodução.
Muitos banco de dados orientados a objetos
oferecem suporte a versões. Um objeto pode ser visto de todas as várias
versões. Ainda, versões de objetos podem ser tratadas como objetos na versão
correta. Alguns banco de dados orientados a objetos ainda provem um suporte
sistemático a triggers
e constraints que são as bases dos bancos ativos.
Em
que são utilizados os BDOO´s
Objetos
Complexos
Os objetos
complexos são formados por construtores (conjuntos, listas, tuplas, registros,
coleções, arrays) aplicados a objetos simples (inteiros, booleanos, strings).
Nos modelos orientados a objetos, os construtores são em geral ortogonais, isto
é, qualquer construtor pode ser aplicado a qualquer objeto. Em SGBDOO, também
podemos utilizar estest tipos de dados estruturados, assim sendo, a consulta ao
banco de dados precisa ser mais complexa, pois ao invés de acesso a tabelas e
registros, é necessário o acesso a listas, truplas, arrays, entre outros.
Exemplos
de aplicações complexas
- Projeto de engenharia e arquitetura.
- Experiências cientificas.
- Telecomunicações.
- Sistemas de informações geográficas.
- Multimídia...
Características
das aplicações complexas
- Transações de duração mais longa.
- Novos tipos de dados para armazenar
imagens ou grandes itens de texto;
- Necessidade de definir operações especifica
de aplicações não padronizadas.
Características
dos SGBDOO´s
Cada objeto
possui um identificador de objeto ou OID (object identifer), que o torna único,
não usa a linguagem SQL, por isso não há querys, na verdade você busca por seus
objetos através de metodologias predefinidas. Chamamos estas metodologias de
Native Query´s.
Na diferenciação
do modelo relacional e do orientado a objeto, ficaria da seguinte maneira.
Modelo Relacional
|
Modelo OO
|
Tabelas (entidades)
|
Objetos
|
Linhas (Registros)
|
Tuplas
|
Query´s (Consultas, etc)
|
Native Query´s
|
Sql Ansci
|
Métodos, construtores
|
A forma de
acesso aos dados no banco é remodelada porque os SGBDs orientados a objetos
sugerem novos tipos de dados com sequencias de bits, ponteiros, linhas, números
compelxos e elementos de dados do tipo array. Para acessar uma array, um modo
especial de consulta teria que ser construído, por exemplo:
Select nome_moto
From registro_vendas
Where numero_vendidos (2) > 2;
A consulta acima
relacionada retorna o nome das motos vendidas no mês de fevereiro, representado
pela sentença (2) e com quantidade acima de 200 unidades, o mês de fevereiro
faz parte de uma array de 12 elementos, representando os meses.
Exemplos
de Sistemas de Gerência Banco de Dados Orientado a Objetos
O
SGBD Órion
Existem vários
tipos de SGBDOO, vários deles de suma importância para determinadas funções.
Dentre eles existe o Órion que é muito utilizado em perícias. O Órion conta com
1103 veículos de carga e 4121 veículos de passeio e comerciais leves
cadastrados em seu banco de dados, além de ser o mais barato do mercado.
Presente em mais de 640 oficinas, o Órion possibilitou a realização de mais de
130 mil perícias, no ano de 2006, e mais de 58 mil, até maio de 2007, pelo
processo de imagem.
Com
o objetivo de atuar cada vez mais na melhoria do software, foi oferecida uma
nova versão do Órion. As oficinas e seguradoras contam com as seguintes novas
funcionalidades:
- Comparativo de revisões: Possibilita a
oficina a total gestão do processo de peritagem;
- Laudo em extensão XML : Possibilita a
integração com o sistema de gestão interna da oficina;
- Novo layout da agenda de visitas:
Possui todas as informações necessárias para o trâmite de realização de
orçamento e comunicação direta com o perito da seguradora:
- Novo Layout de fotos : Possibilita a
inserção de mais de 30 fotos por processo;
- Consulta eletrônica de peças : Permite
a consulta eletrônica de peças, tanto por descrição como por partnumber.
DB4O
O
DB2 é o Sistema Gerenciador de Banco de Dados Relacionais (SGDBR) produzido
pela IBM. Existem diferentes versões do DB2 que rodam desde num simples
PDA|computador de mão, até em potentes mainframes e funcionam em servidores
baseados em sistemas Unix, Windows, ou Linux.
Existe também o
DB4O, um poderoso SGBDOO para manipulação de objetos como base dados, fácil
maneira de se armazenar objetos nativamente em JAVA ou .NET (Próxima Release da
suporte a PHP), possui uma performance até 40X maior que qualquer banco de
dados relacional, processa aproximadamente 200.000 objetos por segundo, seu
código é aberto e seu custo é muito baixo (praticamente zero).
História
O
nome DB2 foi dado para o Sistema de Gerenciamento de Banco de Dados que a IBM
lançou em 1983 baseado em SQL/DS para seu mainframe. A principio o produto foi
chamado System R que fora iniciado em 1978. O projeto DB2 começou no inicio dos
anos 70 quando Edgar Frank Codd, trabalhando para IBM descreveu a teoria dos
Banco de dados Relacionais e publicou sua teoria em Junho de 1970. Para aplicar
o modelo, Codd criou uma linguagem de banco de dados relacionais que a chamou
de Alpha. Entretanto, a IBM não acreditava no potencial das suas idéias,
deixando-o fora da supervisão do grupo de programadores, que violaram diversas
idéias fundamentais do modelo relacional de Codd. O resultado foi a linguagem
SEQUEL, que depois foi mudado para seu acrônimo SQL porque SEQUEL já era uma
marca registrada.
Por
muitos anos, DB2 foi feito exclusivamente para rodar nos mainframes da IBM.
Posteriormente a IBM introduziu o DB2 para outras plataformas de servidores,
incluindo o Unix e o Windows, para então colocar no Linux e PDAs. Esse processo
foi feito na década 90. A inspiração para os detalhes de implementação do DB2
vieram da linguagem DL/1 da IBM e do Sistema de Gerenciamento de Informações
também dessa empresa. As novas versões já são avaliadas para OS/2 e é chamada
DB2/2.
Na
metade do ano de 2006, a IBM anunciou o “Viper”, o codinome do DB2 9 para
computação distribuídas e para DB2 9 no z/OS. A empresa diz que o novo DB2 será
o primeiro banco de dados relacional que armazena o XML nativo. Outros recursos
incluem o desenvolvimento baseado em OLTP para computação distribuídas, o
desenvolvimento baseado em Business intelligence e data warehousing para z\OS,
mais recursos de auto configuração e auto gerenciamento, adição de recursos
para a plataforma 64-bits (especialmente para z/OS), melhoria na performance do
armazenamento estruturado para z/OS e a continuação da padronização do
vocabulário da linguagem SQL entre z/OS e outras computação distribuídas.
[editar]
Edições
DB2
é vendida em diversos tipos de “edições” ou licenças. Pela escolha de uma
versão com menos recursos, a IBM evita que os consumidores paguem por coisas
que não iriam usar. Alguns exemplos de edição são a Express, Workgroup e a
Edição Enterprise. A edição mais sofisticada para Linux/UNIX/Windows é o DB2
Data Warehouse Entreprise Edition, ou DB2 DWE.
DB2
para Z/OS é vendido em sua própria licença. Começando com a versão 8, a IBM
vendeu o DB2 para z/OS e outros sistemas com característica muito próximas.DB2
para esse sistema tem algumas característica exclusivas: Segurança Multi-Level,
tabelas de tamanhos extremamente grandes e compressão a nível de hardware. DB2
para z/OS foi sempre conhecido pela sua liderança de performance OLTP e é usado
para suportar missões críticas nas operações de negócios, mas agora a versão
z/OS está começando a adquirir característica Business intelligence.
Em
30 de Janeiro de 2006, a IBM lançou uma versão do DB2 chamada DB2 9 Express-C.
Essa foi a resposta para os recentes pronunciamentos de versões gratuitas do
Oracle e da Microsoft SQL Server. Express-C não terá limite no número de
usuários e do tamanho do banco de dados. Foi desenvolvido para máquinas com
sistema Windows e Linux até 2 processadores e até 2GB de memória.
Historicamente,
a primeira posição entre os SGDB do mercado foi marcado pela alternância entre
DB2 e Oracle. Entretanto há outros SGDBs concorrentes como o Microsoft SQL (que
é apenas disponível no Windows) além de sistemas de código aberto tais como o
PostgreSQL, MySQL e Firebird. O DB2 para z/OS tem poucos concorrentes diretos, mas
a Oracle tem atraindo consumidores para o Linux da zSerie, embora não as custas
do DB2.
Em
2006 a IBM entrou na competição pelo emergente mercado de armazenamento
warehouse aplicado ao mercado financeiro, com o lançamento de uma linha de
produtos com sistemas de hardware/software pré-configurados. Essa família de
“aplicações warehouse” foi nomeada como IBM Balanced Configuration Unit, ou
BCU.
[editar]
Informações Técnicas
DB2
pode ser administrado tanto em uma interface de comandos de linhas ou em um ambiente
gráfico. A interface de comando de linha requer mais conhecimento do produto
mas pode ser mais facilmente automatizado. O ambiente gráfico é uma
multi-plataforma Java que contem uma grande variedade de wizards para usuários
iniciantes.
DB2
tem APIs para .NET CLI, Java, Python, Perl, PHP, Ruby, C++, C, REXX, PL/I,
COBOL, RPG, FORTRAN, e muitas outras linguagens de programação. DB2 também tem
suporte de integração no Eclipse e no Visual Studio .NET
Firebird
Firebird
(algumas vezes chamado de FirebirdSQL) é um sistema gerenciador de banco de
dados. Roda em Linux, Windows, Mac OS e uma variedade de plataformas Unix. A
Fundação FirebirdSQL coordena a manutenção e desenvolvimento do Firebird, sendo
que os códigos fonte são disponibilizados sob o CVS da SourceForge.
Baseado
no código do InterBase da Borland, quando da abertura de seu código na versão
6.0 (em 25 de Julho de 2000), alguns programadores em associação, assumiram o
projecto de identificar e corrigir inúmeros defeitos da versão original,
surgindo aí o Firebird 1.0, que se tornou um banco com características
próprias, obtendo uma aceitação imediata no círculo de programadores. A versão
mais recente estável é a 2.5. Ela tem uma nova arquitetura chamada
SuperClassic, que fará a ponte para a versão 3.0, que sairá em breve e
oferecerá suporte total a SMP. O Firebird é gratuito em todos os sentidos: não
há limitações de uso, e seu suporte amplamente discutido em listas na Internet,
o que facilita enormemente a obtenção de ajuda técnica. O Firebird receberá
tambem uma versão mobile para Android o sistema operacional da Google para
dispositivos móveis.
O
produto é bastante seguro e confiável, suportando sistemas com centenas de
usuários simultâneos e bases de dados com dezenas/centenas de gigabytes. Há
suporte gratuito na Internet através de vários sítios.
Desde
sua primeira versão, oferece recursos de um verdadeiro SGBD, como:
compatibilidade ACID, transações MVCC, triggers, procedures, collations, UDFs,
etc.
O
Firebird é amplamente utilizado em todo o mundo, com a maior base de usuários
no Brasil, Rússia e Europa.
MySQL
O
MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a
linguagem SQL
(Linguagem
de Consulta Estruturada, do inglês Structured Query Language) como interface. É
atualmente um dos bancos de dados mais populares, com mais de 10 milhões de
instalações pelo mundo.[1]
Entre
os usuários do banco de dados MySQL estão: NASA, Friendster, Banco Bradesco,
Dataprev, HP, Nokia, Sony, Lufthansa, U.S. Army, U.S. Federal Reserve Bank,
Associated Press, Alcatel, Slashdot, Cisco Systems, Google e outros.
História
O
MySQL foi criado na Suécia por dois suecos e um finlandês: David Axmark, Allan
Larsson e Michael "Monty" Widenius, que têm trabalhado juntos desde a
década de 1980. Hoje seu desenvolvimento e manutenção empregam aproximadamente
400 profissionais no mundo inteiro, e mais de mil contribuem testando o
software, integrando-o a outros produtos, e escrevendo a respeito dele.
No
dia 16 de Janeiro de 2008, a MySQL AB, desenvolvedora do MySQL foi adquirida
pela Sun Microsystems, por US$ 1 bilhão, um preço jamais visto no setor de
licenças livres. No dia 20 de Abril de 2009 a Oracle compra a Sun Microsystems
e todos o seu produtos, incluindo o MySQL. Após investigações da Comissão
Europeia sobre a aquisição para evitar formação de monopólios no mercado a
compra foi autorizada e hoje a Sun faz parte da Oracle.[3] [4]
O
sucesso do MySQL deve-se em grande medida à fácil integração com o PHP
incluído, quase que obrigatoriamente, nos pacotes de hospedagem de sites da
Internet oferecidos atualmente. Empresas como Yahoo! Finance, MP3.com,
Motorola, NASA, Silicon Graphics e Texas Instruments usam o MySQL em aplicações
de missão crítica.[5] A Wikipédia é um exemplo de utilização do MySQL em sites
de grande audiência.
O
MySQL hoje suporta Unicode, Full Text Indexes, replicação, Hot Backup, GIS,
OLAP e muitos outros recursos.
Características
Portabilidade
(suporta praticamente qualquer plataforma atual);
Compatibilidade
(existem drivers ODBC, JDBC e .NET e módulos de interface para diversas
linguagens de programação, como Delphi, Java, C/C++, C#, Visual Basic, Python,
Perl, PHP, ASP e Ruby)
Excelente
desempenho e estabilidade;
Pouco exigente
quanto a recursos de hardware;
Facilidade de
uso;
É um Software
Livre com base na GPL;
Contempla a
utilização de vários Storage Engines como MyISAM, InnoDB, Falcon, BDB, Archive,
Federated, CSV, Solid…
Suporta controle
transacional;
Suporta
Triggers;
Suporta Cursors
(Non-Scrollable e Non-Updatable);
Suporta Stored
Procedures e Functions;
Replicação
facilmente configurável;
Interfaces
gráficas (MySQL Toolkit) de fácil utilização cedidos pela MySQL Inc.
PostgreSQL
PostgreSQL
é um sistema gerenciador de banco de dados objeto relacional (SGBDOR),
desenvolvido como projeto de código aberto.
Histórico
O
PostgreSQL é um dos resultados de uma ampla evolução que se iniciou com o
projeto Ingres, desenvolvido na Universidade de Berkeley, Califórnia. O líder
do projeto, Michael Stonebraker, um dos pioneiros dos bancos de dados
relacionais, deixou a universidade em 1982 para comercializar o Ingres, porém
retornou a ela logo em seguida. Após seu retorno a Berkeley, em 1985,
Stonebraker começou um projeto pós-Ingres com o objetivo de resolver problemas
com o modelo de banco de dados relacional. O principal problema era a
incapacidade do modelo relacional compreender “tipos” (atualmente, chamados de
objetos), ou seja, combinações de dados simples que formam uma única unidade.
O
projeto resultante, chamado Postgres, era orientado a introduzir a menor
quantidade possível de funcionalidades para completar o suporte a tipos. Estas
funcionalidades incluíam a habilidade de definir tipos, mas também a habilidade
de descrever relações - as quais até este momento eram amplamente utilizadas,
mas completamente mantidas pelo usuário. No Postgres, o banco de dados
"compreendia" as relações e podia obter informações de tabelas
relacionadas utilizando regras.
Iniciando
em 1986, a equipe divulgou uma série de documentos descrevendo a base do
sistema e em 1988 o projeto possuía um protótipo funcional. A versão 1 foi
liberada para um grupo pequeno de usuários em junho de 1989, seguida pela
versão 2 com um sistema de regras reescrito em junho de 1990. Para a versão 3,
liberada em 1991, o sistema de regras foi reescrito novamente, mas também foram
adicionados suporte para múltiplos gerenciadores de armazenamento e um
melhorado motor de consultas. Já em 1993, Postgres havia crescido imensamente
em popularidade e possuía uma grande demanda por suporte e por novas
funcionalidades. Após a liberação da versão 4, a qual era uma simples versão de
limpeza, o projeto foi oficialmente abandonado pela Universidade de Berkeley.
Entretanto,
devido ao fato do seu código fonte estar sob uma licença BSD, o seu
desenvolvimento foi continuado. Em 1994, dois estudantes de Berkeley, Andrew Yu
e Jolly Chen, adicionaram um interpretador SQL para substituir a linguagem QUEL
(desenvolvida para o Ingres) e o projeto foi renomeado para Postgres95. Com a
divulgação de seu código pela Internet, Postgres95 iniciou uma nova vida como
software open source.
Em
agosto de 1996, Marc Fournier, Bruce Momjian e Vadim B. Mikheev lançaram a
primeira versão externa da Universidade de Berkeley e deram início à tarefa de
estabilizar o código herdado. Também em 1996, o projeto foi renomeado para
PostgreSQL a fim de refletir a nova linguagem de consulta ao banco de dados:
SQL. A primeira versão de PostgreSQL, a 6.0, foi liberada em janeiro de 1997.
Desde então, um grupo de desenvolvedores e de voluntários de todo o mundo,
coordenados pela Internet, têm mantido o software e desenvolvido novas
funcionalidades.
As
principais características acrescentadas nas versões 6.x são o en:MVCC
(Multiversion Concurrency Control – Controle de Concorrência Multiversões),
melhorias no SQL e novos tipos de dados nativos (novos tipos de datas e hora e
tipos geométricos).
Em
maio de 2000 foi liberada a versão 7.0. As versões 7.x trouxeram as seguintes
novas funcionalidades: Write-Ahead Log (WAL), esquemas SQL, outer joins,
suporte a IPv6, indexação por texto, suporte melhorado a SSL e informações
estatísticas do banco de dados.
A
versão 8.0 foi lançada em janeiro de 2005 e entre outras novidades, foi a
primeira a ter suporte nativo para Microsoft Windows (tradicionalmente, o
PostgreSQL só rodava de forma nativa em sistemas Unix e, em sistemas Windows -
através da biblioteca Cygwin). Dentre as muitas novidades da versão 8.x,
pode-se destacar o suporte a tablespaces, savepoints, point-in-time recovery,
roles e Two-Phase Commit (2PC). Em julho de 2009 foi lançada a versão mais
recente: 8.4.
Característica
Hoje,
o PostgreSQL é um dos SGBDs (Sistema Gerenciador de Bancos de Dados) de código
aberto mais avançados, contando com recursos como:
Consultas
complexas
chaves
estrangeiras
Integridade
transacional
Controle de
concorrência multi-versão
Suporte ao
modelo híbrido objeto-relacional
Gatilhos
Visões
Linguagem
Procedural em várias linguagens (PL/pgSQL, PL/Python, PL/Java, PL/Perl) para
Procedimentos armazenados
Indexação por
texto
Estrutura para
guardar dados Georeferenciados PostGIS
Estruturas de
Decisão
O
Projeto PostgreSQL é desenvolvido e direcionado pela sua comunidade de
desenvolvedores e de usuários. Para coordenar o projeto há uma equipe central
(core team) composta por sete desenvolvedores e um grupo de committers CVS. O
código fornecido por voluntários é avaliado e aceito ou rejeitado pelos
committers.
Este
modelo de desenvolvimento de software, baseado no modelo Bazar originalmente
apresentado em A Catedral e o Bazar de Eric S. Raymond, possibilita o
desenvolvimento de software com qualidade devido, principalmente, a permitir:
Tratar usuários como parceiros e/ou
desenvolvedores. Eles contribuem diretamente com o desenvolvimento do software
apresentando os problemas enfrentados, suas necessidades, suas sugestões de
solução e, até mesmo, seu próprio código fonte de solução. Assim, usuários
auxiliam de forma pró-ativa nas melhorias e na depuração do software.
Reutilizar código fonte.
Lançar rapidamente e frequentemente novas
versões. Com uma base ampla de usuários testadores do software, os eventuais
problemas são rapidamente identificados e sugestões de solução também aparecem
com rapidez.
Estado Atual
Além
de doações, o projeto PostgreSQL se sustenta pelo patrocínio de diversas
empresas, entre as quais se destacam: Fujitsu, Hub.Org, NTT Group, Red Hat,
Skype, SRA e Sun Microsystems.
O
software tem adquirido prestígio na comunidade Linux, tendo recebido diversas
vezes o prêmio Linux Journal Editor's Choice de melhor sistema de gerenciamento
de banco de dados (SGBD).
Uma
diversidade de módulos adicionais está disponível através do pgfoundry.
A
aceitação do PostgreSQL tem se ampliado para além da comunidade de código aberto.
Há entre os seus usuários grandes empresas internacionais, órgãos
governamentais de vários países e universidades de prestígio mundial. Existe
uma lista dos principais usuários no Brasil e no mundo e, também, há alguns
estudos de caso de aplicações que utilizam o PostgreSQL.
CACHÉ
É
um SGBDOO com toda a tecnologia em banco de dados orientados a objetos. O cachê
é um banco de dados pósrelacional orientado a objetos, que vem conquistando
espaço no mercado devido ao seu desempenho com as aplicações. Além de seu
desempenho ele permite a integração entre a linguagem padrão de banco de dados,
que é a SQL (Structured Query Language – Linguagem de Consultas Estruturadas),
e objetos, assim trabalhando com SQL e OQL (Object Query Language – Linguagem
de Consultas a Objetos). Devido a essa gama de possibilidades do Caché, as
aplicações relacionais podem fazer uso dos componentes de negócios construídos
em OO (Orientado a Objeto).
A
ferramenta Studio, nativa do Caché, é um grande facilitador na criação e
manipulação das classes que constituem a base de dados.
Clientes
n TJDF (Tribunal de Justiça do Distrito Federal)
n Prefeitura de Diadema
n Hospital Albert Einstein
n Laboratórios Fleury
n Departamento de defesa dos Estados Unidos
n Dentre outros...
Plataformas
Windows NT, Windows 2000, Windows XP, Windows Server 2003(Caché 5.0.2 ou
melhor), Red Hat Linux, e SuSE Linux.
ORACLE
10g
Os SGBD´s
mostrados anteriormente são puramente orientados a objeto, porém existe também
os objeto relacionais que misturam banco de dados relacional com conceitos de
orientação a objetos. Um exemplo é o Oracle 10g que usa SQL no sistema Objeto
Relacional.
Como
isso funciona?
Existe no Oracle
o Object Type que é um tipo difinico pelo usuário na qual equivale ao de classe
em POO (Programação Orientada a Objeto). O Object Type captura tanto a
estrutura como o comportamento de um objeto. A sintaxe segue o exemplo abaixo.
CREATE TYPE
AS OBJECT
();
Exemplo:
CREATETYPE tipo_pessoa AS OBJECT(
Nome VARCHAR2(30),
Fone VARCHAR2(20));
Vantagens
Entre
as vantagens dos SGBD´s OO, podemos destacar:
- Capacidade de Armazenamento de Objetos;
- Podes de Processamento de Requisições;
- Não possuem Chaves Primarias nem
Estrangeiras, aumentando o desempenho das consultas e processos;
- Os objetos se comunicam entre si
através de mensagens.
Desvantagens
Entre
as desvantagens dos SGBD´s OO, podemos destacar:
- Falta de padronização das linguagens
de manipulação dos dados;
- Alto custo de aquisição das novas
tecnologias;
- Curva de aprendizagem e adaptação ao
novo ambiente demorada.
Versant
É um SGBDOO, de
ambiente distribuído e suporte multiusuário, fornecido pela empresa VERSANT Object
Technology, disponibilizando um conjunto de produtos, como: SGBD, ferramentas
para desenvolvimento de aplicações e administração do banco de dados, interface
para as linguagens de programação C++ e Smalltalk, SQL baseado na integração de
dados legados, entre outros serviços e produtos.
Caracteristicas
O foco principal para estas aplicações
devem ser sobre o domínio e o domínio lógica, e complexos desenhos devem ser
baseadas em um modelo de objeto. Arquiteturas que misturam necessidades
técnicas, tais como persistência (e SQL), com o modelo de domínio são um
convite ao desastre.
- Banco de Dados Comercial;
- Multi-Plataforma;
- Herança Múltipla;
- Ambiente Distribuído;
- Permite Redefinição de Classe.
CONCLUSÃO
Os
bancos de dados são, sem duvida nenhuma, uma peça fundamental no mercado da
informação. A evolução dos SGBDOO´s facilitará a forma de se trabalhar com
dados mais complexos e com os objetos das LPOO´s. O uso da orientação a objetos
em sistemas de banco de dados é cada vez mais crescente.
É
claro que isso não quer dizer que o modelo relacional será extinto, entretanto,
daqui a alguns anos a tendência da tecnologia OO terá significativa
superioridade com relação ao seu uso em aplicações corporativas.
REFERÊNCIAS BIBLIOGRÁFICAS
[Ramos 2007] – Ramos, Ricardo. Banco de
Dados Orientado a Objeto
[Fontes 2005] – Fontes, Attila. Nova
Geração, a tecnologia dos BDOO´s
Divino Gomes Miranda. Caché – 2009.
Disponivel em: HTTP://www.LinhadeCódigo.com.br/cachê.
Acesso em 24/10/2010.
Rational, Inc – 004. Disponivel em: HTTP://www.malima.com.br/article_read.asp?id=40 . Acesso em
24/10/2010.
Luiz dos Santos Souza – 2009 –
Universidade Católica de Pelotas (UFPEL). Disponivel em: HTTP://souza_l.sites.uol.com.br/OO_Oracle.PDF.Acesso
em 24/10/2010
Jackson Matias dos Santos, Artur Luiz
Torres de Oliveira, Aislan Rafael Rodrigues de Souza – Instituto Federal de
Educação, Ciências e Tecnologia do Piauí (IFPI). Disponivel em http://www.scribd.com/doc/15981350/Banco-de-Dados-Orientado-a-Objeto-um-Novo-Paradigma-.
Acesso em 24/10/2010.
Kim, Won. Introduction to Object-Oriented Databases.
The MIT Press, 1990. ISBN
0-262-11124-1
Bancilhon, Francois; Delobel,Claude; and Kanellakis, Paris.
Building an Object-Oriented Database System: The Story of O2.
Morgan Kaufmann Publishers, 1992. ISBN
1-55860-169-4.
Barry, Douglas and
Duhl, Joshua. Object Storage Fact Books: Object DBMSs and Object-Relational
Mapping. Barry & Associates, Inc., 2001. A páginas exibe a
conformidade da ODMG para a os banco de dados orientados a objetos e os
produtos objeto-relacionais em 2001
Um comentário:
Boa tarde, Leandro.
Esta matéria, realmente me interessou, mas fiquei com uma duvida, o firebird é BDOO?
Pelo que entendi, seriam o DB4o, PostgreSQL e ORACLE 10g tem funções.
Estou certo?
Obrigado pela atenção.
Gerson De Simone.
Email: i.gds@hotmail.com
Postar um comentário