ESTADO DA ARTE EM ARMAZENAMENTO DE DADOS XML EM BANCO DE DADOS

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

Download "ESTADO DA ARTE EM ARMAZENAMENTO DE DADOS XML EM BANCO DE DADOS"

Transcrição

1 WELLINGTON SILVA DUARTE RA º SEMESTRE ESTADO DA ARTE EM ARMAZENAMENTO DE DADOS XML EM BANCO DE DADOS Jaguariúna 2006

2 WELLINGTON SILVA DUARTE RA º SEMESTRE ESTADO DA ARTE EM ARMAZENAMENTO DE DADOS XML EM BANCO DE DADOS. Monografia apresentada à disciplina Trabalho de Conclusão de Curso, do Curso de Ciência da Computação da Faculdade de Jaguariúna, sob a orientação do Prof. Odair Jacinto da Silva, como exigência parcial para conclusão do curso de graduação. Jaguariúna

3 DEDICATÓRIA:. Dedico este trabalho à minha família (Pais e Irmãos) e também ao professor orientador, pela maneira que conduziu, ajudou e orientou no desenvolvimento deste trabalho. A Deus por ter permitido chegar ate aqui.. 2

4 DUARTE, Wellington Silva. O Estado da Arte em Armazenamento de Dados XML em Banco de Dados Monografia defendida e aprovada na FAJ em 12 de Dezembro de 2006 pela banca examinadora constituída pelos professores: Prof. Odair Jacinto da Silva FAJ - orientador Prof. Silvio Petroli Neto FAJ Prof. Livio Stefano Mondin Convidado. 1

5 DUARTE, Wellington Silva. O Estado da Arte em Armazenamento de Dados XML em Banco de Dados Monografia (Bacharelado em Ciência da Computação) Curso de Ciência da Computação da Faculdade de Jaguariúna, Jaguariúna. RESUMO XML tem recebido muito destaque ultimamente em todas as comunidades de usuários de informática. Com isto, comunidades de Bancos de Dados vêm intensificando cada vez mais seus estudos para identificar quais as melhores maneiras e melhores tecnologias disponíveis para armazenar dados contidos em documentos XML, em Banco de Dados. Sabendo que os Bancos de Dados disponíveis possuem características e estruturas diferentes, não é uma tarefa fácil identificar a melhor ferramenta para se utilizar. Banco de Dados relacionais são maduros, seguros e confiáveis, porém foram projetados para armazenar dados estruturados que precisam se relacionar com outros dados. Banco de Dados XML Nativos foram desenvolvidos para armazenamento de dados XML, porém ainda se encontram no estágio inicial de desenvolvimento, não são totalmente seguros e não existe um padrão ainda definido de linguagens de consultas. Ambas as tecnologias apresentam desvantagens quando são comparadas, com isto fica difícil identificar qual a melhor tecnologia. O que deve ser feito é identificar todas as necessidades, o modo que os dados XML serão tratados no banco de dados, se é para efeito de consulta ou apenas histórico, os tipos de dados que necessitam serem armazenados e, a partir destes pontos levantados, é possível definir qual será a melhor tecnologia que cada pessoa poderá utilizar. ABSTRACT XML has received very importance lately in all computer science users communities. Because this Data Bases communities are intensifying each time more its studies to identify which the best way and better available technologies to store data contained into XML documents into Data Bases. Knowing that the available Data Bases have different characteristics and structures, it is not an easy task to identify the best toll to use itself. Relationary Data Bases are robust, safe and trustworthy, however they had been projected to store structuralized data that needs to become related with other data. XML Native Data Bases had been developed for storage XML data, however still are in the initial period of training of development, they are not total safe and there are not definite a standard languages of consultations. Both the technologies have disadvantages when they are compared, with this it is difficult to identify to which the best technology. What it must be made is to identify all the necessities, the way that XML data will be treated in the Data Base, if is for consultation effect or only historical, the data types that needs to be stored and leaving of these raised points are possible to define which will be the best technology that each person or company will be able to use. Palavras-chave: XML, BANCO DE DADOS, ARMAZENAMENTO. Word-Key: XML, DATA BASES, STORAGE. 2

6 SUMÁRIO RESUMO...2 ABSTRACT...2 LISTA DE FIGURAS INTRODUÇÃO OBJETIVOS METODOLOGIA SURGIMENTO DA XML XML POR QUE XML É TÃO UTILIZADA? PRINCIPAIS APLICAÇÕES PARA XML ALGUMAS TECNOLOGIAS ASSOCIADAS À LINGUAGEM XML DTD XML Schema XML e Banco de Dados Documentos orientados ao processamento de documentos (DODdoc) Documentos orientados ao processamento de dados (DOD) Principais formas de armazenamento em Banco de Dados Armazenamento de dados XML em Banco de Dados Relacionais Suporte nativo para XML no oracle 10g Características XML suportadas no oracle10g Tipo de dados XMLType Armazenamento do tipo XMLType no Banco de Dados Principais vantagens em trabalhar com bancos de dados relacionais Principais desvantagens em trabalhar com bancos de dados relacionais Armazenamento de dados xml em Banco de Dados XML Nativos Características de SGBS XML nativos Principais vantagens em trabalhar com Banco de Dados XML Principais desvantagens em trabalhar com banco de dados XML Armazenamento de dados ESTUDO DE CASO TABELA COMPARATIVA CONCLUSÃO REFERÊNCIAS BIBLIOGRÁFICAS ASSINATURAS...Erro! Indicador não definido. 3

7 LISTA DE FIGURAS. Figura 1. Arquitetura do Oracle XML DB...41 Figura 2. Figura 2. Criação Tabela no Oracle...44 Figura 3. Criação tabela curso no Oracle...44 Figura 4. Inserindo informações na tabela aluno no Oracle...44 Figura 5. Atualizando dados da tabela aluno no Oracle...45 Figura 6. Selecionando informações da tabela aluno no oracle...45 Figura 6. Selecionando informações da tabela aluno e curso no oracle...45 Figura 7: Arquitetura do Tamino...46 Figura 8. Tela de criação de coleções no Banco de Dados XML exist Figura 9. Criação de uma coleção chamada TCC no Banco de Dados XML exist...50 Figura 10. Armazenamento dos documentos aluno.xml e curso.xml no Banco de Dados exist...50 Figura 11. Documento curso.xml após armazenado no banco de dados...51 Figura 12. Retornando todos os documentos armazenados na coleção TCC...51 Figura 13. Retornando todos os registros onde possui o elemento aluno dentro da coleção...52 Figura 14. Retorna todas as datas de nascimento armazenadas...53 Figura 15. Retorna verdadeiro se dentro do documento existir um aluno chamado Antonio...53 Figura 16. Retorna todos os alunos que fazem algum curso na faculdade

8 LISTA DE SIGLAS B2B B2C BD BLOB CLOB DTD HTML SAX SGML SGBD SOX SQL XDR XML Xpath XQuery W3C Business to Business Business to Consumer Banco de Dados Binary Large Object Character Large Object Document Type Definition HyperText Markup Language Simple API for XML Standard Generalized Markup Language Sistema de Gerenciamento de Banco de Dados Schema for Object-Oriented XML Structured Query Language XML-Data reduced extensible Markup Language XML Path Language XML Query Language World Wide Web Consortium 5

