Trabalho sobre Banco de Dados Banco de Dados Distribuídos, Orientado a Objetos e XML

Tamanho: px
Começar a partir da página:

Download "Trabalho sobre Banco de Dados Banco de Dados Distribuídos, Orientado a Objetos e XML"

Transcrição

1 PCS 2033 Engenharia de Software II Trabalho sobre Banco de Dados Banco de Dados Distribuídos, Orientado a Objetos e XML Integrantes: Nusp: Data: 02/08/2010 Anderson Jun Kodama Eduardo Barasal Morales Fernando Cabral Grandjean Pinto Filho Renato Dias Kavai

2 Índice 1. Resumo Introdução Banco de Dados Distribuídos Sobre Principais Usos Exemplos e SGBDs Vantagens Desvantagens Banco de Dados Orientado a Objetos Sobre Principais Usos Exemplos e SGBDs Vantagens Desvantagens Banco de Dados XML Sobre Principais Usos Exemplos Vantagens Desvantagens Características e Uso de 2 SGBDs exist Xindice Formas de uso Analise Comparativa Conclusão Bibliografia...15 Glossário SGBD - Sistema de Gerenciamento de Banco de Dados SQL - Structured Query Language XML - extensible Markup Language BDD - Banco de Dados Distribuídos SGBDOO - Sistema de Gerenciamento de Banco de Dados Orientado a Objetos. ODGM - Object Database Management Group ODL - Object Definition Language OQL - Object Query Language BDOO - Banco de Dados Oreintado a Objetos CAD - Computer Aided Design CAM - Computer Aided Manufacturing W3C - World Wide Web Consortium API - Application Programming Interface

3 1. Resumo Com o intuito de armazenar informações em único lugar integrado para várias aplicações desenvolveu-se o Banco de Dados. Contudo diferentes níveis de complexidade de informações necessitou formas distintas de armazenamento e acesso. Através desse documento é feita uma análise sobre três tipos de Banco de Dados: Banco de Dados Distribuídos, Banco de Dados Orientado a Objetos e Banco de Dados XML, onde para cada tipo é dada uma introdução aos conceitos envolvidos, além de uma idéia de usos comuns, exemplos de SGBDs e a listagem de algumas vantagens e desvantagens relacionadas à estes bancos. De forma geral os Bancos de Dados Distribuídos apresentam uma forma de comunicação entre diversos nós que podem representar uma cópia ou um fragmento do conjunto de dados de uma aplicação. O atual cenário das aplicações em nuvem e a grande demanda de armazenamento de dados cria um ambiente propício para a popularização deste tipo de banco de dados, a idéia destes bancos não requerem o uso de um paradigma específico. Além de conceitos por trás de Bancos Distribuídos, pode-se estudar a partir deste documento conceitos relacionados à Banco de Dados Orientado a Objetos. O paradigma que rege estes bancos é empregado na maior parte das aplicações de sistemas, fazendo com que seja vantajoso a utilização de um banco de dados que não necessite de tradução ou conversão. Além disso, a partir desse banco, foi possível armazenar valores de tipos de dados estruturados ao invés de itens atômicos definido pelas tabelas no modelo relacional. Por fim, tem-se os Bancos de Dados XML que vem com o intuito de facilitar e tornar mais eficiente o emprego desta linguagem de marcação, que também é amplamente difundida em diversos tipos de aplicações. Para ilustrar melhor este tipo de banco foi desenvolvido também uma breve demonstração de uso de dois SGBDs que empregam XML nativamente e foram apontadas distinções entre eles. 2. Introdução O Objetivo deste trabalho é analisar diferente tipos de modelos de Banco de Dados e compará-los quanto às características teóricas e utilização na engenharia de computação atual. Um banco de dados consiste em um conjunto organizado de dados, os quais são utilizados por softwares, sistemas WEB e outras aplicações para gerenciamento de dados. Existem diferentes tipos e níveis de organização de banco de dados. Uma das organizações mais utilizadas atualmente é o modelo de dados relacional, onde diferentes conjuntos de dados são representados por relações ou tabelas e estas organizações são relacionadas através de chaves estrangeiras. O gerenciamento de um banco de dados é feito por um SGBD. Os SGBDs são diferentes para cada tipo de modelo de banco de dados e, também, diferem entre si em relação a qual linguagem de query (busca) eles utilizam. Existem SGBDs que abordam mais de uma organização e linguagem de busca. A query é o método de alteração utilizado pelos SGBDs para o gerenciamento dos bancos de dados. A partir de uma query dados podem ser inseridos, editados, apagados e recuperados do banco de dados a partir de diversas regras impostas por elas. A linguagem de query mais utilizada hoje em dia é a SQL, que é baseada na algebra relacional. A seguir serão apresentados três modelos de banco de dados: o Banco de Dados Distribuídos, o Banco de Dados Orientado a Objetos e o Banco de dados XML.

4 3. Banco de Dados Distribuídos 3.1 Sobre O banco de dados distribuído é um conjunto de banco de dados logicamente relacionados distribuídos sobre uma rede de computadores. As estações podem ter dados replicados, ou seja, cada estação possui uma cópia dos dados, ou podem ter dados fragmentados, onde cada nó possui base de dados diferentes. Os bancos de dados distribuídos podem ser divididos em dois tipos diferentes: Homogêneos e Heterogêneos. Quando um banco é homogêneo todos os nós são compostos pelos mesmos bancos de dados, sendo geralmente utilizado quando o sistema ja foi desenvolvido para ser distribuído. Um banco heterôgeneo possui mais de um tipo de banco de dados, e é aplicado costumamente quando as aplicações já existiam e necessitam ser relacionadas. Outra classificação para os BDDs é quanto a replicação de dados. Ela pode ser síncrona, onde todos os nós recebem os dados e a transação só é concluída quando todas as transações locais forem. A replicação também pode ser assíncrona onde cada transação é feita localmente. 3.2 Principais Usos Uma grande utilidade dos Bancos de Dados Distribuídos é em empresas ou lojas com diversos departamentos, onde cada um produz e possui diferentes demandas de dados. Nesse tipo de ambiente, os dados podem ser concentrados onde são mais necessários, e podem ser acessados por qualquer um dos outros departamentos quando necessários. Outros usos desse tipo de banco de dados são redes sociais como o Facebook, que utiliza essa organização nas buscas. 3.3 Exemplos e SGBDs Os SGBDs para banco de dados distribuídos (conhecidos como SGBDDs) são costumamente mais complexos que os SGBDs para bancos locais, pois necessitam de um controle de concorrência mais avançado para conseguir gerenciar a replicação de todos os nós e centralizar os dados de maneira transparente. Alguns exemplos de SGBDDs são o Apache Cassandra e o HBase. 3.4 Vantagens Reflete a estrutura organizacional, ou seja, os dados são salvos nos locais onde são utilizados, mas podem ser consultados por qualquer nó da distribuição. Autonômia local que permite que cada nó controle seus dados. Maior disponibilidade e confiabilidade, pois falhas afetam somente um fragmento do sistema. Melhor performance, consequência da estrutura organizada, que concentra os dados no local onde há mais demanda. Econômico, pois uma rede de computadores menores tem menor custo do que um computador maior de mesmo desempenho. Modularidade que permite adição, remoção e modificação sem afetar os outros nós.

