4
Banco de dados orientado a objetos Origem: Wikipédia, a enciclopédia livre. Um banco de dados orientado a objetos é um banco de dados em que cada informação é armazenada na forma de objetos. O gerenciador do banco de dados para um orientado a objeto é referenciado por vários como ODBMS ou OODBMS. Existem dois fatores principais que levam a adoção da tecnologia de banco de dados orientados a objetos. A primeira, é que em um banco de dados relacional se torna difícil de manipular com dados complexos. Segundo, os dados são geralmente manipulados pela aplicação escrita usando linguagens de programação orientada a objetos, como C++, C#, Java ou Delphi, e o código precisa ser traduzido entre a representação do dado e as tuplas da tabela relacional, o que além de ser uma operação tediosa de ser escrita, consome tempo. Esta perda entre os modelos usados para representar a informação na aplicação e no banco de dados é também chamada de “perda por resistência”. Índice [esconder] 1 História 2 Adoção de Banco de Dados Orientado a Objetos 3 Recursos Técnicos 4 Vantagens e Desvantagens 5 Padrões 6 Referências e notas 7 Ver também 8 Ligações externas [editar] 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), O 2 [2] (O 2 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 da programação orientada a objetos. No ínicio 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 Orientado a Objetos

Embed Size (px)

DESCRIPTION

BD orientado a objetos

Citation preview

Banco de dados orientado a objetosOrigem: Wikipdia, a enciclopdia livre.Ir para: navegao, pesquisaUm banco de dados orientado a objetos um banco de dados em que cada informao armazenada na forma de objetos. 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. Segundo, os dados so geralmente manipulados pela aplicao escrita usando linguagens de programao orientada a objetos, como C++, C#, Java ou Delphi, 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 resistncia.ndice[esconder] 1 Histria 2 Adoo de Banco de Dados Orientado a Objetos 3 Recursos Tcnicos 4 Vantagens e Desvantagens 5 Padres 6 Referncias e notas 7 Ver tambm 8 Ligaes externas

[editar] HistriaOs sistemas de gerenciamento de banco de dados orientado a objetos cresceram fora das pesquisas durante o comeo da metade dos anos 80, buscando ter sustentao intrnseca da gerncia da base de dados para objetos grfico-estruturados. O termo sistema de banco de dados orientado a objetos surgiu originalmente por volta de 1985. Projetos de pesquisa notveis 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 comeo 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 vrias 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 persistncia da programao orientada a objetos. No nicio os produtos comerciais eram integrados com vrias linguagens GemStone (Smalltalk), Gbase (Lisp), e Vbase (COP). O COP era o C Object Processor, uma linguagem proprietria baseada no C ( COP diferente de C++. Apesar de ambas terem C como base C++ tambm 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#.[editar] Adoo de Banco de Dados Orientado a ObjetosBanco de dados orientados a objetos baseados numa programao persistente adquiriram um nicho nas reas como banco de dados espaciais, telecomunicaes, e reas cientficas como fsica de alta energia e biologia molecular. Eles tiveram pouco impacto nas principais aplicaes comerciais de processamento de dados, embora sejam utilizados em algumas reas especializadas em servios financeiros. Isto ruim se notarmos que esses bancos guardam a maior base de dados do mundo ( mais de 1000 Terabytes da Stanford Linear Accelerator Center) e tem a maior taxa de insero j gravada por um banco de dados comercial ( mais de um Terabytes por hora).Iniciando em 2004, os bancos de dados orientados a objetos tiveram um segundo perodo de crescimento quando os projetos de banco de dados livres surgiram com diversos recursos e de fcil uso, porque eles eram totalmente escritos em linguagens orientada a objetos, como o Java, C++ ou C#.[editar] Recursos TcnicosNum banco de dados orientado a objetos puro, os dados so armazenados como objetos onde s podem ser manipulados pelos mtodos definidos pela classe 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 conseqentemente 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. Isso na rea das linguagens de consulta orientada a objetos, e 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 so geralmente no 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 banco 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 banco de dados orientados a objetos ainda provem um suporte sistemtico a triggers e constraints que so as bases dos bancos ativos.[editar] Vantagens e DesvantagensBenchmarks 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 eficientemente por ponteiros.[3]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 se 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 as 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.De fato h uma tenso intrnseca entre a noo de encapsulamento, que esconde os dados e somente os disponibiliza atravs de uma interface de mtodos publicados, e o presuposto de muitas tecnologia de bancos de dados, de que estes dados podem ser acessados por consultas baseadas em seu contedo ao invs de caminhos predefinidos. O pensamento centrado em bancos de dados tende a ver o mundo atravs de forma declarativa e dirigida a uma viso de atributos, enquanto a OOP tenta ver o mundo atravs um ponto de vista comportamental. Esta uma das vrias perdas por resistncia que envolvem OOP e banco de dados.Embora alguns afirmem que a tecnologia de banco de dados orientado a objetos fracassou, os argumentos essenciais em seu favor permanecem vlidos, e as tentativas de integrar as funcionalidades de bancos de dados mais prxima as linguagens de programao orientadas a objeto continuam tanto nas comunidades de pesquisa quanto nas industriais.[editar] PadresO ODMG (Object Database Management Group) era um consrcio de vendedores de banco de dados orientados a objetos e mapeadores objeto-relacionais, membros da comunidade acadmica, e parceiros interessados. A meta era criar um conjunto de especificaes que permitiriam a portabilidade das aplicaes que armazenam objetos em sistemas de gerenciamento de banco de dados. Foram publicados vrias verses desta especificao. O ltimo release foi a ODMG 3.0. Em 2001, a maioria dos principais vendedores de banco de dados orientado a objetos e mapeadores de objeto-relacionais reivindicaram a conformidade com a ODMG Java Language Binding. A conformidade com os demais componentes da especificao foi variada.[4] Em 2001, o ODMG Java Language Binding foi submetido para o Java Community Process como base para a especificao Java Data Objects. As companhias membras do ODMG decidiram ento concentrar esforos na especificao do Java Data Objects. Como resultado, a ODMG se dissolveu em 2001.Vrias idias do banco de dados orientado a objetos foram absorvidas pela SQL:1999 e tem sido implementadas em vrios graus nos produtos de banco de dados objeto-relacional.Em 2005 Cook, Rai e Rosenberger propuseram abandonar todos os esforos de padronizao para introduzir APIs adicionais de consulta orientadas a objetos e, ao invs disso, usar as prprias linguagens orientadas a objetos, como o JAVA e o .NET. Como resultado surgiram as Consultas Nativas (Native Queries). Similarmente, a Microsoft anunciou a LINQ (Language Integrated Query) e DLINQ, uma implementao do LINQ, em setembro de 2005, para prover a aproximao da capacidade da linguagem de consulta integrada do banco de dados com as linguagens de programao C# e VB.NET 9.Em fevereiro de 2006, o OMG (Object Management Group) anunciou que havia concedido o direito de desenvolver novas especificaes baseadas na especificao ODMG 3.0 e a formao do ODBT WG (Object Database Technology Working Group). O ODBT WG planeja criar um conjunto de especificaes que incorporar avanos da tecnologia de banco de dados orientados a objetos (ex. replicao), gerenciamento de dados (ex. indexao espacial) e formato de dados (ex. XML) e incluir novas caractersticas dentro deste padro que dar suporte ao dominios onde as bancos de dados orientadas a objeto esto sendo adotadas (ex. sistemas de tempo real).