9 1. INTRODUÇÃO Segundo (FARIA, 2005) SGML (Standard Generalized Markup Language) é uma linguagem de marcação ( marcação são todas informações adicionadas em um documento com as quais entendemos seus significados a partir da forma como a informação relaciona-se com os dados). Esta linguagem de marcação foi criada em 1960, cujo principal objetivo era fazer com que os sistemas fossem portáteis, ou seja, algo padrão, que pudesse ser utilizado independente de sistema operacional, plataforma e formatos de arquivos, acabaram optandose pelo sistema de Marcação Generalizada para fazer isto. Utilizando este método há mais flexibilidade, pois o próprio usuário é quem define o nome das marcações, tornando-se também um sistema com maior detalhamento dos dados, e a não restrição de documentos a uma única aplicação, formatação, e sistema de processamento, garantindo que dados sejam mantidos independente de plataforma de software e hardware. Por causa de todas estas vantagens, o SGML foi uma evolução na forma de compartilhar e processar dados e documentos. O SGML não possui um conjunto predefinido de tags (tags são identificadores que ficam entre os sinais < e > como em HTML, pois a principal função do SGML é na verdade ser uma metalinguagem, ou seja, serve como um padrão de referência para criação de outras linguagens de marcação como HTML e o próprio XML. Deve-se existir uma sintaxe para uma linguagem de marcação definida com SGML, estas sintaxes são especificadas através de construções coletadas nos documentos, chamado de DTD (Documento Type Definition) que definem uma gramática para a linguagem de marcação do documento, estabelecendo regras que definem a composição do documento a partir de uma gramática formal, informando também se elementos se relacionam com outros elementos, indica para cada elemento da linguagem todas as possíveis marcações que são validas para o documento, como quais são os elementos obrigatórios, quais elementos possuem atributos, os elementos pais e filhos e também as dependências que existem entre eles.( MAZZETTI, 2000) A partir destes conceitos surgiu o XML que é um subconjunto apropriado da SGML. XML atualmente é o padrão mais utilizado na internet para transferência de dados, em vários tipos de aplicações e sistemas onde exista a necessidade de troca de informação por meios digitais. Talvez exista a pergunta do porquê XML se tornou um padrão e do porquê investir em pesquisas nesta linguagem se já existem diversos softwares que fazer transferências de dados pela internet. As respostas estão nas próprias perguntas, existem 6

10 várias maneiras, ou vários softwares, porém não existe um padrão, algo que seja em comum para todas as aplicações e que faça com que sistemas desenvolvidos em linguagens e ambientes diferentes troquem informações entre si sem qualquer dificuldade, o que é muito útil nos dias de hoje. A linguagem XML é uma linguagem padrão que serve tanto para processamento computacional como para ser apresentado de forma amigável para o usuário final se associado às tecnologias que trabalham em conjunto com a linguagem. Como já citado, a linguagem XML vem sendo muito utilizada em aplicações na WEB e com esta crescente utilização de XML para descrever e representar as informações que tais aplicações manipulam, surgiu à necessidade de armazenamento e manipulação dos dados XML. Desta forma as comunidades de Banco de Dados começam a intensificar pesquisas para propor soluções relacionadas ao gerenciamento dos dados XML. Aplicações desenvolvidas para Web ou que utilizam a Web para a transferência de dados utilizam muitos protocolos XML. Quando estes protocolos precisam ser mantidos em um Banco de Dados, surge a necessidade de gerenciar adequadamente esses dados. Focando a área de Banco de Dados para XML, um documento XML é uma coleção de dados, exatamente igual a um Banco Dados, mais existe a vantagem de um documento XML manter dado auto-descritivos e portáveis. A tecnologia de Sistema de Gerenciamento de Banco de Dados (SGBD) é muito parecida com a tecnologia XML, pois possui formato de armazenamento específico para seus documentos, podendo definir esquemas, além de possuir uma linguagem própria de consulta. Porém apesar de todas estas semelhanças a tecnologia XML não é equivalente à tecnologia de um SGBD, pois nem sempre é possível gerenciar os dados, pois a tecnologia XML possui algumas limitações como controle de integridade, gerenciamento de transações e consultas a múltiplos documentos. Outro problema é o formato dos documentos XML que combina texto em linguagem natural com informações estruturadas, tornando impossível armazenar estes tipos de dados que são semi-estruturados em Banco de Dados tradicionais como os Bancos de Dados relacionais, que são projetados para trabalhar com dados estruturados. (MAZZETTI, 2000). Desta forma, pesquisas vem se desenvolvendo com a intenção de resolver estes problemas e com isto duas frentes de pesquisa vem se consolidando, a primeira procura entender a tecnologia de Banco de Dados Relacionais para o suporte a dados XML e a segunda vem investindo no desenvolvimento de Bancos de Dados específicos para armazenar dados XML, também conhecidos como Banco de Dados XML Nativo, o foco principal desta pesquisa é apresentar estas duas tecnologias que são o estado da arte em armazenamento de 7

11 dados XML, descrevendo-as, fazendo comparação entre elas, mostrando suas vantagens e desvantagens, quando utilizar cada uma das tecnologias e os problemas enfrentados por elas. 8

12 2. OBJETIVOS Este trabalho tem como objetivo principal apresentar qual o estado da arte em armazenamento de dados XML em Banco de Dados, para isto serão apresentados alguns conceitos técnicos e aplicações da XML, o porquê da necessidade de armazenar os dados XML em Banco de Dados, mostrar como cada Banco de Dados gerencia os dados. Adicionalmente, será feita uma comparação entre as tecnologias mostrando suas características e quando utilizar cada uma das tecnologias, e em que situações cada banco trabalha melhor. As comparações apresentarão vantagens e desvantagens. Após estes levantamentos e apresentações teóricas, como última etapa do projeto, será definido e implementado um exemplo de estudo de caso para fazer uma nova comparação, com o objetivo de verificar quais as comparações feitas nos capítulos anteriores são validas. Também orientar o leitor através de uma tabela de comparações qual a melhor tecnologia a se utilizar de acordo com que finalidade se pretende trabalhar com XML para integração e armazenamento de dados XML. 9

13 3. METODOLOGIA Este trabalho esta dividido em três etapas seqüenciais, a primeira apresenta: Histórico e uma introdução de como surgiu a XML Tecnologias e Aplicações para XML Para isto foi utilizada a metodologia de pesquisas em livros, sites e artigos. Esta etapa é importante, pois para entender a relação da linguagem XML com Banco de Dados, suas tecnologias devem ser previamente apresentadas. Este levantamento e documentação da primeira etapa foram finalizados em março de A segunda etapa do trabalho apresenta a relação da linguagem XML com Banco de Dados, onde é mostrado: A motivação para o armazenamento de dados XML em Banco de Dados. Quais as formas de armazenamento dos dados Características, vantagens e desvantagens que cada tecnologia possui. Exemplos de Banco de Dados comerciais com Suporte a XML Exemplos de Banco de Dados XML Nativos A segunda etapa foi feita em paralelo com a primeira, onde também foi utilizada a metodologia de pesquisas em materiais disponíveis em sites e livros para a documentação. Esta é a etapa mais importante do projeto, pois é onde se apresenta a questão central da pesquisa que é XML e Banco de Dados. Também é respondida a questão problema que é: Qual o estado da arte em armazenamento de dados XML em Banco de Dados. Todas as comparações estão sendo feitas com base em artigos, livros e sites. Para apresentar alguns exemplos de documentos XML, está sendo utilizado como ambiente o Sistema Operacional Windows XP, e para geração de documentos XML o bloco de notas disponível no Sistema Operacional, para a visualização destes documentos o browser Internet Explorer. Na terceira e última etapa do projeto que terá início em Junho será definindo um estudo de caso com os seguintes objetivos: Fazer novas comparações utilizando Banco de Dados Relacionais e Banco de Dados XML para armazenamento de documentos XML Verificar quais comparações, vantagens e desvantagens apresentadas no capítulo anterior são validos. Através de uma tabela de comparações, contribuir para a escolha do leitor entre trabalhar com Banco de Dados Relacionais ou Banco de Dados XML para armazenar dados 10

14 XML, ou seja, qual tecnologia se adequada melhor dependendo da aplicação que se quer implementar. Para execução dos testes será usado o Banco de Dados Relacional Oracle 10g. A Oracle disponibiliza uma versão gratuita para estudantes e desenvolvedores, foi escolhido o Banco de Dados Oracle, pois de acordo com os estudos levantados é um dos bancos de dados free que apresenta mais ferramentas e facilidades para trabalhar com documentos. Para armazenar os dados XML na forma Nativa, ou seja, armazenar os dados XML em Banco de Dados XML será utilizado o Banco de Dados Tamino, que apesar de ser um Banco de Dados comercial, possui uma versão de demonstração, sendo escolhido por ter sido o primeiro Banco de Dados XML nativo a ser desenvolvido, consequentemente o mais maduro e que apresenta mais recursos e facilidades. Como o Tamino possui uma limitação de uso de 30 dias, estarei utilizando um segundo banco de dados XML nativo para efetuar os testes o banco de dados XML open source exist. Cronograma de Atividades Atividade JAN FEV MAR ABR MAI JUN JUL AGO SET OUT NOV DEZ 1 OK OK OK OK OK 2 OK 3 OK OK OK 4 OK OK OK 5 OK OK OK 6 OK OK OK 7 OK OK OK 8 OK Ano : Levantamento de material para estudo (livros, revistas, sites, artigos). Elaboração da revisão bibliográfica e trabalhos relacionados. Estudo e documentação das características dos frameworks escolhidos. 2. Definição e documentação do estudo de caso a ser implementado: especificação do problema e funcionalidades. Definição dos objetivos a serem alcançados nos testes (aspectos a serem avaliados). 3. Projeto da implementação e documentação do projeto. 4. Implementação do estudo de caso utilizando os diferentes frameworks. 5. Execução dos testes e coleta de resultados. 6. Documentação da implementação em cada framework. Documentação dos resultados obtidos nos testes. 7. Finalização e revisão da monografia. Elaboração da apresentação. 8. Entrega e defesa do trabalho. Legenda: OK -Atividades realizadas A -Atividades em Andamento R -Atividades a Realizar 11

15 4.1. SURGIMENTO DA XML. A linguagem de marcação XML vem ganhando muito espaço, principalmente em aplicações WEB, para explicar a finalidade da linguagem XML farei um breve comentário sobre a história da internet. Tudo teve início na década de 90 com a popularização da Internet. Para publicar um site ou ate mesmo uma home page era necessário conhecer uma linguagem de marcação de hipertexto, ou HTML (HiperText Markup Language). A principal funcionalidade da linguagem HTML é apresentação de uma forma amigável ao usuário final, como era possível apresentar diversas páginas com diferentes estilos tudo dependia da criatividade de cada um, com isto foram surgindo diversos tipos de sites, utilizando sempre a linguagem HTML que é baseada em tags.( D.E.P, 2002) Com a popularização da Internet empresas perceberam que para conseguir acompanhar o andamento da tecnologia, aumentar seus rendimentos e até se tornar mais conhecida e competitiva deveriam investir nesta área, no início foi uma euforia e as empresas que investiram realmente se deram bem, com isto algumas outras empresas acabaram investindo tudo o que tinham em projetos on-line. Nesta época algumas empresas tiveram uma grande valorização e aumentaram muito seu lucro, era um negócio onde todos queriam entrar. Porém na entrada do século 21 isto já não era tão verdade, pois existiam muitas empresas on-line, já existia uma concorrência maior. E com o crescimento continuo de aplicações na internet eram necessárias novas tecnologias e ferramentas. Como browser mais poderosos com mais recursos e ferramentas para desenvolvedores ou ate mesmo usuários, Linguagem de scripts para geração de paginas dinâmicas que integravam aplicações Web com imensas bases de dados como bancos, redes de supermercados, lojas virtuais e aeroportos, isto ficou conhecido como "comercio eletrônico" ou e-business em inglês, este mercado on-line destinado ao consumidor final também ficou conhecido como B2C Business To Consumer ("Comércio ao Consumidor").( D.E.P, 2002) Algumas empresas viram que poderiam economizar tempo e isto significa mais dinheiro se utilizassem a internet para se comunicar com parceiros clientes e fornecedores, já que eram possíveis transações on-line, este modelo de aplicações WEB ficou conhecido como B2B ou Business to Business ("Comércio ao Comércio"). 12

16 Sempre utilizando a linguagem HTML para este tipo de transações, pois como já citado, esta linguagem oferece diversos recursos para uma amigável apresentação final, onde também quando era necessário fazer consulta em uma base de dados e em seguida apresentar estes dados em um browser. A linguagem HTML começou a apresentar algumas limitações principalmente em aplicações e-commerce, como por exemplo, dificuldades de transmissão de dados para o cliente, para serem processados posteriormente, pois a linguagem HTML não possui recursos suficientes para uma transferência e manutenção rápida de dados, pois o principal foco da linguagem é a apresentação de forma amigável ao usuário final. Por causa destas limitações apresentadas pela linguagem HTML, surgiu então o XML também para ser utilizada em aplicações WEB e principalmente em aplicações que necessitam manipular grandes quantidades de dados.( MAZZETTI, 2000) Em aplicações Web baseadas em HTML para buscar informações em Banco de Dados é necessário utilizar um servidor de aplicativo para fazer a consulta e em seguida retornar os dados que são exibidos no formato HTML, depois disto não é possível fazer praticamente mais nada com estes dados, pois estão embutidos na apresentação e código da HTML. Utilizando XML é possível separar os dados da apresentação, com isto é possível manipular os dados, utilizar diferentes modos de visualização para o mesmo dado. Então na verdade a linguagem XML não vem para substituir a linguagem HTML, uma vez que HTML serve para apresentação final ao usuário e a XML tem como objetivo principal a manipulação dos dados e também transferências destes dados pela internet de forma consistente e segura XML XML significa extensible Markup Language, ou seja, linguagem extensível de marcação. É uma linguagem usada para representar dados como uma string de texto que inclui uma "marcação" intercalada a fim de descrever as propriedades dos dados. O uso de marcação permite que o texto seja intercalado por informações relacionadas a seu conteúdo ou forma (Graves, 2003), através do arquivo tipo DTD. Por meio dela, pode se criar a sua própria linguagem de marcação, sendo, portanto eficiente para comunicação entre sistemas. A XML foi originalmente projetada para ser distribuída pela Web e vencer os desafios da editoração eletrônica em larga escala, isolando o conteúdo da informação. Separar o 13

17 conteúdo de um documento de como ele deve ser formatado, simplifica o desenvolvimento e a manutenção (Graves, 2003). A flexibilidade faz a diferença e essa diferença é que o usuário do recurso possa obter o que deseja, e também adaptar e mudar aplicações à medida que os negócios mudam, onde pessoas (ou equipes) diferentes com experiências distintas podem trabalhar independentemente nas informações capturadas em um documento e no formato, estilo e estética, uma vez que a XML não tem por finalidade a apresentação ao usuário final POR QUE XML É TÃO UTILIZADA? Pode se perguntar se já existiam diversas formas de comunicações e transferência de dados disponíveis no mercado, se mesmo a linguagem HTML apresentado algumas limitações era possível fazer as transações de dados, por que então XML tem sido tão utilizada? Por que tem ganhado tanto força? A resposta para isto se encontra na própria pergunta, ou seja, existem diferentes formas, diferentes aplicações, cada um tem seu estilo e padrão e nem sempre era possível se comunicar entre si. Já a XML é uma linguagem padrão, e funciona independente de plataforma ou sistema operacional, ou seja, independente da aplicação utilizada pelo fornecedor que pode ser totalmente diferente da utilizada pelo cliente, a linguagem de transmissão de dados é a mesma por ser um padrão e ser reconhecida por qualquer tipo de sistema. É possível existir a comunicação independente de tudo isto, fora outras vantagens oferecidas pela linguagem XML, como por exemplo, a XML é construída em uma fundação de Unicode, tornando mais fácil a criação de documentos internacionalizados, os formatos XML são baseados em texto, os que os tornam mais legíveis e mais fáceis de documentar, às vezes mais fácil de depurar. Ferramentas para o processamento XML estão disponíveis em plataformas diferentes, isso faz com que seja mais simples usar XML em vez de formatos binários para trocar fluxos complexos de informação. Os elementos XML apresentam alguns recursos que os objetos não possuem como a serialização, ou seja, a habilidade de ser representados como uma string. Os objetos possuem alguns recursos que a XML também não tem como os métodos e a herança. Os objetos e os elementos XML ocupam posições opostas quando se trata de encapsulamento, com os objetos ocultando toda a estrutura interna, sendo que a XML a expõe transparentemente. Por causa destes recursos oferecidos pelos objetos, o tornam melhor para a programação, porém faz com 14

18 que a XML seja uma ferramenta mais adequada para representação de dados, com isto é muito mais fácil trabalhar com a XML do que com os objetos para transferência de dados. A tecnologia XML é muito simples, porém possui outras tecnologias que a complementa, este conjunto representa uma maneira mais avançada e robusta de fazer as coisas como, por exemplo, compartilhar os dados com os quais se trabalha a todos os níveis, por todas as aplicações e suportes, compartilhamento de informações de maneira segura, confiável, fácil e rápida entre sistemas, o que é uma tendência global. A linguagem XML possui uma maneira especial e muito fácil de tratar os dados e informações, é uma linguagem que utiliza tags e tags podem ser lidas tanto por homem quanto por máquina. Por estes motivos e por estar sendo muito utilizada no mundo da internet, surgiu à necessidade de gerenciar estes dados, armazená-los, e depois recuperá-los e atualizar se possível, enxergar os dados de maneiras diferentes, com isto surgiu a necessidade de armazenar estes dados em Banco de Dados para depois gerenciá-los. Como já existem alguns bancos disponíveis, a primeira idéia foi de armazenar os dados nestes bancos, como por exemplo, Banco de Dados Relacionais, porém não é um processo tão simples, pois estes tipos de bancos não foram projetados para tratar estes tipos de dados. Desenvolvedores e pesquisadores vêm desenvolvendo Banco de Dados específicos para tratar estes tipos de dados, que também apresentam algumas limitações, pois se encontra no estágio inicial de desenvolvimento e pesquisa. Pode-se enumerar diversas vantagens de utilizar a XML (Mazzetti, Gerardo e Mink Carlos ), em especial no que diz respeito à apresentação e manipulação das informações. Abaixo estão descritas algumas destas vantagens : Facilidade para alterar a visualização dos documentos escritos em XML de forma rápida e automática por serem documentos estruturados com a informação classificada, é possível alterar a formatação do dado de forma independente. Para fazer isso, bastaria identificar as informações e, por exemplo, atribuir um determinado tipo de fonte como <codigo>, onde código é a referência do formato. Possibilidade de reaproveitar documentos escritos: um dos principais problemas atualmente, é reaproveitar um mesmo material em diversas aplicações. Com a XML é possível reaproveitar a informação de forma lógica e prática. 15

19 Aumento do rendimento dos webdesigners: um exemplo claro desta vantagem, é que é possível escrever um livro sem se preocupar com o tipo da letra e fonte utilizado, apenas definindo o que cada elemento irá representar. Facilidade na identificação das informações: esta vantagem é bem nítida, pois a linguagem permite a criação das tags pelo próprio autór, o que resulta em facilidade para identificar as informações PRINCIPAIS APLICAÇÕES PARA XML Como já citado o XML vem sendo muito utilizado atualmente, por ser uma linguagem padrão, independente de plataforma e sistema operacional, como exemplo de uma das aplicações do XML pode ser citado o e-business, este é um exemplo interessante, pois engloba o que já explicado acima e mostrando a funcionalidade da XML, ou seja, no mundo da internet e do e-business existem muitos sistemas distintos. Porém quase sempre deve existir comunicação entre eles, e com o XML é possível fazer isto, fazer com que estes sistemas diferentes se comuniquem entre si, economizando tempo e dinheiro, o que é importante para todas as empresas e comércios. Quando uma empresa é muito grande consequentemente possui uma grande quantidade de dados, quase sempre estes dados estão armazenados em sistemas diferentes. Com certeza a forma com que estes dados foram armazenados em cada sistema também é diferente, podendo ser arquivos textos, Banco de Dados, s, planilhas etc. Porém para a empresa existe a necessidade de recuperar alguns dados, com informações que estão fragmentadas em diferentes sistemas ate formar uma informação ou relatório, independentemente de onde e como e onde estejam armazenados os dados. Com isto surge à necessidade que dois ou mais sistemas que são diferentes troquem informações entre si, mais e se estes sistemas não possuem nada em comum? Ou estão em sistemas operacionais diferentes? Atualmente a maneira mais fácil e rápida de se fazer isto é utilizando XML, apesar de existirem outras soluções, mas que não são tão triviais. Como a XML é muito parecido com o HTML, XML pode ser também transportado através do HTTP, e com o XML é possível gerar diversas visões de um mesmo dado. Outro exemplo de aplicações é no setor bancário, banco utilizam sistemas exclusivos para rastrear transações internamente. Porem quando utilizam o formato XML comum através da WEB poderão descrever informações referentes às transações entre instituições com 16

20 sistemas diferentes, ou entre diferentes aplicativos, e claro, estes dados poderão ser exibidos em paginas Web com uma formatação amigável. Um outro exemplo são as conversas do Chat de bate papo da Microsoft o MSN, caso o usuário deseje salvar o histórico de conversas anteriores, estas conversas são salvas em formato XML, e caso o usuário queira recuperar é possível ver o histórico em um formato agradável na tela. O XML oferece um modo extremamente flexível onde se é possível fazer transferência de dados, abaixo estão listados mais alguns exemplos de onde se pode utilizar XML. Um Documento Comum. Um registro estruturado, como um registro de compromisso ou pedido de compra. Qualquer Aplicação Web (Internet/intranet) que transferem dados. Um objeto com dados, como o formato persistente de um objeto ou controle ActiveX. Um registro de dados, como o conjunto de resultados (dataset) de uma consulta SQL. Meta-conteúdo sobre um local de Web, como Formato de Definição de Canal (CDF). Apresentação gráfica, como a interface de usuário de uma aplicação. Ligações entre informações e pessoas na Web ALGUMAS TECNOLOGIAS ASSOCIADAS À LINGUAGEM XML. Na representação XML, um esquema pode estar associado a um documento XML, descrevendo a sua estrutura (elementos, conteúdo dos elementos, atributos, sub-elementos de um determinado elemento e a seqüência em que aparecem). Além disso, ele pode ser usado para validação do documento, ou seja, verificar se ele está de acordo com a gramática definida pelo esquema. Esta característica facilita o processo de integração de dados, onde aplicações Web trocam informações entre diversas fontes de dados. Algumas linguagens, baseadas em XML, foram propostas para definição de esquemas, entre elas: DTD, XML Schema, XDR, SOX, Schematron, DSD. O DTD foi a primeira linguagem proposta. Em seguida, será mostrada algumas das características das linguagens DTD e XML Schema, que são estruturas para definição de um documento XML.(GRAVES, 2003). 17

21 DTD Um DTD (Document Type Definition), permite especificar a estrutura básica de um documento XML. Por exemplo: <!- - endereço.dtd - -> <!ELEMENT endereco (nome, logradouro, cidade, estado, cep)> <!ELEMENT nome (titulo? primeiro-nome, ultimo-nome)> <!ELEMENT titulo (#PCDATA)> <!ELEMENT primeiro-nome (#PCDATA)> <!ELEMENT ultimo-nome (#PCDATA)> <!ELEMENT city (#PCDATA)> <!ELEMENT estado (#PCDATA)> <!ELEMENT cep (#PCDATA)> O DTD acima descreve um documento contendo o endereço de alguém. O documento deve possuir um elemento <endereço> que contém <nome>, <logradouro>, <cidade>, <estado>, <cep>. Todos esses elementos devem existir, nessa ordem. O elemento <nome> contém um <titulo> opcional, seguido de <primeiro-nome> e <ultimo-nome>. Todos os outros elementos contêm texto (#PCDATA). É importante notar que a sintaxe do DTD é diferente da sintaxe da XML. Um DTD não é um documento XML. Para se construir um DTD é necessário que se conheçam as características os tipos de dados que os o documento XML vai conter, apesar de que é possível fazer alterações no DTD quando necessário. Utilizando um DTD, os arquivos XML podem conter formatos próprios, podem ser utilizadas por um conjunto de pessoas. O DTD pode ser utilizado como padrão ate mesmo para verificar se os dados recebidos são validos, apesar de que a sintaxe de um documento XML é diferente de um DTD. Os DTDs são opcionais dentro de uma estrutura XML, como no exemplo acima não possuía um DTD, porém os dados enviados com um DTD são conhecidos como XML válidos, quando não se tem um DTD porém possuem um sintaxe correta, de acordo com o padrão XML, estes documentos são chamados Documento Bem Formatado Segundo Rogério Amorim de Faria, Treinamento Avançado em XML XML Schema O XML schema tem a mesma função de um DTD, porém o XML schema vem para substituir o DTD que possui algumas limitações, por exemplo, com um DTD não é possível suportar todos os tipos de dados, ai aparece o XML Schema uma linguagem muito mais 18

22 poderosa do que DTD no que se diz respeito a especificação de gramáticas para documentos XML Utilizando XML Schema é possível definir com maior rigor um documento XML. Um esquema XML possui várias vantagens em relação a um DTD, pois XML Schema utiliza sintaxe XML. Ou seja, um XML Schema é um documento XML. Isso significa que ele pode ser processado com qualquer outro XML. Com as mesmas ferramentas. XML Schema permite a definição de tipo de dado. Podemos definir elementos com tipo integer, date, time, string, entre outros. XML Schema é extensível. Além dos tipos de dados definidos pela especificação do XML Schema. É possível criar novos. Inclusive derivados de tipos de dados já definidos. XML Schema possui um poder de expressão maior. Por exemplo, elementos podem ser validados através de expressões regulares. (GRAVES, 2003). Abaixo temos um exemplo de XML Schema. <?xml versoin= 1.0 encoding= UTF-8?> <xsd:schema xmlns:xsd= > <xsd:element name= endereco > <xsd:complextype> <xsd:sequence> <xsd:element ref= nome /> <xsd:element ref= logradouro /> <xsd:element ref= cidade /> <xsd:element ref= estado /> <xsd:element ref= cep /> </xsd:sequence> </xsd:complextype> </xsd:element>.. </xsd:schema> Como verificamos no exemplo que possui a estrutura XML Schema, o código Schema é maior que o código DTD, porém analisando outro exemplo fica nítida a vantagem do Schema sobre um DTD Documento XML <nome>wellington</nome> <idade>22</idade> <data_nasc> </data_nasc> 19

23 Com DTD ficaria <!ELEMENT nome (#PCDATA)> <!ELEMENT idade (#PCDATA)> <!ELEMENT data_nasc (#PCDATA)> Com XML Schema ficaria <xs:element name= nome type= xs:string /> <xs:element name= idade type= xs:integer /> <xs:element name= data_nasc type= xs:date /> Característica XML Schema DTD Determina os elementos que devem conter no documento sim sim Ordem dos elementos sim sim Informa os atributos de um elemento sim sim Valores fixos para elementos ou atributos sim sim Cardinalidade dos elementos sim sim Obrigatoriedade de elementos e atributos sim sim Gerado após os dados não não Dinâmico não não Valores únicos para atributos sim sim Relacionamentos entre valores de atributos sim sim É um documento XML não sim Controle sobre o número exato de ocorrências de um elemento não sim Reutilização de código não sim Maior compatibilidade com Banco de Dados Relacionais não sim A grande diferença e também um grande problema utilizando DTD, seria na hora do processamento e armazenamento destes dados em um Banco de Dados, pois como apresentado acima não seria possível dizer que elemento idade, por exemplo, é um campo número e nem que o elemento data_nasc é um elemento do tipo data, com isto todos os dados seriam tratados como strings, dificultando na hora de armazenar estas informações em um Banco de Dados, ou ordenar os dados por idade por exemplo. Já o XML Schema oferece este suporte, e estas carências apresentadas pelo DTD são resolvidas, pois os dados são bem definidos. 20

24 4.3. XML E BANCO DE DADOS Segundo (Graves, 2003) um Banco de Dados é um conjunto de dados armazenados de maneira que persistam e possam ser manipulados. Entendendo que persistência é a permanência dos dados em seus locais depois que o trabalho que os utilizada for encerrado e o computador desligado. Sendo assim a maioria dos arquivos são persistentes, como arquivos textos, planilhas e as figuras. Na visão de Banco de Dados um conjunto de documentos XML que persistem e podem ser manipulados pode ser considerado um Banco de Dados XML O servidor de dados XML associa o SGBB XML a um servidor Web. Normalmente usuários e aplicativos acessam dados do SGBD através do servidor de dados XML, usando uma interface Web. No mundo da internet, aplicações business-to-business e e-commerce, necessitam trocar informações, seja entre cliente e fornecedor, ou vendedor e comprador. Estas transações precisam ser rápidas e seguras. Ou a empresa consegue fazer desta forma ou não será uma empresa competitiva, para fazer estes tipos de transações existem diferentes maneiras, o que não é muito bom, pois cada empresa ou organização terá sua própria maneira de trocar dados, e dependendo do tamanho da empresa aumenta a quantidade de dados. Isto significa mais sistemas, sendo que estes sistemas na maioria das vezes são sistemas diferentes. Porém que necessitam se comunicar. A linguagem XML sozinha serve simplesmente para representar dados, porém quando associada as suas tecnologias torna-se uma poderosa ferramenta que auxilia nestes tipos de transações, dados podem ser trocados independente de plataforma, sistemas operacionais, aplicações. A portabilidade, dentre outras, é umas das principais vantagens de se utilizar a XML para troca de dados. Junto com a integração de dados surge também a necessidade de armazenar os dados XML em um Banco de Dados. Existem muitas maneiras de se fazer isto, porém o objetivo deste trabalho é apresentar as mais utilizadas 21

25 atualmente, que é o armazenamento do dado semi-estruturado em Banco de Dados específicos para documentos XML, que são denominados Banco de Dados XML Nativos ou apenas Banco de Dados XML, e a segunda maneira é o armazenamento em Banco de Dados Relacionais, que é feito através de um mapeamento do esquema do documento para o esquema do Banco de Dados.( STAKEN, 2006) Independente do Banco de Dados que será armazenado o documento XML, seja ele um Banco de Dados Relacional ou um Banco de Dados XML nativo, é necessário que o documento possua um mínimo de estrutura. Os documentos XML não possuem uma estrutura rígida que defina os dados, por este motivo os dados em um documento XML são denominados dado semi-estruturados. Os dados semi-estruturados, em sua maioria, possuem como características principais uma estrutura irregular, dinâmica e bastante heterogênea. Um exemplo típico destes tipos de dados pode ser encontrado nos dados da WEB. A grande maioria dos dados existentes na internet não está armazenada de forma estruturada e não seguem um padrão único. (OBASANJO, 2006) Quem define a estrutura de um documento XML, é o DTD ou XML Schema, pois como já explicado o XML sozinho é apenas uma linguagem para representação de dados, que se torna muito útil quando trabalha em conjunto com outras tecnologias. Por este motivo foi importante explicar o que é um DTD e XML Schema que são tecnologias relacionadas a linguagem XML Ambas as tecnologias para armazenamento, apresentam algumas vantagens e desvantagens que serão apresentadas neste capítulo. Porém hoje não existe uma melhor ou pior, o que vai definir qual tecnologia é melhor, é a necessidade de cada regra de negócio, que tipos de informações necessitam ser trocadas, ou seja, deve ser feito um estudo e verificar qual tecnologia se aplica melhor a cada caso. 22

26 Talvez o fator mais importante na escolha de um Banco de Dados seja, se o Banco de Dados será usado para armazenamento de dados ou documentos. Caso a escolha seja o armazenamento de dados, e necessário um Banco de Dados desenvolvido para o armazenamento de dados, como um Banco de Dados Relacional. Mas caso a escolha seja pelo armazenamento de documentos, e escolha mais sensata é um sistema de gerenciamento de conteúdo, que seja projetado para armazenar documentos, como um Banco de Dados XML Nativo. O fato de um dado XML ter uma organização mais ou menos semi-estruturada define duas categorias de documentos XML (BOURRET, Ronald) DOCUMENTOS ORIENTADOS AO PROCESSAMENTO DE DOCUMENTOS (DODDOC) Documento fortemente semi-estruturado, ou seja, possui uma estrutura muito complexa, irregular, particular que geralmente apresentam conteúdo misto. Documentos desta categoria são tipicamente usados para o relato da linguagem natural, com destaque para alguns dados delimitados dentro do seu conteúdo. Livros e anúncios classificados são alguns exemplos. São documentos em que a XML é usada por sua habilidade em capturar linguagens naturais (humanas) como as dos manuais de usuários e folhetos de propaganda. Este tipo de documento da muita importância à apresentação final das informações para o usuário, podendo ser chamado também de documentos orientados à apresentação. A grande vantagem desta abordagem é que ela é muito flexível, captura documentos e páginas Web já existentes e é compatível com os sistemas de processamento de documentos atuais e tem uma funcionalidade legal com os dados textuais que possuem estrutura irregular, como exemplo, literatura científica, a desvantagem é que não é possível explorar estruturas regulares para simplificar o desenvolvimento de aplicativos DOCUMENTOS ORIENTADOS AO PROCESSAMENTO DE DADOS (DOD) Documento fracamente semi-estruturado, ou seja, possui uma estrutura mais regular e repetitiva. Documentos desta categoria são tipicamente usados para transferência de dados 23

27 convencionais entre aplicações. Notas fiscais e relatórios de clientes e produtos são alguns exemplos. Como a principal usabilidade deste tipo de documento é a transferência de dados, a estrutura física dos documentos orientados ao processamento de dados, como a ordem dos elementos ou se os dados estão armazenados em atributos ou subelementos, é praticamente irrelevante. A vantagem de utilizar esta abordagem é que ela possui uma estrutura regular, sendo assim é mais fácil de acessar com aplicativos mais simples e é mais compatível com os SGBDs existentes no caso deste trabalho os SGBDs Relacionais, a desvantagem é que ela não captura documentos com estrutura altamente irregular. O modo como os dados XML são gerenciados está intimamente relacionada a estas duas categorias de documentos. Aplicações que lidam com DODs geralmente utilizam Banco de Dados Relacionais, uma vez que os dados XML são mais estruturados. Já aplicações que lidam com DODocs utilizam Banco de Dados específicos para o gerenciamento de dados XML, chamados Banco de Dados XML nativos (ou simplesmente Banco de Dados XML), pois se torna muito complexo o mapeamento para os Banco de Dados Relacionais uma vez que o documento possui uma estrutura mais particular e com certeza muito diferente da do Banco de Dados. Estes Bancos de Dados utilizam mais efetivamente a tecnologia XML para a representação e o acesso a dados. (FARIA, 2005) Porém é mínima a diferença entre documentos XML orientados ao processamento de dados e os orientados ao processamento de documentos, por exemplo, paginas Web dinâmicas com dados e texto descritivos, podem ser visualizados em qualquer uma das duas formas. O que vai distinguir qual forma se usar, são as operações que se deseja aplicar ao documento, caso queira recuperar o documento completo, buscar uma palavra, ou palavras antecedentes a uma informada, alterar ou organizar uma seção para este tipo de operações usaríamos documentos orientado ao processamento de documentos. Se tivéssemos utilizado processamento de documentos orientado ao processamento de dados, seria possível recuperação de um trecho especifico do documento, busca de uma combinação particular de documentos e dados. Como fazemos em consultas em Banco de Dados Relacionais, poderíamos alterar ou excluir um elemento ou até mesmo um trecho de dados, além de inserir um novo elemento no documento, por este motivo este tipo de documento é mais orientado para armazenamento em Banco de Dados Relacionais. 24

28 4.4. PRINCIPAIS FORMAS DE ARMAZENAMENTO EM BANCO DE DADOS A transação de troca de dados entre as entidades, requer que estes sejam armazenados para posteriormente servirem de base para processamentos. Existem algumas possibilidades, que serão apenas comentadas neste trabalho, pois a ênfase será dada ao Banco de Dados XML, e Banco de Dados Relacionais que são tema deste trabalho por serem o estado da arte em bando de dados para documentos XML. (FARIA, 2005) ARMAZENAMENTO DE DADOS XML EM BANCO DE DADOS RELACIONAIS Um SGBD Relacional é caracterizado pelos seus modelos de Banco de Dados e pelas suas funções, que implementam um conjunto básico de serviços, os quais definem as capacidades que um sistema deve possuir para ser considerado um sistema de Banco de Dados. Algumas das principais características de um SGBD são (MELO., 1997): Garantir a consistência do Banco de Dados e das transações usando estratégias de controle de concorrência; Garantir a integridade do Banco de Dados ao final de cada transação; Dispor de recursos que possibilitem selecionar a autoridade de cada usuário, para ter o controle de seus acessos às informações; Prover mecanismos de segurança de acesso para consulta ou atualização dos dados; Dispor as informações em um único local, evitando redundâncias; Recuperar falhas de hardware e software através de operações como backups. Esta é a forma mais desejada de armazenamento para dados, pois os mesmos ficam sempre disponíveis para consulta, possibilitando inclusive a junção destes dados com os demais dados ativos da aplicação. Porém, é a forma mais cara de mantê-los. Quando se torna possível armazenar dados XML em Banco de Dados que não estão prontos para receber diretamente os dados XML dizemos que tais bancos possuem um SGBD habilitado. Bancos de Dados relacionais foi à primeira alternativa apresentada, pois já são bancos de dados tradicionais, que existem há algum tempo. Banco de Dados Relacionais são mais 25

29 maduros e com muitos recursos oferecidos, porém o que deve ficar claro é que os bancos de dados relacionais foram criados para suportar dados estruturados, e os dados XML são dados semi-estruturados. (WILLIAMS, 2000) Porém a maioria dos projetos atuais tem desenvolvido sistemas que importem ou exportem dados de uma base de dados relacional para XML. É muito útil armazenar documentos XML em Banco de Dados Relacionais quando já existe o Banco de Dados Relacional, e esta começando a se utilizar a linguagem XML para transferência de dados. Como alguns bancos de dados relacionais oferecem suporte a XML, não vale a pena mudar o banco para trabalhar com XML, dependendo da aplicação e da necessidade do negócio. Dados relacionais são normalizados e possuem um esquema proprietário, o que não os torna, a princípio, prontos para troca direta de informações. Já os dados XML, em contraste, são aninhados e não normalizados, possuindo normalmente DTDs públicas, próprias para troca de dados. Para que um Banco de Dados Relacional receba os dados semi-estruturados é necessário um mapeamento adaptando as tabelas do esquema relacional, para posteriormente serem recuperadas através da linguagem de consulta SQL. Grandes fornecedores de Banco de Dados, tais como Oracle, Microsoft e IBM estão sempre aprimorando seus produtos para atender esta necessidade de armazenamento, porém não se trata de um Banco de Dados Semi-Estruturado nativo como já citado. Como os bancos de dados relacionais não conseguem armazenar os dados semiestruturados de um documento XML diretamente, é necessário que haja uma adaptação. Em um Banco de Dados Relacional o dado armazenado está totalmente estruturado e ligado a outros dados. No caso do XML há um dado semi-estruturado, ou seja, apenas parte da definição do dado é que esta estruturada, sendo que cada ocorrência de um mesmo dado tem um esquema particular e auto-descritivo, tornando a representação dos dados irregular. Para fazer esta conversão ou tradução dos dados XML para um Banco de Dados Relacional é necessário ferramentas de middleware ou que existam adaptadores de Banco de Dados. Estes adaptadores e ferramentas middleware XML de consulta a Banco de Dados Relacionais, que através de interfaces de consulta SQL produzem resultados formatados em XML. O modelo de Banco de Dados Relacional utiliza um conjunto de relações para representar seus Dados. Essas relações são chamadas de tabelas e armazenam informações sobre os dados e seus relacionamentos. 26

30 Cada linha de uma tabela contém dados que pertencem a alguma coisa ou a uma parte desta. Cada coluna de uma tabela representa um conjunto de valores que devem ser de um mesmo tipo de dado. Cada um destes valores é representado por um campo. O conjunto de valores que um campo pode representar é chamado de domínio. A instância de uma tabela consiste no conjunto de valores que cada campo assume em um determinado instante. A existência de tabelas duplicadas, ou seja, com mesmo nome, não é permitida dentro do Banco de Dados, em um documento XML existem estruturas de árvores com diferentes profundidades, cuja tags que identificam os significados dos dados e o relacionamento entre os dados é feito por aninhamentos e referências. Para suportar o XML, Banco de Dados Relacionais tem de adicionar uma camada externa de transformação que simula o armazenamento XML, traduzindo as estruturas nativas XML em outros formatos de dados, o que esta propensa a erros de tradução, podendo ser um problema quando a intenção for armazenar documentos XML muito complexos. Com relação ao tipo de armazenamento em um Banco de Dados Relacional, três alternativas são consideradas. A abordagem mais direta seria a de armazenamento de documentos XML como um todo no Banco de Dados. Outra possibilidade seria o mapeamento da estrutura do documento, em termos de DTD, para um esquema relacional. E a terceira abordagem refere-se à interpretação de documentos XML como grafos e criação de um esquema relacional para armazenamento das estruturas desse grafo. Tal mapeamento é conhecido como mapeamento de atributos e valores. Como já citado os principais bancos de dados relacionais atualmente disponíveis no mercado oferecem recursos para a utilização de informações em formato XML. Porém, para serem gravadas, elas precisam sofrer alterações de forma que fiquem compatíveis com o modelo utilizado pelo Banco de Dados. Estas alterações fazem com que algumas propriedades do XML sejam reduzidas. Os SGBDs relacionais continuam investindo para melhorar o armazenamento de XML, devido a sua flexibilidade e devido ao fato do XML vir se tornando um padrão para troca de informações entre sistemas. Quanto à forma de armazenamento físico dos documentos XML pelos bancos de dados relacionais, podemos identificar três métodos. Não-Estruturado: Este método usa o tipo de dado BLOB (Binary Large Object) para armazenar um documento XML inteiro em uma coluna. Isto limita a capacidade para 27

31 pesquisas no documento, mas ainda pode ser útil. Embora a estrutura XML esteja preservada, não é possível fazer pesquisas que envolvam também os dados relacionais. Fragmentado: Neste caso, fragmentação refere-se à extração dos dados relevantes da estrutura hierárquica do XML, colocando-os em uma estrutura relacional plana. Ou seja, os dados XML são armazenados em colunas relacionais, mas a fragmentação do documento XML faz com que os relacionamentos hierárquicos entre os dados sejam perdidos. Existem diversas soluções para o mapeamento fragmentado de XML para relacional, mas a mais utilizada é a que faz o mapeamento direto dos elementos XML em colunas relacionais. Estruturado: Os dados XML são armazenados em colunas relacionais preservando os relacionamentos hierárquicos entre os dados XML. Para isto, um documento XML pode ser mapeado em várias tabelas relacionais. Quanto maior a hierarquia do documento XML, maior a quantidade de tabelas geradas e maiores a quantidade de junções das tabelas para recompor o documento XML. Sua principal vantagem é poder combinar sua consulta com dados relacionais e produzir documentos XML como resultado Utilizando o Banco de Dados Oracle, por exemplo, para armazenar dados XML em Banco de Dados, deve se armazenar documento XML como BLOBs. Essa estratégia é boa, pois já estão disponíveis todas as vantagens de um SGBD relacional, como controle de transações, controle de concorrência, recuperação após falhas, entre outras. Quando se usa essa estratégia, uma boa solução para futura manutenção das informações é implementar, de alguma forma, uma indexação dos documentos XML. Isso pode ser feito usando-se duas tabelas; uma tabela índice e uma tabela de documento. A tabela de documento contém uma chave primária e um campo do tipo BLOB, onde é armazenado o documento. A tabela índice contém o valor a ser indexado e uma chave estrangeira apontando para a chave primária da tabela de documento. Abaixo é mostrado um exemplo prático de como isso funciona: 28

32 <!ELEMENT Livro (Titulo, Autor, Conteúdo)> <!ELEMENT Titulo (#PCDATA)> <!ELEMENT Autor (#PCDATA)> <!ELEMENT Conteúdo (#PCDATA)> Esse DTD pode ser armazenado da seguinte forma: Autores Livros Autor VARCHAR(50) IdLivro INTEGER IdLivro INTEGER Livro BLOB Suporte nativo para XML no oracle 10g Como citado na sessão de metodologia estarei utilizando o Banco de Dados Oracle10g, pois o SGBD Oracle, a partir da versão 9i, apresenta um novo tipo de objeto, que é o XMLType, que oferece mecanismos para criar, extrair e indexar dados XML. Devido a este novo tipo e outras características, o Oracle10g que é posterior ao Oracle9i também pode ser considerado um SGBD XML nativo. Com o XMLType, desenvolvedores podem utilizar todo o poder de um Banco de Dados Relacional e simultaneamente trabalhar em um contexto XML, enquanto que desenvolvedores XML podem usar todo o poder de XML e trabalhar simultaneamente no contexto de um Banco de Dados Relacional.(ORACLE, 2004) Atualmente os dados são armazenados em um tipo CLOB, um tipo de dados binário, mas espera-se que futuramente poderão ser armazenados de outras formas. Entre os muitos benefícios do XMLType, os principais são: A união dos mundos XML e SQL, pois torna possível: - Operações SQL em contexto XML - Operações XML em contexto SQL Possui funções pré-definidas para indexação e navegação, entre outras; XMLType usa um parser e um processador XML embutidos para obter melhor performance e escalabilidade; O XMLType pode ser usado em comando SQL combinado com outros tipos de dados. Por exemplo, pode-se fazer uma consulta a colunas XMLType e juntar o resultado com o resultado de uma consulta a uma coluna VARCHAR; Podem ser criados índices nas funções existsnode() e extract() para aumentar a velocidade na avaliação da consulta 29

33 Características XML suportadas no oracle10g O XMLType é um tipo de objeto nativo do servidor. Ele permite que o Banco de Dados entenda que uma coluna ou uma tabela contém documentos XML. O XMLType também provê métodos que permitem operações comuns, como validação de esquema (schemavalidate()) e transformações XSLT1 (transform()), sejam realizadas no conteúdo XML (Oracle, 2004). O tipo XMLType pode ser usado como qualquer outro tipo de dado comum, por exemplo, quando criando uma coluna em uma tabela relacional, na declaração de variáveis PL/SQL, ou como retorno de funções (functions) em PL/SQL. Um atributo do tipo XMLType pode ser associado a um XML Schema. O Oracle XML DB poderá utilizar as informações contidas no XML Schema para derivar um modelo de objetos permitindo que um documento XML compatível com o XML Schema possa ser armazenado no Banco de Dados de maneira estruturada. Em contrapartida, documentos XML sem a associação a um XML Schema, serão armazenados no Banco de Dados por inteiro como um dado binário (CLOB). A associação ou não a um XML Schema influencia nas funcionalidades disponíveis para evolução de esquema, sendo uma decisão importante. Outra decisão chave que deve ser tomada é quando utilizar o armazenamento estruturado ou armazenamento não-estruturado. O armazenamento não-estruturado (CLOB) conseguirá o maior desempenho na inserção ou recuperação de documentos XML inteiros. Esta forma também alcança o maior grau de flexibilidade em termos da estrutura dos documentos que podem ser armazenados em uma coluna ou tabela do tipo XMLType. Em contrapartida, existe pouco que o Banco de Dados possa fazer para otimizar consultas e modificações em documentos XML armazenados utilizando o tipo CLOB (Oracle, 2004) Tipo de dados XMLType XMLType pode ser usado para criar tabelas e colunas. A função createxml()é utilizada para criar instâncias de objetos XMLType para inserção. Abaixo são mostrados alguns exemplos de manipulações de dados com o tipo XMLType. 30

34 Exemplo 1) Para tipos de dados XMLType, basta informar que o tipo da coluna é SYS.XMLTYPE. CREATE TABLE lojas( loja_id NUMBER(3), loja_desc SYS.XMLTYPE, loja_nome VARCHAR2(35), localizacao_id NUMBER(4)); Exemplo 2) Para inserir dados do tipo XMLType, deve-se instanciá-los usando a função createxml(). INSERT into lojas (loja_id, loja_desc) VALUES (1001, sys.xmltype.createxml( '<Loja LjNo="100"> <Predio>Próprio</Predio> </Loja>')); Exemplo 3) Mostra como usar o XMLType em uma consulta, além disso, mostra a utilização da função extract(). SELECT l.loja_desc.extract('/loja/predio/text()').getstringval() "Predio" FROM lojas l Predio Exemplo 4) como fazer update em uma coluna do tipo XMLType UPDATE lojas SET loja_desc = sys.xmltype.createxml( '<Loja ljno="200"> <Predio>Alugado</Predio> </Loja>')); Exemplo 5) Mostra como fazer delete em uma coluna do tipo XMLType DELETE FROM lojas l WHERE l.loja_desc.extract('//predio/text()').getstringval() = 'Alugado'; 31