5 3.5 Desvantagens Complexidade, pois é necessário processamento extra para manter sistemas diferente sincronizados de maneira transparente. Implantação mais cara, embora compense a longo prazo. Segurança deve ser bem reforçada, tanto nas estações quanto na transferencia de dados entre elas. A integridade do sistema é dificil de ser mantida, pois exige muitos recursos da rede. Por ser um sistema relativamente novo, não existem muitas experiências práticas Não existem padrões de de conversão de SGBDs para SGBDs distribuídos. Por fim, o design é muito mais complexo por ter que considerar a fragmentação e replicação de dados em lugares específicos. 4. Banco de Dados Orientado a Objetos 4.1 Sobre Com a crescente complexidade das aplicações de sistema, bancos de dados relacionais apresentaram limitações que se tornaram obstáculos. Para solucionar essas limitações e agregar o paradigma de desenvolvimento orientado a objetos surgiu o banco de dados orientados a objetos (BDOOs). Uma outra vantagem para a criação desse banco foi o padrão UML que é amplamente utilizado na orientação objetos. Para padronizar as funcionalidades de um SGBDOO foi formado um grupo chamado ODGM (Object Database Management Group). Esse grupo definiu um modelo de objetos, denominado ODL (Object Definition Language) e uma linguagem de consulta, denominada OQL (Object Query Language). Através do ODL foi possivel definir estruturas de dados arbitrariamente complexas como valores de tipos de dados estruturados no SGBDOO. Já com a OQL é possível consultar e manipular objetos armazenados no banco de dados. Orientação a Objetos Antes de analisarmos esse SGBD é preciso definir o paradigma de orientação a objetos. Esse paradigma é uma forma de representar uma solução no domínio do problema, utilizando uma abstração do mundo em objetos que realizam pequenas tarefas e interagem entre si. A orientação a objetos é construido baseando-se nos seus quatros conceitos básicos, abstração, encapsulamento, herança e polimorfismo. A abstração permite agrupar as propriedades comuns a um determinado conjunto, suprimindo alguns detalhes. Algumas formas de aplicação de abstração são as generalizações/especializações e agregações. O encapsulamento que consiste na separação dos conceitos internos e externos de uma classe ocasionando assim um baixo acoplamento e uma alta coesão. A partir dessa divisão cria-se uma proteção aos dados internos de um objeto, de uma determina classe, que só podem ser acessados através da troca de mensagens. A herança é um mecanismo que permite o reuso e o compartilhamento de código e acarreta numa consistência de interface (duas classes que herdam de uma classe disporão ter um comportamento semelhante). O Polimorfismo é um mecanismo que permite que uma mesma operação possa se comporta de diferentes formas em classes distintas. Algumas possíveis formas de utilização de polimorfismo é através de sobrecarga de operação(overload) e redefinição de operação (override).

6 Sistema de gerenciamento de banco de dados orientados a objetos Em um sistema de gerenciamento de banco de dados orientado a objetos podemos dividir o estudo em objetos, classes e relacionamentos. Objetos podem ser vistos como encapsuladores de dados e de código que se comunicam entre si através de mensagens. Eles possuem variáveis que armazenam o estado do objetos, um conjunto de mensagens às quais o objeto responde e um conjunto de métodos que realizam a manipulação dos dados e o tratamento e geração de mensagens. Classe é um agrupamento de objetos de mesmo tipo,ou seja, um objeto é um instância de uma classe. Uma classe é composta por atributos, que corresponde aos dados dos objetos, e métodos. Os relacionamentos entre classes podem ser classificados em três tipos: herança, associação e composição/agregação. No relacionamento de herança é do tipo é um e representa a derivação de uma classe a outra classe (especialização). Essa derivação faz com que a sub-classe herde tanto atributos como métodos da super-classe. Contudo na sub-classe pode acontecer o polimorfismo através overload e/ou override. O conceito de BDOO permite tanto herança simples, aonde uma classe herda de uma outra, quanto herança múltipla, aonde um classe pode herdar de mais de uma classe. Além disso pode se utilizar o conceito de classe abstrata, que não pode ser instanciada porém que contém informações, na herança. O relacionamento de associação, é igual ao dos bancos de dados relacionais, e pode ser unidirecional ou bidirecional com cardinalidades de 1x1, 1xn e nxn. O relacionamento de composição/agregação é do tipo é parte de e utiliza o conceito de objetos compostos ou complexos. Um objeto composto consiste no agrupamento de objetos. Esse agrupamento também pode acontecer em vários níveis como por exemplo: um objeto avô é composta de vários objetos pais que por sua vez é composto por vários objetos filhos. Para armazenar os objetos no banco de dados foi desenvolvido o conceito de identidade do objeto para caracterizar cada objeto. A identidade do objeto não utiliza informações do estado do objeto e nem de seus atributos e é geralmente gerada pelo sistema. Assim cada objeto se torna único no banco de dados. 4.2 Principais Usos Os bancos de dados orientados a objetos não são amplamente utilizados atualmente em comparação com os banco de dados relacionais. Contudo em algumas situações, principalmente em mercados verticais, como telecomunicações, finanças e saúde, ele é bem empregado. Além disso áreas como multimídia, CAD e CAM (Computer Aided Design/ Computer Aided Manufacturing) pode expandir o mercado desse banco de dados. 4.3 Exemplos e SGBDs Existem vários sistemas de gerenciamento de banco de dados orientados a objetos. Abaixo segue alguns exemplos: EnterpriseBD criado pela empresa EnterpriseBD e é opensource. Objectivity/DB criado pela empresa Objectivity Database Systems e não é opensource. GemStone criado pela empresa GemStone System Inc. e não é opensource. ConteXT criado pela empresa Unixspace e não é opensource.

7 Versant criado pela empresa Versant Corp. e não é opensource. Caché criado pela empresa Intersystems Software e não é opensource. EyeDB criado pela empresa Sysra Informatique e é opensource. Jasmine criado pela empresa Computer Associates e não é opensource. ORION criado pela empresa Orion Group (Purdue University) e é opensource. ObjectStore criado pela empresa Progress Software e não é opensource. 4.4 Vantagens A capacidade de armazenamento de objetos para aplicações que usam o paradigma de orientação a objetos, ou seja, não precisa fazer nenhuma conversão ou mapeamento para armazenar os dados. Não há a necessidade de joins porque os dados são encontrados através de ponteiros gerando assim uma possível melhora nos SGBDOOs comparados a SGBDs relacionais, principalmente em casos especificos. Utilização de conceitos de orientação a objetos para armazenamento de dados permite uma maior flexibilidade do sistema, escalabilidade e facilidade de manutenção. 4.5 Desvantagens A falta de padronização das linguagens de manipulação dos dados entre SGBDOOs. O conceito de encapsulamento da orientação a objetos implica que os métodos e tipos de dados sejam determinados com antencedência uma vez que atributos internos de um objeto não podem ser alterados pelo exterior. Alguns SGBDOOs podem apresentar problemas de interoperabilidade com ferramentas e padr oes do modelo relacional já bem estabelecidos. Baixa utilização comparado ao banco de dados relacional devido ao alto custo envolvido na troca de sistemas e a dificuldade de aprendizado. 5. Banco de Dados XML 5.1 Sobre Um banco de dados XML pode ser entendido como um software de persistência que permite o armazenamento de dados obtidos no formato XML. O XML é uma linguagem de marcação de dados, que pode ser utilizada para troca, compartilhamento ou armazenamento de dados.

