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=\" + "<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/ Último acesso: 2/08/ Último acesso: 2/08/ Último acesso: 2/08/ Último acesso: 2/08/ Ú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

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

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

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

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

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

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS Quando falamos em arquitetura, normalmente utilizamos esse termo para referenciar a forma como os aplicativos computacionais são estruturados e os hardwares

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

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

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

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

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

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

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

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

Leia mais

LINGUAGEM DE BANCO DE DADOS

LINGUAGEM DE BANCO DE DADOS LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados

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

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura

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 10 Persistência de Dados

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

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 Aspectos Gerais de Banco de Dados

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados 1. Conceitos Básicos No contexto de sistemas de banco de dados as palavras dado e informação possuem o mesmo significado, representando uma

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos Programação Estruturada e Orientada a Objetos Fundamentos Orientação a Objetos 2013 O que veremos hoje? Introdução aos fundamentos de Orientação a Objetos Transparências baseadas no material do Prof. Jailton

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

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

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

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

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

Disciplina de Banco de Dados Introdução

Disciplina de Banco de Dados Introdução Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.

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

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

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

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL SQL APOSTILA INTRODUÇÃO Uma linguagem de consulta é a linguagem por meio da qual os usuários obtêm informações do banco de dados. Essas linguagens são, tipicamente, de nível mais alto que as linguagens

Leia mais

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Luis Gustavo Zandarim Soares 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paraná PR Brasil luisgustavo@live.co.uk,

Leia mais

2 Engenharia de Software

2 Engenharia de Software 20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

ADMINISTRAÇÃO DOS RECURSOS DE DADOS Capítulo 7 ADMINISTRAÇÃO DOS RECURSOS DE DADOS 7.1 2003 by Prentice Hall OBJETIVOS Por que as empresas sentem dificuldades para descobrir que tipo de informação precisam ter em seus sistemas de informação?

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

Categorias de Padrões

Categorias de Padrões Categorias de Padrões Padrão Arquitetural ou Estilo Arquitetural Padrão de Design (Design Patterns) Idiomas Categorias de Padrões ESTILOS ARQUITETURAIS PADRÕES DE DESIGN IDIOMAS Padrões de Design Os subsistemas

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

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

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 7 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Aprender sobre a modelagem lógica dos dados. Conhecer os

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

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Perola André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Prevayler é a implementação em Java do conceito de Prevalência. É um framework que prega uma JVM invulnerável

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

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1. Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever

Leia mais

Introdução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br

Introdução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br Introdução a Banco de Dados Aula 03 Prof. Silvestri www.eduardosilvestri.com.br Arquiteturas de Banco de Dados Arquiteturas de BD - Introdução Atualmente, devem-se considerar alguns aspectos relevantes

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

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR

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

Universidade da Beira Interior

Universidade da Beira Interior Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação

Leia mais

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é

Leia mais

Módulo 4: Gerenciamento de Dados

Módulo 4: Gerenciamento de Dados Módulo 4: Gerenciamento de Dados 1 1. CONCEITOS Os dados são um recurso organizacional decisivo que precisa ser administrado como outros importantes ativos das empresas. A maioria das organizações não

Leia mais

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada. Conceitos básicos Angélica Toffano Seidel Calazans E-mail: angelica_toffano@yahoo.com.br Conceitos introdutórios de Modelagem de dados Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

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

Orientação à Objetos. Aécio Costa

Orientação à Objetos. Aécio Costa Aécio Costa O paradigma da orientação à objetos Paradigma? Um paradigma é uma forma de abordar um problema. No contexto da modelagem de um sistema de software, um paradigma tem a ver com a forma pela qual

Leia mais

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 Eduardo Laguna Rubai, Tiago Piperno Bonetti Universidade Paranaense (Unipar) Paranavaí PR- Brasil eduardorubay@gmail.com, bonetti@unipar.br Resumo.

Leia mais

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)? Roteiro BCC321 - Banco de Dados I Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Conceitos Básicos Banco

Leia mais

Banco de Dados, Integração e Qualidade de Dados. Ceça Moraes cecafac@gmail.com

Banco de Dados, Integração e Qualidade de Dados. Ceça Moraes cecafac@gmail.com Banco de Dados, Integração e Qualidade de Dados Ceça Moraes cecafac@gmail.com Sobre a professora CeçaMoraes Doutora em Computação (UFPE) Áreas de atuação Desenvolvimento de Software e Banco de Dados Experiência

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

UML Aspectos de projetos em Diagramas de classes

UML Aspectos de projetos em Diagramas de classes UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

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

Objetivos Específico

Objetivos Específico Banco de Dados Ementa (DBA) Conceitos Gerais sobre Banco de Dados Instalação e configuração da Ferramenta de Banco de Dados. Elaboração de projeto de Banco de Dados. Implementação do projeto de Banco de

Leia mais

Módulo 4. Construindo uma solução OLAP

Módulo 4. Construindo uma solução OLAP Módulo 4. Construindo uma solução OLAP Objetivos Diferenciar as diversas formas de armazenamento Compreender o que é e como definir a porcentagem de agregação Conhecer a possibilidade da utilização de

Leia mais

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes

Leia mais

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor

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

Processos Técnicos - Aulas 4 e 5

Processos Técnicos - Aulas 4 e 5 Processos Técnicos - Aulas 4 e 5 Trabalho / PEM Tema: Frameworks Públicos Grupo: equipe do TCC Entrega: versão digital, 1ª semana de Abril (de 31/03 a 04/04), no e-mail do professor (rodrigues.yuri@yahoo.com.br)

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Introdução Projeto de Arquitetura (Cap 11 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Até agora, estudamos: Os

Leia mais

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I Prof. MSc. Hugo Souza Como já vimos, os sistemas distribuídos são apresentados considerando um planejamento bem mais complexo relacionado aos

Leia mais

3.1 Definições Uma classe é a descrição de um tipo de objeto.

3.1 Definições Uma classe é a descrição de um tipo de objeto. Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

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 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

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

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

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa 10.1.4217

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa 10.1.4217 Estruturas de Armazenamento e Indexação Rafael Lage Moreira Barbosa 10.1.4217 Estruturas de Armazenamento Banco de Dados são armazenados fisicamente como arquivos de registro, que em geral ficam em discos

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec SQL Curso Prático Celso Henrique Poderoso de Oliveira Novatec 1 Introdução Desde o início da utilização dos computadores, sabemos que um sistema é feito para aceitar entrada de dados, realizar processamentos

Leia mais

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes: SGBD Características do Emprego de Bancos de Dados As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes: Natureza autodescritiva

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

Introdução à Banco de Dados. Definição

Introdução à Banco de Dados. Definição Universidade Federal da Bahia Departamento de Ciência da Computação (DCC) Disciplina: Banco de Dados Profª. Daniela Barreiro Claro Introdução à Banco de Dados Definição Um banco de dados é uma coleção

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

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

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organizaçã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

ENGENHARIA DE SOFTWARE DESENVOLVIMENTO EM CAMADAS

ENGENHARIA DE SOFTWARE DESENVOLVIMENTO EM CAMADAS ENGENHARIA DE SOFTWARE DESENVOLVIMENTO EM CAMADAS Uma estrutura para um projeto arquitetural de software pode ser elaborada usando camadas e partições. Uma camada é um subsistema que adiciona valor a subsistemas

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão DCC / ICEx / UFMG Definição de Padrões Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para problemas recorrentes

Leia mais