35 Armazenamento do tipo XMLType no Banco de Dados Como dito anteriormente, nessa versão o XMLType somente oferece o tipo CLOB como opção de armazenamento. Quando uma coluna XMLType é criada, uma coluna CLOB é automaticamente criada para armazenar os dados XML. Na verdade a coluna XMLType pode ser considerada uma coluna virtual já que essa coluna CLOB criada é escondida. As características de armazenamento desta coluna CLOB podem ser informadas no momento da criação da tabela, conforme abaixo. CREATE TABLE po_xml_tab( poid NUMBER(10), podoc SYS.XMLTYPE ) XMLType COLUMN podoc STORE AS CLOB ( TABLESPACE lob_seg_ts STORAGE (INITIAL 4096 NEXT 4096) CHUNK 4096 NOCACHE LOGGING ); Principais vantagens em trabalhar com bancos de dados relacionais Uma grande vantagem de se utilizar o Banco de Dados Relacional para armazenar o dado XML, além da economia de não ter que implementar um novo Banco de Dados, é fazer consultas, inclusive consultas complexas utilizando a linguagem padrão de consultas em SGBDs relacionais SQL. Isto é muito útil quando é necessário apresentar varias visões em diferentes aplicativos. Outra vantagem é a fácil integração com outros bancos de dados relacionais, dentre outras vantagens que são fornecidas pelo SGBD relacionais, como controle de Integridade (Impedir que aplicações ou acessos por meio de interfaces possam comprometer a integridade dos dados armazenados no Banco de Dados), Controle de Redundância (A redundância consiste no armazenamento de uma mesma informação em locais diferentes. Em um Banco de Dados deve-se evitar este tipo de duplicação, armazenando as informações em um único local), gerenciamento de transações e mecanismos de recuperação sofisticados. SGBDs XML Nativos ainda estão em faze de pesquisa e desenvolvimento e apresentam algumas limitações se comparados aos SGBDs relacionais que são mais robustos e maduros, vantagens, desvantagens e limitações serão apresentadas nas próximas sessões. 32