8 De forma geral existem duas abordagens dominantes para a implementação deste modelo de banco de dados: XML-habilitado: nesta abordagem os utilizados Sistemas de Gerenciamento de Banco de Dados são utilizados para prover interfaces que transformem os dados no formato XML para o formato interno de armazenamento e vice-versa. XML Nativo: esta abordagem define um modelo lógico para documentos XML de forma que haja um suporte eficiente para seu armazenamento e recuperação. Estas duas abordagens são descritas em melhor detalhe a seguir. XML-habilitado Neste caso os documentos XML são utilizados para trocar dados entre o banco de dados e uma aplicação ou outro banco. O processo de retirar dados do banco e gerar um documento XML, ou um pedaço de um documento, é denominado de publicação ou composição, já o processo inverso é chamado de particionamento ou decomposição. Para facilitar o entendimento deste conceito são usados exemplos para casos onde se faz o uso de bancos de dados relacionais, que são os mais comuns atualmente. Na figura a seguir é apresentada uma visão geral do funcionamento explicado. Nota-se que dentro do SGBD os documentos são armazenados na forma de tabelas. Estas tabelas são organizadas de forma específica para a estrutura do documento XML, ou seja, o schema do banco de dados é equivalente ao schema do documento XML, assim para um schema XML diferente é necessário outro schema de banco de dados. Outro fato que pode ser notado neste tipo de abordagem é que dentro do banco de dados não há um XML visível, de forma que não é clara a diferenciação entre elementos e atributos, por exemplo. XML Nativo Nesta abordagem, os documentos XML são armazenados no banco de dados. Abaixo é apresentada uma figura que ilustra a visão geral do banco.

9 Diferentemente do que este conceito pode levar a crer, os bancos de dados não armazenam necessariamente os documentos diretamente como arquivos de extensão xml ou na forma direta de texto, eles podem fazer uso de outro tipo de abstração de dados, como o relacional. Para ilustrar um exemplo, no caso do uso de uma abstração relacional, as tabelas são definidas para o armazenamento especifico de documentos XML, assim há uma tabela para especificação de documentos, outra para elementos, outra para atributos e outra para textos. Com isso, no próprio banco é observável uma estrutura de documentos XML, ou seja o schema do banco de dados modela um documento XML e não os dados contidos nele. Os bancos de dados XML nativos visam prover um sistema robusto para manipulação e armazenamento de documentos XML, porém nem todos estes bancos funcionam de forma autônoma e trabalham com o auxilio de outros SGBDs. Na figura abaixo são apresentados os componentes que constituem um banco nativo, nela podem ser identificados o Gerenciador de Armazenamento e a Interface XML nativa, que são os principais constituintes do sistema. Existe uma definição formal dada pela iniciativa XML:DB dizendo que um banco de dados XML nativo define um modelo para um documento XML e armazena e recupera documentos baseados neste modelo, possui um documento XML como sua unidade fundamental para armazenamento (fazendo um paralelo com bancos relacionais, esta unidade seriam suas linhas) e por fim, o banco não precisa ter nenhum sistema para armazenamento de baixo nível em particular, podem ser usadas estruturas relacionais, orientadas a objetos ou alguma estrutura proprietária.

10 5.2 Principais Usos Os principais usos deste tipo de SGBDs estão ligados ao fato do emprego extensivo de documentos XML. Um dos casos mais comuns é a necessidade de publicação de dados armazenados em bancos de dados no formato XML, outro caso de uso é para o armazenamento de dados semi-estruturados de onde se tira proveito da extensibilidade do formato XML, um último exemplo, é para o caso mais óbvio onde se deseja armazenar documentos XML. A escolha entre o uso de um banco XML-habilitado ou um XML Nativo deve levar em conta principalmente, se os documentos XML são centrados em dados ou documentos. No caso de documentos voltados a dados, a escolha feita em geral são os bancos XMLhabilitados, uma vez que este tipo de documento costuma ter uma estrutura relativamente regular e poucos conteúdos misturados. Já para o caso de documentos centrados em documentos, a escolha mais comum são os bancos XML Nativos, já que ao contrário do outro tipo de documento, estes apresentam maior variabilidade na estrutura e diversos tipos de conteúdos. Estas decisões não são absolutas, nem sempre pode-se fazer uma distinção clara sobre o tipo dos documentos, sendo assim, toma-se os casos citados no parágrafo anterior como meros guias para a tomada de decisões. 5.3 Exemplos Alguns exemplos de bancos XML Nativos são: NatiX: um banco que internamente divide os documentos XML em sub-árvores de acordo com o tamanho de páginas do disco físico. exist: um banco de código aberto que pode guardar documentos tanto por um mecanismo interno quanto por um banco relacional externo. É independente de schema. Xindice: armazena um documento XML por completo, como um único registro. Tamino: possui armazenamento orientado a documentos para guardar a estrutura hierárquica do documento XML, diferentemente dos exemplos anteriores suporta o uso de um schema XML. Para o caso de banco XML-habilitados diversos SGBDs bem conhecidos no mercado podem atuar como tal, só para citar alguns exemplos tem-se os casos do MySQL, SQL Server, Access 2007, DB2, Oracle e PostgreSQL. 5.4 Vantagens Banco de dados XML Nativos apresentam três vantagens fundamentais: Escalabilidade: o fato destas ferramentas nativas possuirem uma organização interna semelhante ao do XML permite que elas sejam moldadas de forma a atender as necessidades do cliente ou servidor de forma mais fácil. Acesso a dados mais rápidos: os bancos nativos não querem um overhead para mapeamento, trocas de dados e junções entre o XML e outras estruturas (como uma tabela). Confiabilidade: entre o armazenamento e recuperação de um documento XML não há a possibilidade de ocorrência de inconsistências, no caso de um XML-habilitado ou uma solução que empregue uma conversão do XML, há o risco da estrutura se alterar entre as conversões para e a partir do formato XML.