36 Outra vantagem é que quase todas grandes empresas de Banco de Dados Relacionais comerciais possuem ferramentas para trabalhar com XML. Banco de Dados Relacionais têm a vantagem de possibilitar a coexistência de dados XML e dados estruturados, tornando viável a construção de aplicações que envolvam dados de diferentes naturezas, logicamente que com algum esforço adicional no desenvolvimento dessas aplicações.( ORACLE, 2004) Dados XML podem se relacionar com os dados já existentes nos bancos de dados. Os dados, sendo mantidos em um Banco de Dados Relacional facilitam a integração entre sistemas. Existem várias ferramentas, bibliotecas para a geração e visualização dos dados a partir de um Banco de Dados Relacional, facilitando assim o uso da informação para outros fins além de aplicações Web. O esforço necessário para a exportação de dados de um banco relacional para XML é muito pequeno, geralmente demandando apenas uma cláusula ou comando a mais em SQL. O que às vezes é necessário é a definição de um arquivo XSL, para que o XML gerado esteja em um determinado formato, diferente do padrão gerado pelo SGBD e recuperação após falha. SGBDs Relacionais são populares, genéricos e fáceis de usar. Existe recuperação de informações caso ocorram falhas Principais desvantagens em trabalhar com bancos de dados relacionais. A representação dos dados é limitada aos relacionamentos, o que pode ser um problema para algumas áreas. Existe uma incompatibilidade entre o que o relacionamento e o elemento XML podem representar, pois o elemento definido em XML possui mais flexibilidade natural do que o relacionamento, ou seja, um relacionamento (a linha de uma tabela, por exemplo), é composto de uma quantidade fixa de caracteres (colunas) e cada uma contém um item dos dados (registros). Enquanto um elemento XML pode armazenar uma quantidade aleatória em características (como os subelementos ou atributos) e cada sub-elemento pode conter mais de um item dos dados. Neste caso o relacionamento pode ser facilmente expresso em XML, mas carregar dados de um documento XML arbitrário em um Banco de Dados, na maioria das vezes é difícil. 33

37 Outra desvantagem é a dificuldade de se importarem dados XML de um Banco de Dados e fazer mudanças em esquemas (schemas dos documentos). Dificuldade de reconstrução total dos documentos. As consultas possuem um numero excessivo de junções ARMAZENAMENTO DE DADOS XML EM BANCO DE DADOS XML NATIVOS. O termo SBGD XML nativo surgiu pela primeira vez durante a campanha de lançamento do SGBD Tamino, que foi o primeiro Banco de Dados XML a ser desenvolvido. Devido ao sucesso da campanha, o termo passou a ser usado, desde então.(tamino, 2006) Bancos de dados XML são um conjunto de documentos orientados ao processamento de dados, possuem a capacidade de tratar os dados Semi-Estruturados. Possui um gerenciador de dados que é capaz de armazenar e extrair dados no formato XML sem a necessidade de programação. Não há uma definição formal do que é um SGBD XML nativo, entretanto uma possível definição, a qual é bastante aceita, é a que diz que um SGBD XML nativo: Define um modelo lógico para um documento XML, armazena e recupera documentos de acordo com esse modelo. No mínimo, o modelo deve incluir atributos, elementos, PCDATA e ordem de documentos que devem ser mantidas. Essa definição é bastante similar a de outros tipos de SGBD, obviamente baseada no modelo usado para cada um dos outros tipos de SGBD. Tem um documento XML como unidade fundamental (lógica) de armazenamento, assim como um SGBD relacional tem uma linha como unidade fundamental (lógica) de armazenamento, por exemplo. Não necessariamente tem um documento XML como modelo fundamental de armazenamento físico. Ele pode, por exemplo, ser construído sobre um Banco de Dados Relacional, hierárquico ou objeto-relacional. É altamente recomendado o uso de Banco de Dados XML quando se quer capturar dados de uma área com relacionamentos hierárquicos complexos, como nos Banco de Dados científicos e também grandes empresas que possuam sistemas de produção. Teoricamente Banco de Dados XML nativos trabalham melhor com dados XML, do que Banco de Dados Relacionais, uma vez que foram desenvolvidos com esta finalidade, pois propriedades especificas dos dados são aproveitadas. A grande diferença entre um Banco de 34

38 Dados XML nativo e um Banco de Dados Relacional é que o modelo interno de armazenamento de um Banco de Dados XML é totalmente baseado em XML, que trabalham com dados semi-estruturados, sendo que Banco de Dados Relacionais foram desenvolvidos para trabalhar com dados estruturados. Hoje não é difícil encontrar bancos de dados que possuam SGBD XML, pois já existem muitos destes bancos de dados disponíveis para sistemas comerciais, além de que é possui desenvolver um banco XML do zero, ou até mesmo desenvolve-lo sobre outros SGBD, inclusive SGBDs relacionais, o que oferece muitas vantagens, como a segurança em que os dados são mantidos, relacionamento entre outros aplicativos que acessam o Banco de Dados Relacional, ferramentas de consultas e exportação de dados. Banco de Dados XML, possuem uma estrutura própria onde é possível armazenar os dados XML na forma Nativa, não sendo necessários mapeamentos como no armazenamento em Banco de Dados Relacionais, pois os Bancos de Dados Nativos XML possuem um modelo lógico específico para tratar documentos XML. SGBD XML fornece acesso direto aos documentos XML e também a trechos dele. Em Banco de Dados XML nativos é possível armazenar recuperar e modificar os dados. Porém para que isto aconteça um documento XML deve ter no mínimo uma Definição de elementos como DTD, por exemplo, e a ordem dos dados deve ser mantida no documento, ou seja, deve ter um esquema definido para o documento que não necessariamente deve seguir o esquema do Banco de Dados. Um modelo bom de Banco de Dados XML deve ser capaz de suportar armazenamento de conteúdo misto e dados altamente semi-estruturados. Normalmente aplicações que trabalham com DODocs que utilizam este tipo de armazenamento, que possui vantagens e desvantagens comparadas ao armazenamento em Banco de Dados Relacionais, esta comparação será apresentada detalhadamente mais a frente. SGBDs XML nativos são, geralmente, mais úteis para armazenar documentos do tipo centrado em documentos porque esses tipos de SGBDs preservarem características como ordem, comentários, sessões CDATA, entre outras, enquanto que os SGBDs que suportam XML não as preservam. Além disso, os SGBDs XML nativos suportam linguagens de consulta XML, o que torna possível uma consulta do tipo Retornar todos os documentos cujo primeiro parágrafo começa com uma palavra em itálico.. Obviamente que este tipo de consulta não é muito trivial em outro tipo de SGBD. Uma das condições para que um Banco de Dados seja considerado XML, é que ele suporte ao menos uma linguagem de consulta para documentos XML. 35

39 Segundo (Graves, 2003) as operações fornecidas pelo Banco de Dados XML são mais destinadas à manipulação de dados do que ao processamento de texto. Ainda hoje estão sendo desenvolvidas novas pesquisas para melhorar esta área onde os dados XML são armazenados em Banco de Dados específicos para dados XML. Pois este tipo de armazenamento se encontra ainda no estágio inicial de desenvolvido, como já citado a principio Bancos de Dados XML Nativos trabalham melhores que os Bancos de Dados Relacionais, onde deve haver uma adaptação. Uma vez que Banco de Dados XML nativos são sistemas desenvolvidos para o tratamento dos dados semi-estruturados, apesar disto podem existir problemas na hora de recuperar os dados armazenados em Banco de Dados XML Nativos, ou atualizar estes dados, o que é feito facilmente quando os dados estão armazenados em Banco de Dados Relacionais Características de SGBS XML nativos Coleções de documentos Muitos SGBDs suportam a noção de coleção. Elas têm papel similar às tabelas em bancos relacionais ou diretórios em um sistema de arquivos. Um exemplo claro disso é quando se deseja armazenar todos os filmes de uma locadora. Para isso, pode-se usar uma coleção para armazenar os filmes e dentro dessa coleção uma coleção de atores de cada filme. Linguagens de consulta Quase todos os SGBDs suportam uma ou mais linguagens de consulta, sendo que as mais populares são a XPath e a XQuery. No entanto, deve-se levar em conta na hora da escolha de um SGBD XML nativo a linguagem de consulta que mais se adequar às necessidades do sistema a ser desenvolvido. Transações, travamento e concorrência Todos os SGBDs XML nativos suportam transações. Entretanto, o travamento é feito em nível de documento e não em nível de fragmentos de documento; conseqüentemente, concorrência entre usuários deve ser baixa. Obviamente que isto depende da aplicação e o que é entendido como um documento, ou seja, como ele é constituído. 36

40 Por exemplo, se os filmes de uma locadora são armazenados em documentos separados, dificilmente haverá problemas de concorrência, mas se a aplicação armazenar todos os filmes em um único documento, haverá problemas enormes. Dados remotos Alguns SGBDs XML nativos podem incluir dados remotos em documentos armazenados no banco. Geralmente esses dados são recuperados de um banco relacional usando ODBC, OLE DB ou JDBC, por exemplo. Índices Assim como em qualquer Banco de Dados, os índices são usados para aumentar a performance em consultas. Quase todos os SGBDs XML nativos suportam a indexação de elementos e atributos. Normalização A normalização de dados em um banco XML nativo é basicamente idêntica a normalização de um banco relacional. Uma boa modelagem dos documentos deve garantir que nenhum dado seja repetido, causando inconsistências. Uma vantagem da normalização em bancos XML nativos é que eles suportam propriedades multivaloradas, enquanto que a maioria dos relacionais não suporta. Isso torna possível normalizar os dados de uma forma mais simples e intuitiva. Voltando ao exemplo da loja de filmes. Para armazenar os atores de um filme em um banco relacional, deve-se criar uma outra tabela que armazenará os atores de cada filme, um ator por filme, por linha. Em um banco XML nativo, esta informação pode ser armazenada em um único documento sem redundância, já que a própria natureza hierárquica de XML garante isso, pois um elemento pai pode ter vários elementos filhos. Integridade referencial Assim como para normalização, a integridade referencial também é semelhante a bancos relacionais em banco XML nativos. Em resumo, serve para garantir a validade de ponteiros entre dados de diferentes tabelas. Por exemplo, não é aconselhável que um ator esteja relacionado a um filme que não existe. 37

41 Em bancos relacionais, a integridade referencial garante que chaves estrangeiras apontem para chaves primárias válidas. Em bancos XML nativos, a integridade referencial garante que mecanismos de linkagem apontem para documentos ou fragmentos de documentos válidos. Escalabilidade Escalabilidade é a capacidade de manter a alta performance mesmo com um aumento significativo do tamanho ou carga do banco. Assim como bancos hierárquicos e relacionais, os XML nativos usam índices para procurar dados. Isto significa que localizar documentos e fragmentos de documentos está relacionado com o tamanho do índice e não com tamanho ou quantidade de documentos. Dado isso, a performance dos bancos XML nativos é a mesma comparada a outros tipos de bancos. Conseqüentemente, a escalabilidade desses bancos é semelhante a dos outros. Ao contrário dos bancos relacionais, os bancos XML nativos linkam dados relacionados fisicamente, os quais linkam usando links lógicos. Por esse motivo, eles deveriam ter uma boa escalabilidade com relação à consulta de dados. No entanto, esta escalabilidade é limitada; essa ligação física somente se aplica a uma hierarquia particular, assim a recuperação de dados em uma hierarquia diferente não é tão rápida quanto à recuperação em uma mesma hierarquia. Para minimizar esse problema, os bancos XML nativos usam largamente índices, algumas vezes até indexando todos os elementos e atributos. Isto pode ser uma solução para bancos que são mais usados para consultas, mas quando muitas atualizações são feitas, essa performance cai drasticamente. Quando um banco XML nativo faz consultas por dados não indexados, eles se comportam muito mal, bem pior que os bancos relacionais, principalmente devido à normalização não tão boa. Por exemplo, em um banco relacional, para procurar todos os filmes vendidos em determinada data, o banco deve ler todas as colunas datavenda. No caso de um banco XML nativo, o banco deve percorrer todos os documentos de vendas por completo e procurar pelo elemento <datavenda>. Então, devem-se levar em conta esses fatores antes de se decidir por um banco XML nativo. Se a aplicação vai recuperar os dados na ordem que eles foram armazenados, não haverá problema, ele deverá escalar bem. Esse é o caso de documentos centrados em documento. Caso contrário escalabilidade pode ser um problema 38

42 Tamino. O Tamino foi desenvolvido pela empresa Software AG e combina o armazenamento nativo de documentos XML com um servidor Web. Este SGBD é dividido em três camadas que permitem o armazenamento nativo do documento XML, integração com bancos de dados relacionais e a agregação de funções definidas pelos usuários. (TAMINONATIVE, 2006) Devido ao fato dos dados poderem ser armazenados de forma nativa, em bases relacionais ou em sistemas de arquivos, um documento XML pode ser composto por dados de fontes heterogêneas. Além do armazenamento de documentos XML, ele também armazena dados não estruturados como arquivos de vídeo, áudio e imagens. Ao armazenar um documento, é possível especificar uma DTD que será convertida no esquema do Tamino, que é baseado no XML Schema; armazenar um documento bemformado sem esquema ou criar um esquema através de uma ferramenta do Tamino Principais vantagens em trabalhar com Banco de Dados XML. Uma das vantagens da XML é que sua estrutura é mais expressiva do que os relacionamentos usados em Banco de Dados Relacionais. O relacionamento é um conjunto desordenado de registros, em que cada um possui um conjunto fixo de caracteres (ou atributos em documentos XML). A Estrutura de um elemento XML é muita mais expressiva que a do relacionamento, porque ela pode conter outros elementos, variar a ordem e a quantidade de atributos, podendo ter vários elementos do mesmo tipo, tornando mais fácil representar dados muito complexos, facilitando a compreensão tanto para homens quanto para máquinas. Dados XML, principalmente dados presentes em DODocs, apresentam estruturas muito irregulares, tornando complexo o armazenamento e o gerenciamento através de um Banco de Dados relacional. Um Banco de Dados XML nativo já é projetado para lidar com dados semi-estruturados e trabalha de forma eficiente e rápida. Certas aplicações para a Web (no domínio de comércio eletrônico, por exemplo) podem ter regras de negócio que ainda não estão totalmente definidas, gerando freqüentemente páginas dinâmicas conforme a natureza da negociação feita com o cliente. Tais aplicações podem não querer investir no projeto de um Banco de Dados com estrutura mais estática, preferindo armazenar as transações personalizadas de negócio em documentos XML com formatações mais flexíveis. 39