11 5.5 Desvantagens A maior desvantagem para este tipo de banco é que: Em geral, estes sistemas são menos maduros se comparados a outros mais difundidos, como os bancos de dados relacionais. Observando outra formas de abordagens pode-se citar algumas vantagens e desvantagens de cada uma: Orientado à sistema de arquivos: é de fácil implementação e atende bem a pequenos conjuntos de XML, tem como desvantagem o fato de apresentar menor praticidade no acesso e atualização de dados. Relacional: é de fácil implementação, possui uma escalabilidade e confiabilidade relativamente boas, por outro lado, requer muitas junções devido à segmentação dos XMLs. Objeto-Relacional: também de fácil implementação e suporta tipos abstratos de dados, tem por desvantagem a grande segmentação dos documentos XML. 6. Características e Uso de 2 SGBDs Para aprofundar os estudos de banco de dados XML, serão feito estudos das características e uso de dois SGBDs que utilizam XML. Os SGBDs estudados serão o exist e o Xindice, que são dois SGBDs XML nativos. Antes de fazer uma comparação, a seguir encontra-se uma introdução sobre cada uma dessas escolhas: 6.1 exist O exist é um banco de dados de código aberto desenvolvido em java, que pode ser integrado em aplicações que utilizam XML, tais como aplicações web e até sistemas de documentação. O exist oferece armazenamento de documentos XML sem esquemas através de coleções hierárquicas. Os usuários podem recuperar qualquer parte da coleção ou todos documentos do banco de dados através do XPath. O módulo de consulta do exist tem um eficiente processamento de consultas baseadas em índice. A indexação suporta a identificação rápida das relações estruturais entre os nós das árvores que representam o documento XML.. exist oferece extensões para o padrão XPath para processar consultas fulltext, incluindo por palavras chaves, por proximidade ou expressões regulares. Para desenvolvedores são oferecidos acesso via HTTP, XL-RPC, SOAP e WebDav e aplicações Java podem utilizar a API XML:DB. 6.2 Xindice O Xindice era inicialmente o banco de dados XML chamado dbxml, que foi o primeiro produto lançado pelo grupo dbxml, mas o código fonte foi doado ao Apache Software Foundation e renomeado para Xindice.

12 Esse banco de dados armazena e indexa documentos XML compactados para reduzir o número de overheads de processamento no lado do servidor. O Xindice possui uma estrutura hierárquica onde os documentos ficam dentro de coleções. A raiz de todos os dados é uma instância no banco de dados chamada db e todas coleções abaixo da raiz começam com /db. O Xindice usa como linguagem de atualização o XML:DB XUpdate e existe uma implementação da API XML:DB para o desenvolvimento em Java. Há também uma maneira de acessar Xindice de outras linguagens de programação usando a API XML-PRC. Para a linguagem de consulta o Xindice utiliza o XPath. 6.3 Formas de uso Como foi citado ambos os SGBDs podem ser utilizados a partir da API XML:DB, além disso ambos permitem o uso da linguagem de atualização XML:DB XUpdate (no caso do exist também existe o suporte ao XQuery Extension como linguagem de atualização), a seguir são apresentados dois códigos implementados em Java, o primeiro permite a execução de queries no padrão XPath, já o segundo permite a execução de estruturas no formato da linguagem XML:DB XUpdate. Os códigos apresentam a implementação para o caso do exist, para o Xindice os códigos são análogos bastando alterar o driver e a URI passada ao DatabaseManager. import org.xmldb.api.base.*; import org.xmldb.api.modules.*; import org.xmldb.api.*; public class ExemploQuery { public static void main(string args[]) throws Exception { String driver = "org.exist.xmldb.databaseimpl"; Class cl = Class.forName(driver); Database database = (Database)cl.newInstance(); DatabaseManager.registerDatabase(database); Collection col = DatabaseManager.getCollection( "xmldb:exist://localhost:8080/ xist/xmlrpc/db/discos"); XPathQueryService service = (XPathQueryService) col.getservice("xpathqueryservice", "1.0"); service.setproperty("indent", "yes"); /* Execução de uma query XPath */ ResourceSet result = service.query("/catalogo/cd[preco < 10]"); ResourceIterator i = result.getiterator(); while(i.hasmoreresources()) { Resource r = i.nextresource(); import org.xmldb.api.base.*; import org.xmldb.api.modules.*; import org.xmldb.api.*; public class ExemploXUpdate { public static void main(string[] args) throws Exception { String driver = "org.exist.xmldb.databaseimpl"; Class c = Class.forName(driver); Database database = (Database) c.newinstance(); DatabaseManager.registerDatabase(database); Collection col = DatabaseManager.getCollection("xmldb:exist: //localhost:8080/exist/xmlrpc/db/discos"); /* Exemplo de uma requisição insert-after (outras operações podem ser usadas) */ String xupd = "<xupdate:modifications version=\"1.0\" xmlns:xupdate=\"http://www.xmldb.org/xupdate\">" + "<xupdate:insert-after select=\"/catalogo/cd[last()]\">" + "<xupdate:element name=\"teste\">insert</xupdate:element>" + "</xupdate:insert-before>" + "</xupdate:modifications>"; XUpdateQueryService service = (XUpdateQueryService) col.getservice("xupdatequeryservice", "1.0"); service.update(xupd); } } System.out.println((String)r.getContent ()); } } }

13 A execução do primeiro código retorna apenas um elemento, no caso CD, que por sua vez contém como filho o elemento PRECO de valor Já na execução do segundo código um novo elemento filho de CATALOGO é incluido após o último filho CD. <CATALOGO> <CD> <TITULO>Empire Burlesque</TITULO> <ARTISTA>Bob Dylan</ARTISTA> <PRECO>10.90</PRECO> <ANO>1985</ANO> </CD> <CD> <TITULO>Hide your heart</titulo> <ARTISTA>Bonnie Tyler</ARTISTA> <PRECO>9.90</PRECO> <ANO>1988</ANO> </CD> </CATALOGO> <CD> <TITULO>Hide your heart</titulo> <ARTISTA>Bonnie Tyler</ARTISTA> <PRECO>9.90</PRECO> <ANO>1988</ANO> </CD> <CATALOGO> <CD> <TITULO>Empire Burlesque</TITULO> <ARTISTA>Bob Dylan</ARTISTA> <PRECO>10.90</PRECO> <ANO>1985</ANO> </CD> <CD> <TITULO>Hide your heart</titulo> <ARTISTA>Bonnie Tyler</ARTISTA> <PRECO>9.90</PRECO> <ANO>1988</ANO> </CD> <TESTE>INSERT</TESTE> </CATALOGO> XML original Resultado da consulta XML após insert 7. Analise Comparativa Alguns aspectos e características de cada SGBD foram pesquisados e encontrados algumas diferenças entre eles: O exist possui maior capacidade de armazenamento do que o Xindice. Ele, teoricamente, não tem um limite de tamanho máximo de um documento XML para inserção, embora algumas características do arquivo e do sistema operacional possam influenciar e causar erros, tornando bastante instável a inserção de documentos grandes. Então o exist suporta inserção de arquivos grandes, enquanto que no Xindice existe um limite baixo em torno de 2,5Mb. O exist suporta um maior número de níveis hierárquicos que o Xindice. No teste pesquisado, onde apenas haviam dados de criação de n níveis e mais nenhum outro tipo de dados, o exist suportou aproximadamente 8000 níveis hierárquicos, enquanto que o Xindice suportou apenas aproximadamente 700. E o exist suportou aproximadamente 2milhões de filhos do nó raiz, enquanto que o Xindice suportou apenas algo em torno de 90mil. O exist suporta validação de documentos tanto implicitamente quanto explicitamente, enquanto que no Xindice não é possível fazer essa validação. Segundo o guia de usuário do Xindice essa funcionalidade foi omitida para proporcionar maior flexibilidade de armazenamento de dados. O exist utiliza XQuery (padrão da W3C) como linguagem de consulta dos dados. O XQuery utiliza expressões de caminho XPath para referir-se a partes do documento e, através do XPath, é possível acessar a árvore toda do documento através da notação de caminhos, além de definir predicados e eixos para filtrar os dados desejados. Já o Xindice utiliza o XPath como linguagem de consulta de dados. Nesse caso a consulta pode ser feita de duas maneiras: através da API XML- RPC ou por linha de comando. Como linguagem de atualização, no caso da pesquisa desses dados para comparação, o exist usou o XQuery Extension, o qual permite inserir dentro de suas expressões comandos de atualização. Essa extensão permite inserir, atualizar, excluir e renomear nós de documentos XML. Nesse caso, o Xindice usou a linguagem de atualização XUpdate, a qual é expressada em formato XML, portanto deve estar em um arquivo separado e deve ser referenciado na linha de comando ao ser utilizado. Na questão de capacidades, o XUpdate é semelhante ao XQuery Extension.