43 O custo da extensão de um Banco de Dados Relacional para permitir o suporte a dados XML tende a ser maior do que o custo para desenvolver um Banco de Dados XML nativo, considerando as diversas ferramentas já existentes para a tecnologia XML (processadores XPath e XSL, parsers para DTD e para DOM, etc). Este fator custo pode fazer a diferença no momento em que um cliente deseja adquirir um Banco de Dados com suporte para XML; Um Banco de Dados Relacional pode não ser capaz de recuperar a estrutura física completa de um documento XML e executar consultas e transações sobre um documento como um todo Principais desvantagens em trabalhar com banco de dados XML Hoje não existe uma linguagem padrão para recuperação dos dados XML, ao se implantar um Banco de Dados XML em uma empresa, por exemplo, pode ser que seja necessário um treinamento para pessoas que trabalharam com este sistema, acarretando custos. Mesmo existindo algumas linguagens que são padrão da W3C ainda assim existem algumas limitações como modificações dos dados, hoje são poucos os Bancos de Dados que possuem uma linguagem que forneça suporte para atualizar dados, na maioria das vezes é necessário recuperar o dado, alterar e em seguida inseri-lo no banco novamente. Outras desvantagens são apresentadas abaixo. Nenhuma arquitetura padrão comum. Poucos fornecedores fornecem soluções mais completas. Ainda sem boas ferramentas de administração e desenvolvimento. Banco de Dados XML nem sempre são fáceis de instalar e configurar. A principio parece que trabalhar com Banco de Dados XML, é melhor que trabalhar com Banco de Dados Relacionais quando se quer armazenar documento XML, apesar das vantagens apresenta pela tecnologia de armazenamento em Banco de Dados XML. Não podemos decidir qual tecnologia utilizar, apenas pelas comparações, pois tudo depende muito das necessidades de cada aplicação, além disto, é necessário mais tempo para avaliar se os Banco de Dados XML irão conquistar ou não uma fatia no mercado de produtos de Bando de Dados. Porém independente disto deve ficar claro que os Banco de Dados XML não têm a intenção de marcar histórica como uma nova geração de SGBDs, uma vez que Banco de Dados Relacionais continuam sendo adequados a aplicações que lidam com dados estruturados. 40

44 Tabela Comparativa Banco Dados Relacional vs. Banco Dados XML Bancos relacionais contém relações Tabela relacional contém registros com mesmo esquema Registro relacional é lista de valores Banco de Dados Relacional As consultas são feitas em SQL, uma linguagem de consulta padrão de Banco de Dados Relacionais ou orientados a objeto, que usa tabelas como um modelo básico. O resultado de uma consulta é uma tabela contendo um conjunto de linhas. Banco XML contém coleções Coleção contém documentos XML com mesmo DTD Documento XML é uma árvore de nós Banco de Dados XML As consultas são feitas em uma linguagem desenvolvida especialmente para o consulta de dados XML, uma linguagem de consulta que usa uma estrutura XML como um modelo básico. O resultado de uma consulta é um conjunto de nós de um ou mais documentos XML que podem ser empacotados em um nó raiz, criando um documento XML bem formado. SQL query retorna conjunto não ordenado de registros XML Query retorna uma seqüência não ordenadade nós 4.5. ARMAZENAMENTO DE DADOS Uma coisa que precisamos verificar antes de armazenar os dados de um documento XML em um Banco de Dados é o nível de integração que dados XML terão com os outros dados que já estão armazenados n base de dados, depois de respondida a esta pergunta poderemos escolher a tecnologia a ser aplicada. A definição de um esquema para Banco de Dados que armazenam documentos semiestruturados está relacionada à definição de esquema do próprio documento XML. Portanto, o entendimento e a escolha da melhor forma de definir a estrutura de documentos XML podem influenciar na forma com que esses documentos serão armazenados e posteriormente manipulados pelo sistema gerenciador de Banco de Dados ou ainda interferir no processo de troca de informações entre sistemas diferentes. A escolha de uma estrutura que defina satisfatoriamente a estrutura de um documento XML envolve bem mais do que os recursos que serão disponibilizados por tal escolha ou vantagens e desvantagens que cada banco 41

45 possui. A finalidade da estrutura de definição de documentos XML é um fator relevante para sua escolha e que deve ser considerado. Segundo (Graves, 2003) se os dados a serem capturados em XML ficarem muito integrados ao resto dos dados que já estão armazenados de uma forma relacional, é mais eficaz empregar é a conversão dos dados entre XML e formas relacionais. Caso os dados de um documento XML ficarem completamente isolados dos dados de um modelo relacional, então é mais interessante utilizar um SGBD separado para armazenar os dados, quando a integração estão entre os dois extremos, armazenar os documentos XML em um Banco de Dados Relacional possui muito mais vantagens. 5.0 ESTUDO DE CASO Com o objetivo de validar as comparações feitas anteriormente, nesta seção será apresentado um exemplo de estudo de caso, onde dois documentos XML serão armazenados primeiro no Banco de Dados Relacional Oracle 10g e depois no Banco Dados XML Nativo Tamino 4.1. Este estudo de caso tem como objetivo primário validar as comparações já feitas entre os bancos de dados e objetivo secundário orientar o leitor na escolha entre um Banco de Dados XML Nativo e um Banco de Dados Relacional para armazenamento de dados XML, para isto será montado uma tabela mostrando vantagens e desvantagens de cada tecnologia, o exemplo de estudo de caso não será nada muito complexo, como já citado serão dois documentos. Portanto podem ocorrer divergências de vantagens ou desvantagens já apresentadas com as novas vantagens e desvantagens apresentadas agora, visto que o principal objetivo deste estudo de caso é justamente validar o que já foi comparado. O primeiro documento contém informações pessoais de alguns alunos, como nome, RA, data de nascimento, endereço, telefone e o código do curso que é feito pelo aluno, o segundo documento contém informações sobre o curso que o aluno faz como nome do curso, nota do curso no MEC, duração do curso, e valor do curso. A faculdade precisa armazenar estas informações em um Banco de Dados, pois frequentemente precisa recuperar estas informações e algumas vezes é preciso atualizar as informações quando um aluno muda de endereço ou ate mesmo de curso. 42

46 Algumas comparações são feitas abaixo, No final desta sessão está resumido através de uma tabela comparativa algumas das características de cada um destes SGBDs no que diz respeito ao tratamento destes documentos. Armazenamento no Oracle 10g A versão Oracle 10g é composta por um conjunto de componentes, denominado Oracle XML DB, direcionados exclusivamente ao tratamento de dados em documentos XML. Este conjunto de componentes também esta de acordo com as definições da W3C e interpreta o modelo XML Schema, o que permite a validação de documentos armazenados no banco. Os principais componentes do Oracle XML DB são as tabelas e visões do tipo XMLType e o Repositório Oracle XML DB, ambos são apresentados na figura abaixo. Figura 1: Arquitetura do Oracle XML DB. Fonte: Documentação do Oracle 9i versão 2 (ORACLE, 2002). 43

47 Para inserir os documentos XML no Banco de Dados Relacional Oracle foi utilizado o tipo XMLType, que é a principal característica do Oracle XML DB, foram criadas duas tabelas, uma chamada Aluno que possui duas colunas. A primeira coluna é do tipo NUMBER e vai identificar o ID do documento XML que será armazenado. A segunda coluna é do tipo XMLType onde serão armazenados os dados que estão no documentos XML. O mesmo foi feito para a tabela Cursos, foram criadas duas colunas, um id do tipo NUMBER para identificar o documento XML que será armazenado e uma segunda coluna do tipo XMLType onde serão armazenados todos os dados do documento. Diferente de algumas informações apresentadas no desenvolvimento do projeto, o Banco de Dados Oracle 10g, oferece muitas ferramentas para se trabalhar com documentos XML, inclusive em sua forma nativa. Pois por ser um novo padrão de transferência de dados, as grandes empresas de Banco de Dados estão investindo em suportes nativos para dados XML. Como o Oracle 10g oferece um suporte nativo para armazenamento de documentos XML, não houve grandes dificuldades na hora de armazenador os dados XML no Banco de Dados. Uma outra grande vantagem é a recuperação do documento, tipo XMLType permite a utilização da linguagem padrão de consulta SQL, é perfeitamente possível recuperar os dados. Através do comando Update é possível fazer atualizações em qualquer elemento, os elementos também podem ser removidos utilizando o comando DELETE. Foram testados também controle de integridade e controle de transação, da mesma forma que um Banco de Dados Relacional trato os dados relacionais, trata também os dados de um documento XML, ou seja, as modificações só são efetivadas após um commit, ou são descartadas após um rollback. Referente ao controle de transação, o Banco de Dados não permite que se altere um mesmo elemento ao mesmo tempo, para execução deste teste foram abertas duas sessões do Banco de Dados, uma sessão atualiza um dado, utilizando o comando UPDATE, porém após a atualização não da commit e nem rollbak, ao abrir a segunda sessão, e tentar atualizar o mesmo dado, não é possível, garantindo o controle de transação. Foi apresentado que para o armazenamento de documentos XML em Banco de Dados Relacionais, deve existir um schema associado ao documento, como o oracle 10g oferece um suporte nativo a XML, é possível armazenar o documento sem qualquer schema associado, 44

48 porém não é recomendado, pois um documento XML sem um schema torna-se um documento não valido. Para fazer a validação de um documento XML após serem armazenados no Banco de Dadosos esquemas que devem ser do tipo XML Schema, devem ser previamente registrados no Oracle XML DB. Os documento que são baseados em um esquema são mapeados em tabelas e podem ser acessados através do Repositório XML DB. Utilizando tabelas ou visões do tipo XMLType é possível indexar os dados, ou seja, a utilização de índices. É possível também armazenar os documentos XML no XML DB, ao invés de inserir em uma coluna ou tabela do tipo XMLType, porém para realização dos testes no Oracle 10g só foi utilizado o armazenamento em tabelas do tipo XMLType. O Oracle 9i utiliza as formas nativa e mapeamento em estrutura objeto-relacional como forma de armazenamento dos documentos XML, enquanto o Tamino armazena documentos XML na sua forma nativa. Outras opções para armazenamento de documentos XML no oracle são apresentadas abaixo. Fazer um parse do documento XML, externamente ao Oracle 9i, e armazenar os dados do documento XML como linhas em uma ou mais tabelas. Neste cenário, o SGBD não tem idéia de que está gerenciando um conteúdo XML; Armazenar o documento XML no Banco de Dados do Oracle 9i usando colunas do tipo CLOB ou VARCHAR. Novamente neste cenário, o SGBD não tem idéia de que está gerenciando um conteúdo XML, mas é possível, através de aplicações, fazer uso do XML Developer s Kit (XDK23) para efetuar operações XML. 45

49 Alguns Exemplos no Oracle 10g Criação da Tabela Para armazenar informações do documento aluno.xml Figura 2. Criação Tabela aluno no Oracle Figura 3. Criação tabela curso no Oracle. Figura 4. Inserindo informações na tabela aluno no Oracle. 46

50 Figura 5. Atualizando dados da tabela aluno no Oracle. =================================================================. Figura 6. Selecionando informações da tabela aluno e curso no oracle TAMINO Como já citado, para efetuar os testes, armazenando documentos XML em bancos de dados nativos, foi escolhido o Banco de Dados XML Tamino e o Banco de Dados XML open Source exist. O Projeto exist é um banco de dados open source nativo XML, com características de processamento baseado em índices XQuery, suporte XUpdate, é um banco de dados parecido com o tamino, por isto será dado mais ênfase na explicação de processamento do banco de dados tamino, por ser um banco de dados mais conhecido. O tamino é dividido em três camadas, a primeira permite o armazenamento nativo do documento XML, a segunda a integração com outros bancos de dados relacionais e a terceira a agregação de funções definidas pelos usuários. 47

51 Utilizando o tamino é possível também armazenar arquivos de vídeo, áudio e imagens, que não serão discutidos neste trabalho, pois não é o foco. Para armazenar um documento XML no tamino, o documento deve ter um Esquema XML associado a ele, no momento do armazenamento este esquema do documento, é convertido para o esquema do tamino, o Tamino utiliza o XML Schema, ou seja, se o esquema do documento for DTD, a conversão será feita para o XML Schema automaticamente. O servidor Tamino pode ser dividido em dois grupos de serviços: um que é responsável por serviços fundamentais (Core Services) ao funcionamento do Tamino e o outro que provê uma camada adicional de funcionalidades (Enabling Services) ao servidor Tamino e que não são fundamentais. A figura abaixo apresenta a arquitetura do servidor Tamino. Figura 7: Arquitetura do Tamino Fonte: Documentação do Tamino versão 3.1 SoftwareAg (TAMINO, 2002). O serviço que permite o armazenamento e recuperação dos objetos XML em sua forma nativa é o XML Engine, este serviço é composto pelos seguintes sub-componentes: XML Parser, Object Processor, Query Processor e Document Compose. XML Parser: Os documentos XML armazenados no Tamino são descritos pelos seus esquemas definidos no Tamino Data Map. O XML Parser verifica se o documento está correto de acordo com o esquema e se ele é um documento bemformado; Object Processor: é utilizado ao armazenar dados no Tamino. Instâncias XML são validadas conforme o esquema lógico. O esquema físico define como essas instâncias são armazenadas, e, por exemplo, dados SQL são armazenados em tabelas e colunas SQL; 48

52 Query Processor: O Tamino utiliza uma versão estendida da XPATH que permite consultar coleções de documentos, a XQUERY. O Query Processor otimiza a consulta ao longo do esquema para resolver consultas XQUERY; Document Composer: é utilizado na junção de conjuntos de documentos. Através das regras definidas no Tamino Data Map, o Document Composer retorna o resultado de uma consulta no formato XML. Dados armazenados externamente são compostos em documentos XML com a ajuda do Tamino X-Node. Data Map é o repositório de dados do Tamino, onde contém os metadados, esquemas XML, mapeamentos para esquemas relacionais, folhas de estilo, etc. Os outros serviços não serão apresentados aqui, pois o objetivo é apresentar as formas de armazenamento. Apesar de ser recomendado, o armazenamento de documentos XML, não precisa necessariamente estar associado a um esquema XML, porém quando os dados são armazenados externamente o uso do esquema é obrigatório para permitir a definição dos parâmetros necessários para o acesso a estes dados. O esquema do documento XML pode ser definido de duas formas: manualmente através do Schema Editor ou qualquer editor de texto ou convertendo-se uma DTD em um esquema Tamino correspondente. Nos testes foi possível armazenar documentos utilizando um esquema associado, e documento sem esquema associado. A desvantagem é que não é possível fazer a validação do documento caso ele não esteja associado a um esquema, o que pode tornar os dados inconsistentes. O esquema do Tamino usa três tipos de elementos: Collection, Doctype e Node. Collection: encontra-se definida sob o componente Data Map do Banco de Dados, que pode conter múltiplas coleções. Uma coleção pode possuir zero ou mais elementos Doctypes, provendo assim, um acesso paralelo aos múltiplos Doctypes. É possível fazer a analogia de uma coleção com uma floresta, onde um Doctype pode ser considerado uma árvore. O nome de uma coleção deve ser único dentro de um Data Map. O Data Map possui uma coleção especial, chamada ino:etc, parao armazenamento de documentos bem formados não associados a um esquema. Doctype: O doctype define um tipo de documento. Para associar o doctype ao documento por ele representado, o seu nome deve ser igual ao nome do elemento raiz do documento. Através do doctype é possível determinar se, ao carregar um documento no Banco de Dados, este será validado de acordo com o esquema. Esta opção é definida pelo atributo 49

53 content, que dependendo do valor a ele atribuído, faz ou não a validação do documento na sua carga; Node: este elemento é vazio. Nodes expressam todos os itens de informação contidos no Doctype. Os nós podem ser organizados em uma estrutura de árvore, usando atributos para expressar os relacionamentos pai e filho. Assim, alguns nós são intermediários, descrevendo o caminho para o verdadeiro item de informação. Por exemplo, supondo que temos o elemento nome estruturado em primeiro e último nome, o nó representando o nome do paciente é definido como um nó intermediário, enquanto os nós representando o primeiro e o último nome contém os caracteres, sendo por isso chamados de nós terminais ou folhas. O armazenamento de documentos no Tamino pode ser feito de duas formas diferentes: Através do Manager, utilizando-se o Data Loader29, ou através de uma URL que acessa o servidor Tamino, passando como parâmetro o Banco de Dados e a coleção na qual o documento será armazenado. Esta URL pode ser usada diretamente na barra de endereços do navegador WEB, no Interactive Interface ou através de aplicações utilizando APIs dotamino. O documento ao ser carregado, caso esteja definida a validação no doctype, é validado segundo o esquema. Caso ele esteja conforme a definição no esquema, ele é carregado corretamente. Caso contrário, ele será descartado. Para cada novo documento carregado no Banco de Dados, o elemento raiz deste documento recebe um atributo de identificação chamado ino:id. Utilizando o Tamino também é possível criar índices para melhorar a performance das consultas. O Tamino possui uma linguagem de consulta própria a X-QUERY, esta linguagem é uma extensão da linguagem XPATH. O armazenamento de documentos XML no Tamino é muito simples, basta criar uma coleção e em seguida armazenar o documento, vários documentos podem estar em uma mesma coleção. Utilizando o Tamino, não é possível fazer atualizações em documentos, ou seja, caso seja necessário atualizar algum elemento, é necessário recuperar o documento todo, alterar e em seguida armazenar novamente o mesmo documento. O tamino não garante também a integridade referencial dos relacionamentos, mesmo quando elementos estão dentro de uma mesma coleção. Porém as consultas são retornadas de forma mais rápida no tamino do que no Oracle 10g, pois são utilizados ponteiros físicos, ao invés de lógicos, entre as partes do documento na hora do armazenamento. Isto faz com que 50

54 os documentos sejam recuperados sem joins ou com joins físicos, os quais são mais rápidos do que os joins lógicos que é utilizado pelo Oracle 10g. Exemplos no Banco de Dados XML exist. Para armazenamento de documentos primeiro é necessário criar uma coleção, onde serão armazenados documentos em comum. Abaixo estão exemplos de como foram criadas as coleções e armazenamento dos documentos XML. Figura 8. Tela de criação de coleções no Banco de Dados XML exist. 51

55 Figura 9. Criação de uma coleção chamada TCC. Figura 10. Armazenamento dos documentos aluno.xml e curso.xml no Banco de Dados exist. 52

56 Figura 11. Documento curso.xml após armazenado no banco de dados. Figura 12. Retornando todos documentos armazenados na coleção TCC 53

57 Figura 13. Retornando todos os registros onde possui o elemento aluno dentro da coleção 54

58 Figura 14. Retorna todas as datas de nascimento armazenadas Retorna verdadeiro se dentro do documento existir um aluno chamado Antonio Figura 15. Retorna verdadeiro se dentro do documento existir um aluno chamado Antonio 55

59 Retorna todos alunos que fazem algum curso na faculdade. Figura 16. Retorna todos os alunos que fazem algum curso na faculdade. 56

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados 1. Introdução O governo é um dos maiores detentores de recursos da informação. Consequentemente, tem sido o responsável por assegurar que tais recursos estejam agregando valor para os cidadãos, as empresas,

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

agility made possible

agility made possible RESUMO DA SOLUÇÃO Utilitário ConfigXpress no CA IdentityMinder a minha solução de gerenciamento de identidades pode se adaptar rapidamente aos requisitos e processos de negócio em constante mudança? agility

Leia mais

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Sistemas de Informação RENATO SULZBACH MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES

Leia mais

GBD PROF. ANDREZA S. AREÃO

GBD PROF. ANDREZA S. AREÃO GBD PROF. ANDREZA S. AREÃO Dado, Informação e Conhecimento DADO: Estímulos captados pelos sentidos humanos; Símbolos gráficos ou sonoros; Ocorrências registradas (em memória, papel, etc.); Indica uma situação

Leia mais

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores

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

Resolução da lista de exercícios de casos de uso

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

Leia mais

GESTÃO DA CADEIA DE SUPRIMENTOS FORMAS DE TROCA DE INFORMAÇÃO: EDI E XML

GESTÃO DA CADEIA DE SUPRIMENTOS FORMAS DE TROCA DE INFORMAÇÃO: EDI E XML GESTÃO DA CADEIA DE SUPRIMENTOS FORMAS DE TROCA DE INFORMAÇÃO: EDI E XML Prof. Dr. Daniel Caetano 2016-1 Objetivos Compreender as diferentes tecnologias de troca de informação em uma Cadeia de Suprimentos

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

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

3 Qualidade de Software

3 Qualidade de Software 3 Qualidade de Software Este capítulo tem como objetivo esclarecer conceitos relacionados à qualidade de software; conceitos estes muito importantes para o entendimento do presente trabalho, cujo objetivo

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,

Leia mais

Empreenda! 9ª Edição Roteiro de Apoio ao Plano de Negócios. Preparamos este roteiro para ajudá-lo (a) a desenvolver o seu Plano de Negócios.

Empreenda! 9ª Edição Roteiro de Apoio ao Plano de Negócios. Preparamos este roteiro para ajudá-lo (a) a desenvolver o seu Plano de Negócios. Empreenda! 9ª Edição Roteiro de Apoio ao Plano de Negócios Caro (a) aluno (a), Preparamos este roteiro para ajudá-lo (a) a desenvolver o seu Plano de Negócios. O Plano de Negócios deverá ter no máximo

Leia mais

Gerenciamento do ciclo de vida de um documento Simone de Abreu

Gerenciamento do ciclo de vida de um documento Simone de Abreu Gerenciamento do ciclo de vida de um documento Simone de Abreu É o gerenciamento do ciclo de vida de todos os registros, em todos os tipos de mídia, desde a criação até a destruição ou arquivo permanente.

Leia mais

TÉCNICAS DE PROGRAMAÇÃO

TÉCNICAS DE PROGRAMAÇÃO TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente

Leia mais

Desenvolvimento em Ambiente Web. HTML - Introdução

Desenvolvimento em Ambiente Web. HTML - Introdução Desenvolvimento em Ambiente Web HTML - Introdução O que é HTML? HTML é uma linguagem para descrever a estrutura de uma página WEB. Ela permite: Publicar documentos online com cabeçalhos, texto, tabelas,

Leia mais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

O Gerenciamento de Documentos Analógico/Digital

O Gerenciamento de Documentos Analógico/Digital Tipos de GED: Document imaging Document management Document Imaging / Document Management O Gerenciamento de Documentos Analógico/Digital Mundo analógico Criação Revisão Processamento Arquivo Mundo digital

Leia mais

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de

Leia mais

Internet. Gabriela Trevisan Bacharel em Sistemas de Infomação

Internet. Gabriela Trevisan Bacharel em Sistemas de Infomação Internet Gabriela Trevisan Bacharel em Sistemas de Infomação Histórico da Web World Wide Web o nosso www é o meio de comunicação mais utilizado no mundo atualmente. Através da WWW qualquer usuário conectado

Leia mais

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores Conceitos Básicos de Rede Um manual para empresas com até 75 computadores 1 Conceitos Básicos de Rede Conceitos Básicos de Rede... 1 A Função de Uma Rede... 1 Introdução às Redes... 2 Mais Conceitos Básicos

Leia mais

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos. Banco de Dados O que é um Banco de Dados? Este assunto é muito vasto, tentaremos resumi-lo para atender as questões encontradas em concursos públicos. Já conhecemos o conceito de dado, ou seja, uma informação

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

Guia de utilização da notação BPMN

Guia de utilização da notação BPMN 1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação

Leia mais

MANUAL DA SECRETARIA

MANUAL DA SECRETARIA MANUAL DA SECRETARIA Conteúdo Tela de acesso... 2 Liberação de acesso ao sistema... 3 Funcionários... 3 Secretaria... 5 Tutores... 7 Autores... 8 Configuração dos cursos da Instituição de Ensino... 9 Novo

Leia mais

soluções inovadoras para desafios de negócios Manual explicativo do quadro do modelo de negócios passo a passo com exemplos

soluções inovadoras para desafios de negócios Manual explicativo do quadro do modelo de negócios passo a passo com exemplos soluções inovadoras para desafios de negócios Manual explicativo do quadro do modelo de negócios passo a passo com exemplos O quadro do modelo de negócios O Business Model Canvas (Quadro do Modelo de Negócios)

Leia mais

MOODLE NA PRÁTICA PEDAGÓGICA

MOODLE NA PRÁTICA PEDAGÓGICA Carmen Mathias Agosto - 2009 I. CADASTRO 1. Acessar o site de treinamento (teste): http://moodle_course.unifra.br/ 2. Faça o login, clicando em acesso no lado direito superior da tela: 3. Coloque seu nome

Leia mais

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento O modelo Entidade-Relacionamento Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento 1 Antes de começarmos: A modelagem conceitual é uma fase muito importante no plamejamento de um

Leia mais

2 Ferramentas Utilizadas

2 Ferramentas Utilizadas 2 Ferramentas Utilizadas Esta dissertação utiliza vários outros trabalhos para implementar os mecanismos de adaptação abordados. Essas ferramentas são descritas nas seções seguintes. 2.1 Lua Lua [7, 8]

Leia mais

Web Design Aula 11: XHTML

Web Design Aula 11: XHTML Web Design Aula 11: XHTML Professora: Priscilla Suene priscilla.silverio@ifrn.edu.br Motivação HTML 1.0-2.0: Havia hipertextos, não havia preocupação com a apresentação HTML 3: Guerra dos Browser (Microsoft

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

Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados

Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados 01) Defina com suas próprias palavras: a) Banco de Dados b) Sistema Gerenciador de Banco de Dados c) Sistema de Banco de

Leia mais

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03 Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03 Agenda 1. Arquitetura de Software 1.1.Introdução 1.2.Vantagens da Arquitetura de Software

Leia mais

XML Básico. Murillo Vasconcelos Henriques B. Castro. 17 de maio de 2011

XML Básico. Murillo Vasconcelos Henriques B. Castro. 17 de maio de 2011 XML Básico Murillo Vasconcelos Henriques B. Castro 17 de maio de 2011 O QUE É? Sigla para extensible Markable Language É uma linguagem de marcação, assim como HTML Desenvolvida para ser auto explicativa

Leia mais

Dados. Qualquer elemento (aspecto, fato, medida etc.) representativo, disponível e coletável na realidade. fatos no estado bruto, conforme Platão;

Dados. Qualquer elemento (aspecto, fato, medida etc.) representativo, disponível e coletável na realidade. fatos no estado bruto, conforme Platão; Dados Os Dados são os fatos em sua forma primária, como observamos no mundo. Qualquer elemento (aspecto, fato, medida etc.) representativo, disponível e coletável na realidade. fatos no estado bruto, conforme

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

Apostilas OBJETIVA Atendente Comercial / Carteiro / Op. Triagem e Transbordo CORREIOS - Concurso Público 2015 2º CADERNO. Índice

Apostilas OBJETIVA Atendente Comercial / Carteiro / Op. Triagem e Transbordo CORREIOS - Concurso Público 2015 2º CADERNO. Índice 2º CADERNO Índice Pg. Microsoft Office: Excel 2010... Exercícios pertinentes... 02 63 Microsoft Office: Power Point 2010... Exercícios pertinentes... 104 146 Internet e Intranet. Conceitos básicos, navegadores

Leia mais

TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo

TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo Tópicos abordados Surgimento da internet Expansão x Popularização da internet A World Wide Web e a Internet Funcionamento e personagens da

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

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos

Leia mais

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB 18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB Autor(es) HARLEI MIGUEL DE ARRUDA LEITE Orientador(es) PLÍNIO ROBERTO SOUZA VILELA Apoio Financeiro PIBIC/CNPQ

Leia mais

Manual de Rotinas para Usuários. Advogados da União. Procuradoria da União no Estado do Ceará PU/CE SAPIENS. Sistema da AGU de Inteligência Jurídica

Manual de Rotinas para Usuários. Advogados da União. Procuradoria da União no Estado do Ceará PU/CE SAPIENS. Sistema da AGU de Inteligência Jurídica Manual de Rotinas para Usuários Advogados da União Procuradoria da União no Estado do Ceará PU/CE SAPIENS Sistema da AGU de Inteligência Jurídica Versão 1.0 2015 1 INTRODUÇÃO 3 1.1 O QUE É O SAPIENS? 3

Leia mais

XHTML 1.0 DTDs e Validação

XHTML 1.0 DTDs e Validação XHTML 1.0 DTDs e Validação PRnet/2012 Ferramentas para Web Design 1 HTML 4.0 X XHTML 1.0 Quais são os três principais componentes ou instrumentos mais utilizados na internet? PRnet/2012 Ferramentas para

Leia mais

Portal do Projeto Tempo de Ser

Portal do Projeto Tempo de Ser Sumário Portal do Projeto Tempo de Ser O que é um Wiki?...2 Documentos...2 Localizando documentos...3 Links...3 Criando um Documento...4 Criando um link...4 Editando um Documento...5 Sintaxe Básica...5

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Curso de Tecnologia em Redes de Computadores Disciplina: Tópicos Avançados II 5º período Professor: José Maurício S. Pinheiro AULA 3: Políticas e Declaração de

Leia mais

Unidade II MODELAGEM DE PROCESSOS

Unidade II MODELAGEM DE PROCESSOS Unidade II 3 MODELAGEM DE SISTEMAS 1 20 A fase de desenvolvimento de um novo sistema de informação (Quadro 2) é um momento complexo que exige um significativo esforço no sentido de agregar recursos que

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

NORMA TÉCNICA PARA IMPLANTAÇÃO DE NOVOS SISTEMAS OU APLICAÇÕES NO BANCO DE DADOS CORPORATIVO