14 8. Conclusão O estudo de diferentes tipos de paradigmas leva a constatação de que apesar do amplo uso de bancos de dados relacionais em diversos projetos correntes, existem outras alternativas capazes de se adaptar melhor ao requisito da aplicação, como os bancos de dados orientados a objetos ou os bancos XML nativos. Há casos também onde alternativas são capazes de suprir necessidades não cobertas pelos bancos relacionais tradicionais, como o caso dos SGBDs distribuidos. Além dos tipos de banco de dados, também é importante fazer um estudo e testes para mesmos tipos de banco de dados. Ao comparar dois SGBDs de mesmo tipo (exist e Xindice) verifica-se uma grande diferença em algumas características, tornando cada um dos SGBDs adequados a aplicações diferentes. O exist, por exemplo, é mais adequado que o Xindice para o desenvolvimento de uma camada para gerenciamento de atualizações de documentos e esquemas XML.

15 9. Bibliografia XML Data Stores: Emerging Practices (2005). Último acesso: 31/07/2010. Link: XML for DB2 Information Integration. Último acesso: 31/07/2010. Link: XML and Databases. Último acesso: 31/07/2010. Link: XML Databases Products: XML-Enabled Databases. Último acesso: 01/08/2010. Link: XML Databases Products: XML Native. Último acesso: 01/08/2010. Link: Apache Cassandra. Último acesso: 31/07/2010 Link: Banco de Dados Distribuídos - Centro de Insino Superior Foz do Iguaçu. Último acesso: 31/07/2010 Link: Banco de Dados Distribuídos - Anibal Pinheiro. Último acesso: 31/07/2010 Link: Último acesso: 2/08/2010 Último acesso: 2/08/2010 Último acesso: 2/08/2010 Último acesso: 2/08/2010 Último acesso: 2/08/2010 Último acesso: 2/08/2010 Wikipédia - Database - Link: Último acesso: 2/08/2010 Wikipédia - SQL - Link: Último acesso: 2/08/2010 Wikipédia - Distributed Database: Link: Último acesso: 2/08/2010 Xindice: User Guide: Link Último acesso: 2/08/2010 exist: Último acesso: 2/08/2010

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

Leia mais

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA XML e Banco de Dados DCC/IM/UFBA Banco de Dados na Web Armazenamento de dados na Web HTML muito utilizada para formatar e estruturar documentos na Web Não é adequada para especificar dados estruturados

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar

Leia mais

Disciplina: Tecnologias de Banco de Dados para SI s

Disciplina: Tecnologias de Banco de Dados para SI s Curso de Gestão em SI Disciplina: Tecnologias de Banco de Dados para SI s Rodrigo da Silva Gomes (Extraído do material do prof. Ronaldo Melo - UFSC) Banco de Dados (BD) BD fazem parte do nosso dia-a-dia!

Leia mais

Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados.

Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados. Histórico Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados. Sistemas Integrados: racionalização de processos, manutenção dos