NORMA TÉCNICA PARA IMPLANTAÇÃO DE NOVOS SISTEMAS OU APLICAÇÕES NO BANCO DE DADOS CORPORATIVO NORMA TÉCNICA PARA IMPLANTAÇÃO DE NOVOS SISTEMAS OU APLICAÇÕES NO BANCO DE DADOS CORPORATIVO Referência: NT-AI.04.02.01 http://www.unesp.br/ai/pdf/nt-ai.04.02.01.pdf Data: 27/07/2000 STATUS: EM VIGOR A

Leia mais

Capítulo 2 Usabilidade... 24 2.1 Definição de usabilidade... 25 2.2 Resumo... 39 2.3 Leitura recomendada... 39

Capítulo 2 Usabilidade... 24 2.1 Definição de usabilidade... 25 2.2 Resumo... 39 2.3 Leitura recomendada... 39 Prefácio... IX Lista de Siglas e Abreviaturas... XIII Lista de Figuras e Quadros... XVI Capítulo 1 Portal web... 1 1.1 Definição de portal web... 3 1.2 Portal corporativo... 8 1.3 Resumo... 22 1.4 Leitura

Leia mais

4- PROJETO DE BANCO DE DADOS

4- PROJETO DE BANCO DE DADOS 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4 - Empregar a técnica da modelagem de dados no projeto de banco de dados. OBJETIVOS OPERACIONAIS Ao final desta unidade o aluno será capaz de: 4.1 - Definir

Leia mais

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA. Manual do Moodle- Sala virtual

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA. Manual do Moodle- Sala virtual UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA Manual do Moodle- Sala virtual UNIFAP MACAPÁ-AP 2012 S U M Á R I O 1 Tela de Login...3 2 Tela Meus

Leia mais

Sistemas de Informação

Sistemas de Informação Sistemas de Informação Prof. M.Sc. Diego Fernandes Emiliano Silva diego.femiliano@gmail.com Agenda Banco de dados Gerenciamento de banco de dados Sistemas de gerenciamento de banco de dados Como usar banco

Leia mais

Manual do Portal do Fornecedor. isupplier

Manual do Portal do Fornecedor. isupplier isupplier Revisão 01 Setembro 2011 Sumário 1 Acesso ao portal isupplier... 03 2 Home Funções da Tela Inicial... 05 3 Ordens de Compra Consultar Ordens de Compra... 07 4 Entregas Consultar Entregas... 13

Leia mais

Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Sistemas de Informação

Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Sistemas de Informação Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Sistemas de Informação Rafael Strecker Coelho de Souza ANÁLISE E COMPARATIVO DE FERRAMENTAS CMS COMPATÍVEIS

Leia mais

UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA

UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA FACILITADOR VIRTUAL DA APRENDIZAGEM EM QUÍMICA Campina Grande-

Leia mais

Simulador PMP - 4º Edição Exame de Certificação do PMI

Simulador PMP - 4º Edição Exame de Certificação do PMI Simulador PMP - 4º Edição Exame de Certificação do PMI WWW.ASASSOFTWARES.COM.BR Índice 1 Informações Básicas... 1 1.1 Sair da aplicação... 1 1.2 Testar aplicação... 1 1.3 Licenciando a aplicação... 1 1.4

Leia mais

paradigma WBC Public - compra direta Guia do Fornecedor paradigma WBC Public v6.0 g1.0

paradigma WBC Public - compra direta Guia do Fornecedor paradigma WBC Public v6.0 g1.0 paradigma WBC Public - compra direta Guia do Fornecedor paradigma WBC Public v6.0 g1.0 agosto de 2007 As informações contidas neste documento, incluíndo quaisquer URLs e outras possíveis referências a

Leia mais

XML XML. XML extensible Markup Language HTML. Motivação. W3C: World Wide Web Consortium XML 1.0. Mário Meireles Teixeira DEINF-UFMA

XML XML. XML extensible Markup Language HTML. Motivação. W3C: World Wide Web Consortium XML 1.0. Mário Meireles Teixeira DEINF-UFMA Mário Meireles Teixeira DEINF-UFMA Motivação extensible Markup Language W3C: World Wide Web Consortium http://www.w3.org 1.0 W3C Recommendation, 10/Fev/1998 (inicial) W3C Recommendation, 04/Fev/2004, 3

Leia mais

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade Introdução É sabido que os processos rodam em processadores. Nos sistemas tradicionais existe somente um único processador, de forma que não há dúvida a respeito de como ele deve ser usado. Em um sistema

Leia mais

Usando o Conference Manager do Microsoft Outlook

Usando o Conference Manager do Microsoft Outlook Usando o Conference Manager do Microsoft Outlook Maio de 2012 Conteúdo Capítulo 1: Usando o Conference Manager do Microsoft Outlook... 5 Introdução ao Conference Manager do Microsoft Outlook... 5 Instalando

Leia mais

COMO COMEÇAR 2016 se organizando?

COMO COMEÇAR 2016 se organizando? COMO COMEÇAR 2016 se organizando? Como começar 2016 se organizando? Conheça estratégias simples para iniciar o novo ano com o pé direito Você sabia que, de acordo com o Sebrae, os principais motivos que

Leia mais

HTML Página 1. Índice

HTML Página 1. Índice PARTE - 1 HTML Página 1 Índice HTML A HISTÓRIA... 2 O COMEÇO E A INTEROPERABILIADE... 3 Primeira Página... 4 Entendendo seu código... 5 Abrindo o código fonte da sua página... 6 Comentários na página...

Leia mais

Descrição do Produto. Altus S. A. 1

Descrição do Produto. Altus S. A. 1 Descrição do Produto O software MasterTool IEC é um ambiente completo de desenvolvimento de aplicações para os controladores programáveis da Série Duo. Esta ferramenta permite a programação e a configuração

Leia mais

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT Disciplina: Modelagem a Programação Orientada a Objetos

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

Empreenda! 8ª Edição Roteiro de Apoio ao Plano de Negócios. Preparamos este roteiro para ajudá-lo(a) a desenvolver o seu Plano de Negócios.

Empreenda! 8ª Edição Roteiro de Apoio ao Plano de Negócios. Preparamos este roteiro para ajudá-lo(a) a desenvolver o seu Plano de Negócios. Empreenda! 8ª Edição Roteiro de Apoio ao Plano de Negócios Caro (a) aluno (a), Preparamos este roteiro para ajudá-lo(a) a desenvolver o seu Plano de Negócios. O Plano de Negócios deverá ter no máximo 20

Leia mais

Web Services. Autor: Rômulo Rosa Furtado

Web Services. Autor: Rômulo Rosa Furtado Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que

Leia mais

COORDENAÇÃO DE EAD MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 PERFIL ALUNO. Versão 1.0

COORDENAÇÃO DE EAD MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 PERFIL ALUNO. Versão 1.0 COORDENAÇÃO DE EAD MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 PERFIL ALUNO Versão 1.0 2015 SUMÁRIO 1. O MOODLE 3 2. Acesso à Plataforma 3 2.1. Cadastrar-se em uma disciplina 4 2.2. Página Inicial do Curso 5 3.

Leia mais

Classificação de Sistemas: Sistemas Empresariais

Classificação de Sistemas: Sistemas Empresariais Universidade do Contestado Campus Concórdia Curso de Ciências Contábeis Prof.: Maico Petry Classificação de Sistemas: Sistemas Empresariais DISCIPLINA: Sistemas de Informação Gerencial O QI da empresa

Leia mais

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio

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

perspectivas e abordagens típicas de campos de investigação (Senra & Camargo, 2010).

perspectivas e abordagens típicas de campos de investigação (Senra & Camargo, 2010). 1 Introdução Os avanços na tecnologia da informação, bem como o crescimento da sociedade da informação através do uso da Internet, obrigaram os governos de inúmeros países, em seus mais variados níveis,

Leia mais

Manual das planilhas de Obras v2.5

Manual das planilhas de Obras v2.5 Manual das planilhas de Obras v2.5 Detalhamento dos principais tópicos para uso das planilhas de obra Elaborado pela Equipe Planilhas de Obra.com Conteúdo 1. Gerando previsão de custos da obra (Módulo

Leia mais

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle. Introdução Os principais elementos de um sistema de computação são a unidade central de processamento (central processing unit CPU), a memória principal, o subsistema de E/S (entrada e saída) e os mecanismos

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

Pró-Reitoria de Administração - PRAd Assessoria de Informática - AI SISTEMA DE PUBLICAÇÃO DE LICITAÇÕES. Manual de Procedimentos

Pró-Reitoria de Administração - PRAd Assessoria de Informática - AI SISTEMA DE PUBLICAÇÃO DE LICITAÇÕES. Manual de Procedimentos Pró-Reitoria de Administração - PRAd Assessoria de Informática - AI SISTEMA DE PUBLICAÇÃO DE LICITAÇÕES Manual de Procedimentos 2004 SUMÁRIO 1. INTRODUÇÃO...3 2. OBJETIVOS...3 3. ÂMBITO DE APLICAÇÃO...3

Leia mais

SISTEMAS DE INFORMAÇÃO GERENCIAIS

SISTEMAS DE INFORMAÇÃO GERENCIAIS SISTEMAS DE INFORMAÇÃO GERENCIAIS Aluno: Luiza Cavalcanti Marques Orientador: Silvio Hamacher Introdução A modelagem e a utilização de bancos de dados em atividades gerenciais têm sofrido um aumento significativo

Leia mais

Roteiro SENAC. Análise de Riscos. Planejamento do Gerenciamento de Riscos. Planejamento do Gerenciamento de Riscos

Roteiro SENAC. Análise de Riscos. Planejamento do Gerenciamento de Riscos. Planejamento do Gerenciamento de Riscos SENAC Pós-Graduação em Segurança da Informação: Análise de Riscos Parte 2 Leandro Loss, Dr. Eng. loss@gsigma.ufsc.br http://www.gsigma.ufsc.br/~loss Roteiro Introdução Conceitos básicos Riscos Tipos de

Leia mais

Integração de livros fiscais com o Microsoft Dynamics AX 2009

Integração de livros fiscais com o Microsoft Dynamics AX 2009 Microsoft Dynamics AX Integração de livros fiscais com o Microsoft Dynamics AX 2009 White paper Este white paper descreve como configurar e usar a integração de livros fiscais entre o Microsoft Dynamics

Leia mais

DESENVOLVENDO O SISTEMA

DESENVOLVENDO O SISTEMA DESENVOLVENDO O SISTEMA Declaração da Necessidade O primeiro passo do processo de análise de sistema envolve a identificação da necessidade [Pressman-95]. Normalmente o analista reúne-se com o usuário

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

Simulador CCNA Exame de Certificação da CISCO

Simulador CCNA Exame de Certificação da CISCO Simulador CCNA Exame de Certificação da CISCO Índice 1 Informações Básicas... 1 1.1 Sair da aplicação... 1 1.2 Testar aplicação... 1 1.3 Licenciando a aplicação... 1 1.4 Aceitar as condições de uso da

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 28 Revisão para a Prova 2 http://www.ic.uff.br/~bianca/engsoft2/ Aula 28-28/07/2006 1 Matéria para a Prova 2 Gestão de projetos de software Conceitos (Cap. 21) Métricas (Cap.

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

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços 1 Introdução Nos últimos anos, houve um aumento notável de demanda por plataformas com suporte a diferentes mídias. Aplicações manipulando simultaneamente texto, vídeo e áudio são cada vez mais comuns.

Leia mais

Requisitos de Sistemas

Requisitos de Sistemas Bancos de Dados III Acesso Cliente Servidor Arquiteturas Rogério Costa rogcosta@inf.puc-rio.br 1 Requisitos de Sistemas Grande competitividade no mercado TI deve apoiar a empresa atendendo com agilidade.

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 14 Revisão http://www.ic.uff.br/~bianca/engsoft2/ Aula 14-07/05/2006 1 Processo de Software Qual é a diferença entre uma atividade de arcabouço e uma atividade guarda chuva?

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

Capítulo 13 Pastas e Arquivos

Capítulo 13 Pastas e Arquivos Capítulo 13 Pastas e Arquivos À medida que a tecnologia avança, os dispositivos móveis vão ganhando cada vez mais funções e características que antes só pertenciam aos computadores pessoais. Com a expansão

Leia mais

Sumário. Introdução ao Microsoft Project. 1 Microsoft Project, gerenciamento de projetos e você 3. 2 Visão geral do Project 11.

Sumário. Introdução ao Microsoft Project. 1 Microsoft Project, gerenciamento de projetos e você 3. 2 Visão geral do Project 11. Sumário Introdução... xiii A quem se destina este livro...xiii Como o livro está organizado...xiii Como baixar os arquivos de prática...xiv Suas configurações no Project...xv Suporte técnico...xvi Parte

Leia mais

DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP. VitorFariasCoreia

DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP. VitorFariasCoreia DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP VitorFariasCoreia INFORMAÇÃOECOMUNICAÇÃO Autor Vitor Farias Correia Graduado em Sistemas de Informação pela FACITEC e especialista em desenvolvimento de jogos

Leia mais

Montagem e Manutenção. Luís Guilherme A. Pontes

Montagem e Manutenção. Luís Guilherme A. Pontes Montagem e Manutenção Luís Guilherme A. Pontes Introdução Qual é a importância da Montagem e Manutenção de Computadores? Sistema Binário Sistema Binário Existem duas maneiras de se trabalhar e armazenar

Leia mais

CA Mainframe Chorus for Storage Management Versão 2.0

CA Mainframe Chorus for Storage Management Versão 2.0 FOLHA DO PRODUTO CA Mainframe Chorus for Storage Management CA Mainframe Chorus for Storage Management Versão 2.0 Simplifique e otimize suas tarefas de gerenciamento de armazenamento, aumente a produtividade

Leia mais

Introdução a Banco de Dados

Introdução a Banco de Dados Introdução a Banco de Dados Ricardo Henrique Tassi - Departamento de Replicação Índice 1- Introdução... 03 2- Quais são os bancos de dados mais conhecidos hoje em dia...04 3- Quais são os tipos de banco...05

Leia mais

Banco de Dados Orientado a Objetos

Banco de Dados Orientado a Objetos Banco de Dados Orientado a Objetos MODELAGEM, ANÁLISE, PROJETO e CLASSIFICAÇÃO Interação combinando lógica, através de objetos que contém os dados. Estes divididos conforme seus tipos e métodos (classe),

Leia mais

O ENSINO DE CÁLCULO NUMÉRICO: UMA EXPERIÊNCIA COM ALUNOS DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

O ENSINO DE CÁLCULO NUMÉRICO: UMA EXPERIÊNCIA COM ALUNOS DO CURSO DE CIÊNCIA DA COMPUTAÇÃO O ENSINO DE CÁLCULO NUMÉRICO: UMA EXPERIÊNCIA COM ALUNOS DO CURSO DE CIÊNCIA DA COMPUTAÇÃO Prof. Leugim Corteze Romio Universidade Regional Integrada URI Campus Santiago-RS leugimcr@urisantiago.br Prof.

Leia mais