Leia mais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Conceitos e Arquitetura Vantagens das Arquiteturas C/S (em relação

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

Introdução Banco de Dados

Introdução Banco de Dados Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em

Leia mais

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 REVISÃO BANCO DE DADOS I O que é banco de dados? Ou seja afinal o que é um SGBD? REVISÃO BD I REVISÃO DE BD I Um Sistema de Gerenciamento de

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Professora conteudista: Cida Atum Sumário Administração de Banco de Dados Unidade I 1 INTRODUÇÃO A BANCO DE DADOS...1 1.1 Histórico...1 1.2 Definições...2 1.3 Importância

Leia mais

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011 Banco de Dados Aula 1 - Prof. Bruno Moreno 16/08/2011 Roteiro Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza autodescritiva

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

Arquitetura de SGBD. Prof. Antonio Almeida de Barros Junior

Arquitetura de SGBD. Prof. Antonio Almeida de Barros Junior Arquitetura de SGBD Prof. Antonio Almeida de Barros Junior Agenda Caracterização de SGBDs SGBDs Centralizados SGBDs Cliente-Servidor SGBDs Distribuídos Homogêneos Multi-SGBDs Heterogêneos SGBDs Paralelos

Leia mais

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações Tópicos Conceitos Básicos Bancos de Dados Sistemas de Bancos de Dados Sistemas de Gerenciamento de Bancos de Dados Abstração

Leia mais

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados Sistema de Bancos de Dados Conceitos Gerais Sistema Gerenciador de Bancos de Dados # Definições # Motivação # Arquitetura Típica # Vantagens # Desvantagens # Evolução # Classes de Usuários 1 Nível 1 Dados

Leia mais

Introdução. Gerenciamento de Dados e Informação. Principais Tipos de SI. Papel de SI. Principais Tipos de SI. Principais Tipos de SI.

Introdução. Gerenciamento de Dados e Informação. Principais Tipos de SI. Papel de SI. Principais Tipos de SI. Principais Tipos de SI. Introdução Gerenciamento de Dados e Informação Introdução Sistema de Informação (SI) Coleção de atividades que regulam o compartilhamento e a distribuição de informações e o armazenamento de dados relevantes

Leia mais

Sistemas Gerenciadores de Bancos de Dados

Sistemas Gerenciadores de Bancos de Dados Sistemas Gerenciadores de Bancos de Dados Fernando Castor A partir de slides elaborados por Fernando Fonseca & Robson Fidalgo 1 Sistemas de Arquivos Sistemas de arquivos Principal característica é a replicação

Leia mais

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction Bases de Dados II 6638: BSc in Information Systems and Technologies Cap. 1 Module Introduction Objectivos O propósito e a origem da arquitectura de base de dados a três níveis. O conteúdo dos níveis externo,

Leia mais

Gonçalo Amador Ricardo Alexandre. Bases de Dados Distribuídas

Gonçalo Amador Ricardo Alexandre. Bases de Dados Distribuídas Sistemas Distribuidos e Tolerância a Falhas Gonçalo Amador Ricardo Alexandre Departamento de Informática Universidade da Beira Interior Bases de Dados Distribuídas 1 Modelos de Bases de Dados 2 Conceitos

Leia mais

Banco de Dados Capítulo 1: Introdução. Especialização em Informática DEINF/UFMA Cláudio Baptista

Banco de Dados Capítulo 1: Introdução. Especialização em Informática DEINF/UFMA Cláudio Baptista Banco de Dados Capítulo 1: Introdução Especialização em Informática DEINF/UFMA Cláudio Baptista O que é um Banco de Dados (BD)? É uma coleção de dados relacionados e armazenados em algum dispositivo. Propriedades

Leia mais

BANCO DE DADOS. Introdução a Banco de Dados. Conceitos BásicosB. Engenharia da Computação UNIVASF. Aula 1. Breve Histórico

BANCO DE DADOS. Introdução a Banco de Dados. Conceitos BásicosB. Engenharia da Computação UNIVASF. Aula 1. Breve Histórico Banco de Dados // 1 Banco de Dados // 2 Conceitos BásicosB Engenharia da Computação UNIVASF BANCO DE DADOS Aula 1 Introdução a Banco de Dados Campo representação informatizada de um dado real / menor unidade

Leia mais

INTRODUÇÃO E CONCEITOS BÁSICOS. Prof. Ronaldo R. Goldschmidt

INTRODUÇÃO E CONCEITOS BÁSICOS. Prof. Ronaldo R. Goldschmidt INTRODUÇÃO E CONCEITOS BÁSICOS Prof. Ronaldo R. Goldschmidt Hierarquia Dado - Informação - Conhecimento: Dados são fatos com significado implícito. Podem ser armazenados. Dados Processamento Informação

Leia mais

Banco de Dados I. Introdução Conceitos

Banco de Dados I. Introdução Conceitos Banco de Dados I Introdução Conceitos Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Conceitos Fundamentais de Banco de Dados; Características

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição

Eduardo Bezerra. Editora Campus/Elsevier. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier 1 Capítulo 12 Mapeamento de objetos para o modelo relacional Na época, Nixon estava normalizando as

Leia mais

Conceitos básicos de Banco de Dados

Conceitos básicos de Banco de Dados Modelagem de Banco de Dados Conceitos básicos de Banco de Dados Professor: Anderson D. Moura Março, 2009 Banco de Dados Bancos de dados, (ou bases de dados), são conjuntos de dados com uma estrutura regular

Leia mais

Banco de Dados I. Introdução. Fabricio Breve

Banco de Dados I. Introdução. Fabricio Breve Banco de Dados I Introdução Fabricio Breve Introdução SGBD (Sistema Gerenciador de Banco de Dados): coleção de dados interrelacionados e um conjunto de programas para acessar esses dados Coleção de dados

Leia mais

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Conceitos Gerais Graça Bressan Graça Bressan/LARC 2000 1 Forças de marketing que conduzem à arquitetura cliente/servidor "Cliente/Servidor é um movimento irresistível que está reformulando

Leia mais

Sistemas Gerenciadores de Bancos de Dados

Sistemas Gerenciadores de Bancos de Dados Sistemas Gerenciadores de Bancos de Dados Orivaldo V. Santana Jr A partir de slides elaborados por Ivan G. Costa Filho Fernando Fonseca & Robson Fidalgo 1 Sistemas de Arquivos Sistemas de arquivos Principal

Leia mais

20/05/2013. Sistemas de Arquivos Sistemas de arquivos. Sistemas de Gerenciamento de Banco de Dados (SGBD) Banco de Dados. Estrutura de um BD SGBD

20/05/2013. Sistemas de Arquivos Sistemas de arquivos. Sistemas de Gerenciamento de Banco de Dados (SGBD) Banco de Dados. Estrutura de um BD SGBD Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Robson Fidalgo Sistemas de Arquivos Sistemas de arquivos Principal característica é a replicação e isolamento de dados (ilhas de informações)

Leia mais

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos Introdução Banco de Dados Por que usar BD? Vitor Valerio de Souza Campos Adaptado de Vania Bogorny 4 Por que estudar BD? Exemplo de um BD Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária

Leia mais

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

Leia mais

CONCEITOS BÁSICOS. 1. Conceitos básicos de BD, SBD e SGBD BANCO DE DADOS I

CONCEITOS BÁSICOS. 1. Conceitos básicos de BD, SBD e SGBD BANCO DE DADOS I CONCEITOS BÁSICOS 1. Conceitos básicos de BD, SBD e SGBD A importância da informação para a tomada de decisões nas organizações tem impulsionado o desenvolvimento dos sistemas de processamento de informações.

Leia mais

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Juarez Bachmann Orientador: Alexander Roberto Valdameri Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

Persistência. 2004 Fernando Lozano, http://www.lozano.eti.br Persistência Objeto-Relacional com Java Pag. 1

Persistência. 2004 Fernando Lozano, http://www.lozano.eti.br Persistência Objeto-Relacional com Java Pag. 1 Persistência Objeto-Relacional com Java Fernando Lozano http://www.lozano.eti.br Consultor Independente Prof. Faculdades UniABEU Prof. SENAC Editor Adjunto da Revista Java Magazine 2004 Fernando Lozano,

Leia mais

Banco de Dados. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com

Banco de Dados. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Banco de Dados Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Roteiro Mapeamento de objetos para modelo relacional Estratégias de persistência Persistência JDBC Mapeando Objetos para o Modelo Relacional

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 04 SGBD Sistemas Gerenciadores de Bancos de Dados Prof. MSc. Edilberto Silva edilms@yahoo.com Conceitos Básicos DADOS: são fatos em sua forma primária. Ex: nome do funcionário,

Leia mais

Introdução. Unidade 1. Engenharia de Computação / Engenharia de Produção Banco de Dados Prof. Maria das Graças da Silva Teixeira

Introdução. Unidade 1. Engenharia de Computação / Engenharia de Produção Banco de Dados Prof. Maria das Graças da Silva Teixeira Unidade 1 Introdução Engenharia de Computação / Engenharia de Produção Banco de Dados Prof. Maria das Graças da Silva Teixeira Material base: Banco de Dados, 2009.2, prof. Otacílio José Pereira Contexto

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 10 Persistência de Dados

Leia mais

Documento apresentado para discussão. II Encontro Nacional de Produtores e Usuários de Informações Sociais, Econômicas e Territoriais

Documento apresentado para discussão. II Encontro Nacional de Produtores e Usuários de Informações Sociais, Econômicas e Territoriais Documento apresentado para discussão II Encontro Nacional de Produtores e Usuários de Informações Sociais, Econômicas e Territoriais Rio de Janeiro, 21 a 25 de agosto de 2006 PID - Projeto de Interoperabilidade

Leia mais

Classes de Entidades Persistentes JDB

Classes de Entidades Persistentes JDB Classes de Entidades Persistentes JDB Brasil, Natal-RN, 07 de setembro de 2011 Welbson Siqueira Costa www.jdbframework.com Nota de Retificação: em 11/12/2011 a Listagem 3 desse tutorial sofreu uma pequena

Leia mais

Integração de Dados na Web. Ana Carolina Salgado Bernadette Lóscio

Integração de Dados na Web. Ana Carolina Salgado Bernadette Lóscio Integração de Dados na Web Ana Carolina Salgado Bernadette Lóscio Conteúdo Introdução Integração de Informações Consultando a Web Introdução Motivação Web e BD Arquitetura na Web Introdução Evolução da

Leia mais

Introdução e motivação SGBD XML Nativo Consultas em SGBDs XML Prática. Bancos de dados XML. Conceitos e linguagens de consulta

Introdução e motivação SGBD XML Nativo Consultas em SGBDs XML Prática. Bancos de dados XML. Conceitos e linguagens de consulta Bancos de dados XML Conceitos e linguagens de consulta Sidney Roberto de Sousa MC536 - Bancos de Dados: Teoria e prática Material base: W3Schools XPath and XQuery Tutorial http://www.w3schools.com/xpath/

Leia mais

Banco de Dados. 13 - Arquiteturas para SGBDs

Banco de Dados. 13 - Arquiteturas para SGBDs Banco de Dados 13 - Arquiteturas para SGBDs 1 Tópicos Caracterização de SGBDs SGBDs Centralizados SGBDs Cliente-Servidor SGBDs Distribuídos Homogêneos Multi-SGBDs Heterogêneos SGBDs Paralelos SGBDs e a

Leia mais

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS Bancos de Dados Conceitos Fundamentais Tópicos Conceitos Básicos Bancos de Dados Sistemas de Bancos de Dados Sistemas de Gerenciamento de Bancos

Leia mais

HIBERNATE EM APLICAÇÃO JAVA WEB

HIBERNATE EM APLICAÇÃO JAVA WEB HIBERNATE EM APLICAÇÃO JAVA WEB Raul Victtor Barbosa Claudino¹, Ricardo Ribeiro Rufino¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil victtor.claudino@gmail.com, ricardo@unipar.br Resumo: Este

Leia mais

MOR: Uma Ferramenta para o Mapeamento Objeto-Relacional em Java

MOR: Uma Ferramenta para o Mapeamento Objeto-Relacional em Java MOR: Uma Ferramenta para o Mapeamento Objeto-Relacional em Java Leonardo Gresta Paulino Murta Gustavo Olanda Veronese Cláudia Maria Lima Werner {murta, veronese, werner}@cos.ufrj.br COPPE/UFRJ Programa

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Banco de Dados I Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Dados

Leia mais

08/04/2013. Agenda. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ

08/04/2013. Agenda. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ Agenda Caché Server Pages Uma Aplicação Banco de Dados Fernando Fonseca Ana Carolina Salgado Mestrado Profissional 2 SGBD de alto desempenho e escalabilidade Servidor de dados multidimensional Arquitetura

Leia mais

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI Fundamentos de Banco de Dados Aula 01 Introdução aos Sistemas de Bancos de Dados Introdução aos Sistemas de BD Objetivo Apresentar

Leia mais

Aplicabilidade: visão geral

Aplicabilidade: visão geral CURSO BÁSICO SAXES 2 Aplicabilidade: visão geral BI Comércio Indústria nf-e Serviços Software house Enterprise Business Bus Banco financeiro Instituição Sindicato ERP html Casos 3 6 Customização: importação

Leia mais

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados SISTEMA DE BANCO DE DADOS Banco e Modelagem de dados Sumário Conceitos/Autores chave... 3 1. Introdução... 4 2. Arquiteturas de um Sistema Gerenciador... 5 3. Componentes de um Sistema... 8 4. Vantagens

Leia mais

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD Introdução 1. CONCEITOS BÁSICOS DE BD, SBD E SGBD A importância da informação para a tomada de decisões nas organizações tem impulsionado o desenvolvimento dos sistemas de processamento de informações.

Leia mais

Uma reflexão sobre Banco de Dados Orientados a Objetos

Uma reflexão sobre Banco de Dados Orientados a Objetos Uma reflexão sobre Banco de Dados Orientados a Objetos Clodis Boscarioli 1, Anderson Bezerra 2, Marcos de Benedicto 2, Gilliard Delmiro 2 1 UNIOESTE - Universidade Estadual do Oeste do Paraná 2 FASP -

Leia mais

Bancos de Dados Distribuídos. Filipe Gomes Pinto Guilherme Marquesini Reis Ribeiro Matheus Leônidas Silva Pedro Duarte

Bancos de Dados Distribuídos. Filipe Gomes Pinto Guilherme Marquesini Reis Ribeiro Matheus Leônidas Silva Pedro Duarte Bancos de Dados Distribuídos Filipe Gomes Pinto Guilherme Marquesini Reis Ribeiro Matheus Leônidas Silva Pedro Duarte Conceitos Sistema distribuído. Banco de dados distribuído (BDD). Coleção de multiplos

Leia mais

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos Introdução a Sistemas Distribuídos Definição: "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema de software distribuído." "Um sistema distribuído

Leia mais

Introdução a Banco de Dados

Introdução a Banco de Dados Introdução a Banco de Dados O modelo relacional Marta Mattoso Sumário Introdução Motivação Serviços de um SGBD O Modelo Relacional As aplicações não convencionais O Modelo Orientado a Objetos Considerações

Leia mais

Bancos de Dados Orientados a Objetos e Objeto/Relacional

Bancos de Dados Orientados a Objetos e Objeto/Relacional UNIOESTE Universidade Estadual do Oeste do Paraná CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Colegiado de Informática Curso de Bacharelado em Informática Bancos de Dados Orientados a Objetos e Objeto/Relacional

Leia mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

Sistemas de Bases de Dados

Sistemas de Bases de Dados Sistemas de Bases de Dados Carlos Viegas Damásio José Alferes e Carlos Viegas Damásio Sistemas de Bases de Dados 2014/15 Objectivos - Em Bases de Dados (2º ano) pretendia-se: Que os estudantes fossem capazes

Leia mais

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE] 1/6 Banco de Dados O que é um Banco de Dados? Uma coleção de dados relacionados [ELMASRI/NAVATHE] Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica [HEUSER] Um conjunto

Leia mais

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM GBC043 Sistemas de Banco de Dados Introdução Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM Página 2 Definição BD Def. Banco de Dados é uma coleção de itens de dados

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Histórico A orientação a objetos (OO) foi concebida na década de 70. Origem na linguagem SIMULA-67 (década

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Introdução ao Paradigma OO

Leia mais

Metas de um Sistema Distribuído

Metas de um Sistema Distribuído Metas de um Sistema Distribuído Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs 1 Bancos de Dados - Introdução Melissa Lemos melissa@inf.puc-rio.br Tópicos Evolução dos Sistemas de Informação Esquemas Modelos Conceitual Lógico Características de SGBDs 2 Evolução tempo Programas e

Leia mais

Pollyanna Gonçalves. Seminário da disciplina Banco de Dados II

Pollyanna Gonçalves. Seminário da disciplina Banco de Dados II Pollyanna Gonçalves Seminário da disciplina Banco de Dados II Web 2.0 vem gerando grande volume de dados Conteúdo gerado por redes sociais, sensores inteligentes, tecnologias de colaboração, etc. Novas

Leia mais

Banco de Dados Distribuídos

Banco de Dados Distribuídos Banco de Dados Distribuídos Emmanuel Filho¹, Maria Cristina C. Rodrigues¹ Nayguron Henrique de S. Barreto¹, Wilton de Serpa Monteiro¹ ¹ Tecnologia em Análise e Desenvolvimento de Sistemas do Instituto

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais

BANCO DE DADOS II. (Projeto Final)

BANCO DE DADOS II. (Projeto Final) BANCO DE DADOS II (Projeto Final) Professor Responsável: Clodis Boscarioli Série: 5ª Ano Letivo: 2008 Data de Proposição: 10/03/2008 Da Atividade: Este projeto consiste da investigação um tema atual na

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente

Leia mais

Arquitetura de Banco de Dados

Arquitetura de Banco de Dados Arquitetura de Banco de Dados Daniela Barreiro Claro MAT A60 DCC/IM/UFBA Arquitetura de Banco de dados Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP Objetivos do Study Group

Leia mais

3 Serviços na Web (Web services)

3 Serviços na Web (Web services) 3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem

Leia mais

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - MÓDULO 3 - MODELAGEM DE SISTEMAS ORIENTADA A OBJETOS COM UML 1. INTRODUÇÃO A partir de 1980, diversos métodos de desenvolvimento de sistemas surgiram para apoiar o paradigma orientado a objetos com uma

Leia mais

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini Banco de Dados Conceitos e Arquitetura de Sistemas de Banco de Dados Profa. Flávia Cristina Bernardini Relembrando... Vantagens da Utilização de SGBD Redundância controlada Consistência dos dados armazenados

Leia mais

INF220 - Banco de Dados I

INF220 - Banco de Dados I Banco de Dados - Introdução Bibliografia INF220 - Banco de Dados I Prof. Jugurta Lisboa Filho Departamento de Informática - UFV Notas de Aula (jugurta@dpi.ufv.br) ELMASRI, R; NAVATHE, S. Fundamentals of

Leia mais

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO UTILIZANDO O HIBERNATE Rafael Laurino GUERRA, Dra. Luciana Aparecida Martinez ZAINA Faculdade de Tecnologia de Indaiatuba FATEC-ID 1 RESUMO Este artigo apresenta

Leia mais

MC302A Modelagem de Sistemas com UML. Prof. Fernando Vanini vanini@ic.unicamp.br

MC302A Modelagem de Sistemas com UML. Prof. Fernando Vanini vanini@ic.unicamp.br MC302A Modelagem de Sistemas com UML Prof. Fernando Vanini vanini@ic.unicamp.br Modelamento de Sistemas e Orientação a Objetos O paradigma de Orientação a Objetos oferece um conjunto de características

Leia mais

Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL

Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL Minicurso: Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL Geomar A. Schreiner Ronaldo S. Mello Departamento de Informática e Estatística (INE) Programa de Pós-Graduação em

Leia mais

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme

Leia mais

Banco de Dados Distribuídos

Banco de Dados Distribuídos A imagem não pode ser exibida. Talvez o computador não tenha memória suficiente para abrir a imagem ou talvez ela esteja corrompida. Reinicie o computador e abra o arquivo novamente. Se ainda assim aparecer

Leia mais

Sistemas de Banco de Dados

Sistemas de Banco de Dados Sistemas de Banco de Dados Everson Santos Araujo everson@por.com.br Conceitos Dado - Um fato que pode ser armazenado Banco de dados (BD) - Coleção de dados interrelacionados Sistema Gerenciador de Banco

Leia mais

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com. Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel

Leia mais

Ferramentas Web para controle e supervisão: o que está por vir

Ferramentas Web para controle e supervisão: o que está por vir Artigos Técnicos Ferramentas Web para controle e supervisão: o que está por vir Marcelo Salvador, Diretor de Negócios da Elipse Software Ltda. Já faz algum tempo que ouvimos falar do controle e supervisão

Leia mais

Revisão de Banco de Dados

Revisão de Banco de Dados Revisão de Banco de Dados Fabiano Baldo 1 Sistema de Processamento de Arquivos Antes da concepção dos BDs o registro das informações eram feitos através de arquivos. Desvantagens: Redundância e Inconsistência

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 2 Computação em Nuvem Desafios e Oportunidades A Computação em Nuvem

Leia mais

Algumas propriedades dos objetos:

Algumas propriedades dos objetos: Orientação a Objetos Vivemos num mundo de objetos. Esses objetos existem na natureza, nas entidades feitas pelo homem, nos negócios e nos produtos que usamos. Eles podem ser categorizados, descritos, organizados,

Leia mais

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase. ? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.? Desde de 1994, a Microsoft lança versões do SQL SERVER

Leia mais

SOA Introdução. SOA Visão Departamental das Organizações

SOA Introdução. SOA Visão Departamental das Organizações 1 Introdução A Organização é a forma pela qual nós coordenamos nossos recursos de todos os tipos para realizar o trabalho que nos propusemos a fazer. A estrutura de nossas organizações manteve-se basicamente

Leia mais

BANCO DE DADOS AULA - 01. Josino Rodrigues (josinon@gmail.com) Weyler N M Lopes Especialização em Banco de Dados Página 1

BANCO DE DADOS AULA - 01. Josino Rodrigues (josinon@gmail.com) Weyler N M Lopes Especialização em Banco de Dados Página 1 BANCO DE DADOS AULA - 01 Josino Rodrigues (josinon@gmail.com) Weyler N M Lopes Especialização em Banco de Dados Página 1 Introdução à Sistemas de Informação Sociedade agrícola Sociedade industrial Obra-prima

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Centro Universitário de Volta Redonda - UniFOA Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro

Leia mais

Características Básicas de Sistemas Distribuídos

Características Básicas de Sistemas Distribuídos Motivação Crescente dependência dos usuários aos sistemas: necessidade de partilhar dados e recursos entre utilizadores; porque os recursos estão naturalmente em máquinas diferentes. Demanda computacional

Leia mais

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código Igor Steinmacher 1, Éderson Fernando Amorim 1, Flávio Luiz Schiavoni 1, Elisa Hatsue Moriya Huzita 1 1 Departamento de Informática

Leia mais

CENTRO UNIVERSITÁRIO UNA DIRETORIA DE EDUCAÇÃO CONTINUADA, PESQUISA E EXTENSÃO CURSO DE PÓS GRADUAÇÃO ENGENHARIA DE SOFTWARE

CENTRO UNIVERSITÁRIO UNA DIRETORIA DE EDUCAÇÃO CONTINUADA, PESQUISA E EXTENSÃO CURSO DE PÓS GRADUAÇÃO ENGENHARIA DE SOFTWARE CENTRO UNIVERSITÁRIO UNA DIRETORIA DE EDUCAÇÃO CONTINUADA, PESQUISA E EXTENSÃO CURSO DE PÓS GRADUAÇÃO ENGENHARIA DE SOFTWARE NoSQL Banco de Dados Não Relacional ALUNO: Heitor Oliveira Silva PROFESSOR ORIENTADOR:

Leia mais

Bases de Dados. O que é uma Base de Dados? Pós-Grduação em SIG

Bases de Dados. O que é uma Base de Dados? Pós-Grduação em SIG Bases de Dados O que é uma Base de Dados? Dados Pode-se começar por tentar dar uma definição do que são Dados. Os dados são factos em bruto, que não são necessáriamente relevantes para qualquer coisa que

Leia mais