FACULDADE DE CIÊNCIAS APLICADAS DE MINAS

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

Download "FACULDADE DE CIÊNCIAS APLICADAS DE MINAS"

Transcrição

1 UNIÃO EDUCACIONAL MINAS GERAIS S/C LTDA FACULDADE DE CIÊNCIAS APLICADAS DE MINAS Autorizada pela Portaria n 577/2000 MEC, de 03/05/2000. BACHARELADO EM SISTEMAS DE INFORMAÇÃO 1 UTILIZANDO XML PARA A TROCA ELETRÔNICA DE DADOS MARSELHA PARANAIBA SAMORA Uberlândia MG 2008

2 2 MARSELHA PARANAIBA SAMORA UTILIZANDO XML PARA A TROCA ELETRÔNICA DE DADOS Trabalho de final de curso submetido à como parte dos requisitos para a obtenção do grau de Bacharel em Sistemas de Informação. Orientador: Prof. M.Sc. Francisco José Muller. Uberlândia MG 2008

3 3 MARSELHA PARANAIBA SAMORA UTILIZANDO XML PARA A TROCA ELETRÔNICA DE DADOS Banca Examinadora: Trabalho de final de curso submetido à como parte dos requisitos para a obtenção do grau de Bacharel em Sistemas de Informação. Orientador: Prof. MSc. Francisco José Muller Uberlândia, 23 de Abril de Prof. M.Sc. Francisco José Muller Prof. Dr. Mauro Hemerly Gazzani Prof. M.Sc. Sílvio Bacalá Uberlândia MG 2008

4 4 Dedicatória A todos que me incentivaram a concluir mais esta etapa da minha vida. Em especial, aos meus pais, Eduardo e Helenice, e às minhas irmãs, Fernanda e Roberta, que acreditaram que este sonho iria se realizar.

5 5 AGRADECIMENTOS Em primeiro lugar, agradeço a Deus, divino e misericordioso, pelo dom da vida que me deu, pela luz que nunca se apagou, iluminando os meus passos, e por tudo o que não pode ser expresso com palavras. Especialmente, aos meus pais, Eduardo e Helenice, pela vida e pelo exemplo de luta, o meu agradecimento eterno. Agradeço aos meus amigos Lívia, Anderson, Lidiane e Juliano que, nesta caminhada, embarcaram comigo no meu sonho, incentivando e colaborando com os seus conhecimentos e sabedoria. tradução. confiança e dedicação. Ao meu amigo, Paulo, pelo comprometimento e empenho na Ao meu orientador, Prof. MSc. Francisco José Muller, pelo incentivo, A todos que, direta ou indiretamente, contribuíram para a elaboração deste trabalho. Finalmente, aos demais componentes da banca examinadora pelo tempo despendido para a leitura e análise deste trabalho. A todos, muito obrigada.

6 6 RESUMO Para transferir os dados de uma base para outra, pode-se utilizar o EDI (Electronic Data Interchange ou Intercâmbio Eletrônico de Dados), que viabiliza a troca de dados de acordo com um padrão (Febraban, Edifact, Anfavea e outros) préestabelecido entre as partes (remetente e receptor) ou através da replicação de dados, sendo esta uma tecnologia utilizada para multiplicar e duplicar os dados em locais distintos. Este trabalho mostrará outra forma possível para transferência entre base de dados distintos, cuja linguagem utilizada é XML. Essa linguagem utiliza um padrão que se destaca devido a sua estrutura leve, por ser independente de plataforma e, conseqüentemente, possibilitar o desenvolvimento de estruturas flexíveis. Serão apresentadas noções básicas sobre a linguagem XML e sua utilização para mediar a troca de dados entre sistemas legados, já que no meio acadêmico a linguagem XML é pouco difundida. Desta forma, este trabalho servirá como material de apoio para que as pessoas interessadas nesse assunto possam adquirir conhecimento básico sobre a linguagem XML e sua utilização na troca de dados entre sistemas diferentes. PALAVRAS-CHAVE: XML, Banco de Dados, SQL Server 2000.

7 7 ABSTRACT To transfer the data of a base to another we can use the EDI (Electronic Data Interchange), which it makes possible to exchange the data in accordance with a standard system (Febraban, Edifact, Anfavea and others), pre stablished between the parts (sender and reciever) or through the response of data, where this is an utilized technology to multiply and to duplicate the data in distinc places. In the present paper work, it will show another way which it s also possible to transfer data between distinct databases using the following language: XML. XML is a language that uses a standard that highlights due to its light structure, for being independent of its platform and making possible the development of flexible structures. It will be presented basic slight knowledge on language XML and its use to mediate exchange of data between obsolete systems, since this XML language is not spread out among the academic studies. Therefore, this work will serve as a material support to people interested in this issue and they can acquire basic knowledge on XML language and its use in the exchange of data between different systems. KEY WORDS: XML; Database; SQL Server 2000.

8 8 LISTA DE FIGURAS Figura 1 - Exemplo de dados de uma aluna Figura 2 - Estrutura XML...19 Figura 3 - Exemplo de arquivo no formato XML Figura 4 - Exemplo de elemento Figura 5 - Exemplo de atributo Figura 6 - Exemplo de comentário Figura 7 - Exemplo de entidade Figura 8 - Declaração de DTD utilizando ELEMENT Figura 9 - Declaração de DTD utilizando Arquivo Figura 10 - Declaração de DTD utilizando Figura 11 - Declaração de DTD utilizando Figura 12 - Declaração de DTD utilizando Figura 13 - Declaração de DTD utilizando?...27 Figura 14 - Declaração de DTD utilizando * Figura 15 - Cabeçalho esquema Figura 16 - Exemplo ElementType Figura 17 - Exemplo utilizando valor seq Figura 18 - Exemplo utilizando element Figura 19 - Exemplo utilizando Attribute Figura 20 - Sintaxe FOR XML (Bento, Reali, Castro,2002) Figura 21 - Modo AUTO Figura 22 - Modo Auto Figura 23 - Modo RAW Figura 24 - Sintaxe OPENXML Figura 25 - Criando tabela Figura 26 - Inserindo dados na tabela Figura 27 - Mostrando dados da tabela Figura 28 - Exportando dados Figura 29 - Estrutura dos Dados Exportados Figura 30 - Árvore de Dados de Cada Nodo...44 Figura 31 - Processo da Importação Figura 32 - Tabela temporária Figura 33 - Inserindo dados Figura 34 - Finalizando Importação Figura 35 - Resultado da Inserção

9 9 LISTA DE QUADROS Quadro 1 - Característica XML Quadro 2 - Tabela Entidade Quadro 3 - Tabela Atributo Content Quadro 4 - Tabela Atributo dtt:type Quadro 5 - Parâmetros For XML Quadro 6 - Argumentos da Função Open XML Quadro 7 - Valores Flag Quadro 8 - Sintaxe sp.xml prepare documento

10 10 LISTA DE ABREVIATURAS E SÍMBOLOS DTD Document Type Definitions. SQL Server Microsoft SQL Server. EDI Electronic Data Interchange. SGBD Sistema Gerenciador de Banco de Dados. W3C World Wide Web Consortium. SGML Standard Generalized Markup Language. HTML Hypertext Markup Language. XML extensible Markup Language. XSD Schema Definition. CSS - Cascading Style Sheets

11 11 SUMÁRIO 1. INTRODUÇÃO 1.1 Cenário Atual Identificação do Problema Objetivo do Trabalho Objetivo Geral Objetivos Específicos Justificativa para Pesquisa Organização do Trabalho XML 2.1 Introdução Origem da Linguagem XML Definição de XML Estrutura do Documento XML Elementos Atributos Comentários Entidades Declaração de Entidades Document Type Definition (DTD) Declaração de uma DTD XML Schema Sintaxe SISTEMAS DE GERENCIAMENTOS DE BANCO DE DADOS (SGBB) E VISÃO GERAL DE SQL SERVER COM SUPORTE A XML 3.1 Introduçâo Conceito Recuperação Integridade Concorrência Segurança SQL Sever com Suporte ao XML Executando Templates EXPORTAÇÃO E IMPORTÃÇÃO DE DADOS UTILIZANDO SQL SERVER 2000 COM SUPORTE A XML 4.1 Introdução Exportação de Dados Importação de Dados CONCLUSÃO

12 12 1. INTRODUÇÃO 1.1 Cenário Atual Com a abertura de novos mercados e a globalização mundial, as empresas precisam cada vez mais de informações consistentes para se manterem ativas. Porém, nem sempre essas informações encontram-se centralizadas em um único repositório. Diferentes formas para a estruturação dos dados podem não causar problemas enquanto estes são utilizados apenas pelo próprio sistema que os estruturou. Entretanto, quando os dados precisam ser transferidos entre diferentes sistemas, poderão surgir problemas de incompatibilidade devido à linguagem utilizada ou à falta de uma padronização dos dados. Em uma entrevista no lançamento da BizTalk, Bill Gates afirmou que: Para seduzir mais de um milhão de novas empresas para o Comércio Eletrônico, temos que ajudar as suas aplicações a falar a linguagem do negócio de forma homogênea. Até agora, era muito difícil para as empresas fazerem negócio com base na Internet, devido à falta de um vocabulário técnico único para descrever os processos funcionais. (HEITLINGER, 2001) Um dos principais requisitos para a integração entre as aplicações e seus respectivos dados é a existência de um padrão comum que possa ser utilizado pelos diversos sistemas. Serão apresentados os conceitos básicos relativos à linguagem XML, recursos adicionais de formatação e validação de um documento XML utilizando o DTD (Document Type Definitions), definindo suas regras e exemplos de sintaxe. Para exemplificar a utilização do XML será utilizado o banco de dados SQL Server 2000, por possuir suporte a XML que será configurado para trocar dados, importando e exportando arquivo neste formato. A linguagem XML é um padrão que está sendo usado por diversos fabricantes de software para as mais diversas finalidades, dentre os quais: Oracle SQL Server

13 13 MySQL Segundo Abiteboul, Buneman e Suciu (2000), na suposição de que XML se tornará um formato universal de troca de dados, muitos comerciantes de software estão construindo ferramentas para importação e exportação de dados em XML. Desta forma, este trabalho servirá como material de referência para que as pessoas interessadas neste assunto possam adquirir conhecimento básico sobre esta linguagem. Além de servir como material de referência, a pesquisa mostrará que é possível utilizar XML como uma forma padrão de representação e troca de dados nas aplicações para armazenamento, obtendo-se uma estrutura leve, padronizada e independente de plataformas, o que possibilita o desenvolvimento de estruturas de mediação flexíveis. 1.2 Identificação do Problema A troca de dados entre aplicações pode ser realizada de diferentes modos, como a utilização de EDI (Electronic Data Interchange ou Intercâmbio Eletrônico de Dados), que viabiliza a troca de dados de acordo com um padrão (Febraban, Edifact, Anfavea e outros) pré-estabelecido entre as partes (remetente e receptor). O EDI foi definido pela padronização Francesa [Marcillet, 1994], EDIFRANCE, como: transferência de dados de computador para computador, entre parceiros de negócios [Preston, 1988; Hinge,1988], usando mensagens eletrônicas de dados, estruturados e agrupados, na forma de mensagens padrões, desta forma, favorecendo a diminuição de custos, e aumentando a produtividade da companhia, melhorando os procedimentos, e reduzindo custos. Esta é uma nova forma de comunicação entre parceiros econômicos, na qual os documentos em papel não são mais necessários. (MARCONCINI; LIMA, 2007) Outra forma de transferência é a utilização de replicação de dados, sendo esta uma tecnologia utilizada para multiplicar e duplicar os dados em locais distintos. A Replicação de Dados é uma poderosa e importante tecnologia para manipulação e duplicação de cópias, mantendo e sincronizando-as automaticamente em diferentes locais, de forma que todas as cópias existentes no ambiente trabalhem com as mesmas informações. (AFONSO, 2006)

14 14 Este trabalho apresentará para mediar a troca de dados entre aplicações, a linguagem XML, que é simplesmente uma forma de representação de dados que permite uma especificação facilitando a troca de dados entre sistemas diferentes. De acordo com Abiteboul, Buneman e Suciu (2000), XML permite uma especificação que facilita a troca de dados e a reutilização por múltiplas aplicações. A vantagem é que se ganha em tempo por ser uma linguagem intuitiva, simples e de fácil interpretação, sem depender de aplicação ou sistema operacional, podendo realizar uma busca em diferentes bancos de dados e combiná-los conforme necessário. 1.3 Objetivo do Trabalho Objetivo Geral O objetivo deste trabalho é descrever o processo de troca de dados entre aplicações, utilizando a linguagem XML Objetivos Específicos Realizar estudos sobre XML, um breve histórico e conceituá-la; Definir conceitos sobre Banco de Dados; Desenvolver uma visão geral de SQL Server com suporte ao XML; simplificada com o uso do XML; Descrever como a troca de dados entre sistemas pode ser Apresentar um exemplo de importação e exportação dos dados. 1.4 Justificativa para Pesquisa A principal justificativa para a realização deste projeto é apresentar uma linguagem pouco difundida no meio acadêmico para a realização de troca de dados

15 15 entre diferentes aplicações, pois nem sempre o mecanismo utilizado para troca de dados é eficaz e econômico. Ao utilizar documentos no formato XML em substituição aos arquivos gerados por meio de processos como o padrão EDI ou por replicação de dados, as empresas que pretendem aperfeiçoar a comunicação eletrônica terão ganhos significativos, pois no formato XML os documentos ficam mais flexíveis, logo, podem ser utilizados por várias aplicações e manipulados de acordo com a necessidade de cada aplicação para mediar a troca de dados. 1.5 Organização do Trabalho No Capítulo 1 foi apresentada uma introdução à organização de todo o trabalho, citando os objetivos e a justificativa para sua realização em linhas gerais. No capítulo 2 serão mostradas as definições básicas de XML. No capítulo 3, haverá a definição de Sistema Gerenciador de Banco de Dados (SGBD) e uma visão geral do SQL Server com suporte ao XML. Por fim, o capítulo 4 será dividido em duas partes, sendo que a primeira revelará como será feita a exportação dos dados utilizando SQL Server e a segunda parte como será a exportação dos dados no formato XML. Para concluir o trabalho, no capítulo 5 será apresentada a conclusão.

16 16 2. FUNDAMENTOS DA LINGUAGEM XML 2.1 Introdução XML possui um formato universal de metalinguagem, ou seja, uma linguagem que permite definir novas linguagens através da criação customizada de marcadores. Uma linguagem de marcação de texto possui um conjunto de marcadores (conhecidos como tag) que são utilizadas para atribuir determinadas características a uma informação delimitando os dados. Segundo Ramalho (2002), a XML foi criada para descrever dados, e o seu foco está na descrição do dado. Uma das características marcantes por trás dessa linguagem é a possibilidade de manipulação do arquivo texto em diferentes programas e sistemas operacionais, pois seu conteúdo poderá ser feito e visualizado por um simples editor de texto, por exemplo, o bloco de notas do Windows, o que não ocorre com outros tipos de linguagens, que necessitam especificamente de um ambiente próprio para a sua conclusão. Seguem no Quadro 01 algumas características da linguagem XML: Pode armazenar e organizar qualquer tipo de informação. Possui padrão aberto, não sendo amarrado a nenhum aplicativo ou desenvolvedor. Oferece diversas maneiras de verificar a qualidade e integridade do documento, usando regras de sintaxe, verificação de links internos (estrutura), comparação com modelos de documentos e definição de tipos de dados. Formado por uma estrutura simples e não ambígua, o XML é ideal para ser lido e manipulado por pessoas e aplicativos. Pode ser facilmente combinado com folhas de estilo (CSS) para apresentar os dados na estrutura desejada. Quadro 01 Características XML (Agnaldo 2003) A XML visa construir documentos flexíveis que representam dados juntamente com seus respectivos significados, sem considerar o formato de sua

17 17 apresentação. Com a padronização utilizada no documento fica fácil a troca entre banco de dados distintos e principalmente entre os diversos tipos de aplicativos. Com a XML definem-se facilmente linguagens de marcação (Markup Languages). Usar XML é um modo muito flexível de criar dados autodescritíveis e partilhar esses dados via Internet, por Intranets, ou por qualquer outro modo de transporte. (HEITLINGER, 2001). As indústrias de banco de dados já reconheceram o potencial deste novo formato e muitos dos construtores estão expandindo as suas tecnologias com o intuito de propor repositórios para os dados XML, são exemplos: Oracle, IBM, Microsoft e Sybase. Em entrevista concedida à revista Revista Do Linux, diante do questionamento sobre a avaliação da linguagem XML e seus benefícios às empresas, Charles Casanave III afirma entender que: A XML está mudando o mundo da TI e deverá alterar o mundo dos negócios. A XML guiará o sucesso do e-commerce mais do que qualquer outra tecnologia. Ela oferece às empresas meios padronizados de intercâmbio de informações de transações eletrônicas, uma tecnologia padrão com a qual integrar suas aplicações legadas e um ambiente padrão para implementar novas aplicações que podem colaborar com parceiros globais de negócios. (REVISTA DO LINUX, 2008) Dentre as diversas vantagens em utilizar a XML, destacam-se: Não requer licença; Os formatos XML são baseados em texto, os que os tornam mais legíveis, mais fáceis de documentar e, às vezes, mais fáceis de depurar; operacional; Interoperabilidade, independente de aplicação ou sistema Flexibilidade, permitindo que o desenvolvedor possa criar suas próprias estruturas rotuladas para armazenar os dados; criará suas tags específicas. Extensibilidade de acordo com a necessidade, isto é, o usuário 2.2 Origem da Linguagem XML Em 1996, o W3C (World Wide Web Consortium) iniciou um projeto de desenvolvimento de uma linguagem de marcação abrangente, que reunisse a

18 18 flexibilidade do SGML (Standard Generalized Markup Language) com a ampla aceitação do HTML (Hypertext Markup Language), para uso através da internet. Surgiu então a XML, um subconjunto da SGML, extensível como tal, porém de forma muito mais simplificada. O W3C é hospedado pelo Massachusetts Institute of Technology, Laboratory for Computer Science(MIT/LCS), os Estados Unidos; pelo Institut National de Recherche em Informatique et em Automatique (INRIA), na Europa; e pela Universidade de Keio, Campus Shonan Fujisawa, no Japão. Atualmente, ele possui cerca de 50 pessoas trabalhando em tempo integral. (Hoizner, 2001, p.36). O W3C é um grupo composto por organizações (atualmente mais de 400) criado em 1994 para regulamentação dos padrões utilizados na internet, promovendo evolução e assegurando a sua interoperabilidade. O W3C desenvolve tecnologias, denominadas Web Standards (ou Padrões Web) para a criação e a interpretação dos conteúdos para Web. Sites desenvolvidos segundo esses padrões podem ser acessados e visualizados por qualquer pessoa por meio de programas chamados browsers ou navegadores, independentemente da plataforma ou dispositivo utilizado, de maneira rápida e compatível com os novos padrões e tecnologias que surgem com a evolução da internet. 2.3 Definição de XML XML é uma abreviação de extensible Markup Language, cuja tradução é linguagem de marcação extensível. O seu foco exclusivo é o modo como os dados são mostrados e a finalidade é criar dados estruturados, ordenando, filtrando e localizando os dados baseados em um arquivo-texto. Desse modo, a XML é um conjunto de regras existentes em um arquivo no formato de texto contendo dados estruturados, de forma que sejam produzidos arquivos de fácil geração e leitura por parte de qualquer aplicação, sem ambigüidades. A XML é um padrão aberto que permite que dados sejam compartilhados universalmente na Internet através de qualquer plataforma que suporte XML. A XML permite que dados estruturados sejam descritos usando um formato de texto. Estes dados podem ser distribuídos e trocados no Hypertext Transport Protocol (HTTP), que é o protocolo usado na Web. (BENTO, REALI, CASTRO, 2002, p. 573).

19 19 Com isso, evitam-se problemas comuns, como dependência de uma plataforma específica e dificuldades na adequação a diferentes tipos de usuários. A W3C descreve a XML como o formato universal para documentos estruturados e dados na Web. A Figura 01 contém dados de uma aluna, Ana Paula, que tem 25 anos e cursa o 8 período de Sistema de Informação com matrícula número anos Ana Paula Sistema de Informação Matrícula º Período Figura 01 Exemplo de dados de uma aluna Quando verificamos a informação da Figura 01, entendemos que se trata dos dados de uma aluna, Ana Paula, com 25 anos, do curso de Sistema de Informação, cursando o 8º período com matrícula número Mas, para entender o XML é necessário definir a estrutura, como é mostrada na Figura 02: <aluna> <idade> 25 </idade> <nome> Ana Paula </nome> <curso> Sistema de Informação </curso> <matricula> </matricula> <período> 8º </período> </aluna> Figura 02 Estrutura XML Dessa forma, quando o parser (analisador XML) encontrar o elemento <aluna>, o programa saberá que os dados são referentes à aluna. Parser é um componente do processador XML que analisa as marcações XML e determina a estrutura dos dados do documento. Na estruturação é possível descrever várias tags, que são marcadores utilizados para atribuir determinadas características a uma informação. As tags podem ser utilizadas e criadas conforme a necessidade, por exemplo, as tags

20 20 utilizadas na Figura 02, <nome> e <curso>. Já no HTML, as tags que aparecem fazem parte da definição da linguagem. 2.4 Estrutura do Documento XML Os documentos feitos em XML contêm uma estrutura lógica composta por elementos e uma estrutura física composta por entidades, comentários, referências de caracteres e instruções de processamento, todos indicados por marcações explícitas no documento. Qualquer linguagem baseada em XML é composta por um conjunto de tipos de elementos que servem para definir quais documentos são conhecidos como DTDs, que serão apresentados posteriormente. Com a utilização de XML para escrever documentos, os projetistas podem adicionar seus próprios elementos de acordo com a aplicação que está sendo modelada, dando importância ao conteúdo e à estrutura da informação, sem se preocupar com a apresentação. A Figura 03 mostra um exemplo de arquivo XML, contendo dados de um usuário, como nome, e idade. 1 <?xml version="1.0" encoding="iso "?> 2 <cadastro> 3 <usuario> 4 <nome>alexandre</nome> 5 < >ale@yahoo.com.br</ > 5 <idade>15</idade> 6 </usuario> 7 <usuario> 8 <nome>bruno</nome> 9 < >br@yahoo.com.br< > 10 <idade>16</idade> 11 </usuario> 11 </cadastro> Figura 03 Exemplo de arquivo no formato XML Na linha 1 da Figura 03 é mostrada uma instrução padrão, considerada como prólogo, que sempre deve ser inserida no início de um documento XML. É

21 21 importante ressaltar que, se forem utilizar elementos da língua portuguesa como acento, cedilha, etc, deve-se usar o código: <?xml version="1.0" encoding="iso "?>. Na linha 2 da Figura 03 está o Elemento Principal (root tag), que um documento XML sempre deve ter, sendo que, nesse exemplo, é <cadastro>, denominado elemento raiz. Ele é importante para receber e organizar as demais marcações. Sem ele os dados ficam "soltos" pelo código. Já os elementos <usuarios>, <nome>, < > e <idade> da Figura 03 são secundários de um documento XML, isto é, são campos onde serão armazenados os dados. Logo após os elementos secundários, o elemento principal é fechado. Em todo documento XML é obrigatório o uso de um par de tags para definir o elemento raiz. Pode haver ainda subelementos, os quais são bastante sensíveis, pois não reconhecem tags escritas de forma diferente, principalmente porque as tags devem ter início e término. Portanto, toda tag que abre tem que ser fechada, são sensíveis a letras maiúsculas e minúsculas, sendo necessariamente iguais. 2.5 Elementos Os elementos são as formas mais comuns de marcação em XML e são delimitados pelos sinais de menor (<) e maior (>), envolvendo os dados propriamente ditos, como mostra a Figura <?xml version="1.0" encoding="iso "?> 2. <cadastro> 3. <usuario> 4. <nome>alexandre</nome> 5. < >ale@yahoo.com.br</ > 6. <idade>15</idade> 7. </usuario> 8. </cadastro> Figura 04 Exemplo de elemento

22 22 Os elementos são chamados de tag, podendo ser criados de acordo com a necessidade. Não são permitidos espaços entre os elementos e nem entre a barra e o nome do elemento. 2.6 Atributos Os atributos são qualificadores dos elementos e sempre são representados como um par nome-valor, sendo que o valor deve, obrigatoriamente, deve estar entre aspas para que o parser ao passar pelo documento possa interpretar que se trata de um valor atribuindo ao elemento. A Figura 05 mostra um exemplo. Figura 05 Exemplo de Atributo Na Figura 05 a idade é um atributo do elemento aluna, que possui um valor especificado entre aspas. Normalmente os atributos são utilizados para definir propriedades do elemento e não o seu conteúdo. São colocados nas tags de abertura e não de fechamento. Os atributos devem possuir um nome e um valor associado por meio do sinal de igualdade. 2.7 Comentários Os comentários são porções de texto que devem ser ignoradas pelo parser XML. Iniciam sempre com <!-- e terminam com -->, veja na Figura 06.

23 23 <! -- Essa linha não é processada pelo Parser -- > Figura 06 Exemplo de Comentário As linhas de comentário podem aparecer em qualquer parte do documento, mas não podem ser colocadas dentro de valores de atributos ou dentro de tags. 2.8 Entidades As entidades sempre começam com & (e-comercial) e terminam com; (ponto e vírgula). As entidades são "símbolos" que são produzidos pelo parser em caracteres especiais como til, acento, cedilha, etc, como mostra Quadro 02. Símbolo da entidade Resultado < < > > & &apos; & ' " " Quadro 02 Tabela Entidade (Holzner, 2001) Quando se deseja incluir caracteres especiais como por exemplo o sinal de < no documento é necessário especificar no documento pois a simples inserção deste símbolo ocasionaria erro se não especificar como <, pois o documento ao ser processado entenderia como se fosse uma tag, então nesse caso, a simples inserção deste caracter ocasionaria um erro quando da sua interpretação.

24 Declarações de Entidades As declarações de entidades permitem que se associe um nome a qualquer fragmento de um documento XML, que pode conter um texto, parte de uma DTD ou uma referência a um arquivo externo, como uma figura ou qualquer outro tipo de dado binário. É o que mostra a Figura 07. <!ENTITY União Educacional Minas Gerais > Figura 07 Exemplo de Entidade Existem três tipos de entidades: internas, externas e de parâmetro. Uma entidade interna é aquela em que o valor de substituição é armazenado na declaração. Esse tipo de entidade permite a definição de qualquer tipo de abreviatura que será, durante a etapa de processamento, substituída pelo texto informado. Analisando o exemplo da Figura 07, nota-se que é possível utilizar & em qualquer parte do documento, uma vez que este será substituído por União Educacional Minas Gerais. Já as entidades externas permitem a um documento XML fazer referência a arquivos externos, sejam eles textos ou binários. Se o arquivo for do tipo texto, seu conteúdo será inserido no lugar da entidade. Dados binários não são analisados, podem somente ser referenciados em um atributo e são usados para referenciar figuras e outro conteúdo não XML no documento. Por fim, as entidades de parâmetro permitem especificar um tipo genérico de entidade que pode, depois, servir como tipo base para outras entidades. Por exemplo: se for definida uma entidade chamada endereço, que contém nome da rua e número, pode-se especificar um endereço de entrega e um endereço comercial, utilizando-se o endereço anteriormente definido Document Type Definition (DTD) A principal característica da XML é a facilidade que ela oferece para que possamos modelar os dados. Assim, podemos especificar os elementos que o

25 25 documento terá. A modelagem dos dados pode ser feita por declaração de tipo de documento, que em inglês quer dizer DTD (Document Type Definition). Assim afirma Serge, Peter e Dan (2000): Uma definição de tipo de documento (DTD) serve como gramática para o documento XML subjacente e é parte da linguagem XML. A DTD permite que sejam incluídas restrições aos documentos XML, para que depois possam ser verificadas pelo processador, a fim de determinar a validade ou não de um documento, especificar quais elementos ou atributos são permitidos no documento XML e em que local do documento eles podem aparecer Declaração de uma DTD Uma DTD é composta por um conjunto de declarações, as quais podem ser ELEMENT, ATTLIST, ENTITY E NOTATION. Todas as declarações iniciam com <! e terminam com >, conforme exemplifica a Figura 08. <?xml version="1.0" encoding="iso "?> <!ELEMENT cadastro(nome, )> <!ELEMENT nome (#PCDATA)> <!ELEMENT (#PCDATA)> Figura 08 Declaração de DTD utilizando ELEMENT Um ELEMENT define uma tag XML, ou seja, cada declaração ELEMENT define um elemento no documento XML. Já ATTLIST define uma lista de atributos pertencentes a um determinado elemento, ENTITY define uma entidade e NOTATION declara uma notação. Primeiramente é declarado o elemento mãe, que é o cadastro e deve conter os elementos filhos nome e . O elemento filho nome utiliza a palavrachave #PCDATA e o elemento filho , #PCDATA. Após a definição DTD, esse arquivo é salvo com o nome, por exemplo, definir.dtd, para depois ser definido como arquivo XML. Com o arquivo DTD pronto, a indicação de qual DTD um documento segue é feita no início do documento, começando com <--DOCTYPE, como revela a Figura 09.

26 26 <?xml version="1.0" encoding="iso "?> <! Inclusão do documento DTD criado anteriormente--> <!DOCTYPE cadastro SYSTEM "definir.dtd"> <! Montagem do documento XML--> <cadastro> <nome>marselha</nome> </cadastro> Figura 09 Declaração de DTD Utilizando Arquivo Quando se declara uma DTD, pode-se utilizar a barra vertical (" ") para dizer que apenas um dos elementos irá aparecer no documento XML, confira na Figura 10. <!ELEMENT cadastro(nome )> Figura 10 Declaração de DTD Utilizando A utilizada na Figura 10 diz que apenas um dos elementos irá aparecer, ou o elemento nome ou o elemento . Utiliza-se também a vírgula, que serve para ordenar a aparição dos elementos. Veja o exemplo da Figura 11. <!ELEMENT cadastro(nome, )> Figura 11 Declaração de DTD Utilizando, Os dois elementos, nome e , da Figura 11 aparecerão na ordem como estão, ou seja, primeiro vem o elemento nome depois o elemento . Os caracteres utilizados dentro do DTD são: o caractere de adição (+), interrogação (?) e asterisco (*). O caractere "+" (mais) indica que o elemento irá aparecer uma ou mais vezes no documento XML, como mostra a Figura 12. <!ELEMENT cadastro(nome, +)> Figura 12 Declaração de DTD Utilizando +

27 27 Já o caractere? significa que o elemento poderá ou não aparecer no documento XML, ou seja, ele é opcional, conforme está na Figura 13. <!ELEMENT cadastro(nome?, )> Figura 13 Declaração de DTD Utilizando? Finalmente, o * indica que o elemento poderá aparecer nenhuma ou várias vezes no documento XML. Veja a Figura XML Schema Figura 14 Declaração de DTD Utilizando * A XML Schema, também chamada de XML Schema Definition (XSD), é extensível e escrita em XML. Os esquemas tiveram origem na necessidade de se criar regras de formatação e padronização do código XML para poder ser integrado nas tarefas de enviar e receber informações com bases de dados. (CRESPI, 2005) Entre as principais características de XML Schema, são citadas: a) Possibilidade de utilizar valores booleanos, números, datas e horas, URIs, inteiros, números decimais, números reais, intervalos de tempo, etc.; b) Tipos definidos pelos usuários, chamados de Arquétipos. Por exemplo: definir um tipo chamado EndereçoPostal e a partir dele definir dois elementos, EndereçoEnvio e EndereçoCobrança como sendo deste tipo; elementos; c) Agrupamento de atributos, que podem ser aplicados a todos os d) Um modelo de conteúdo em uma DTD pode ser descrito como fechado, considerando-se que ele descreve exatamente o que pode aparecer no conteúdo do elemento. A XML Schema admite duas outras possibilidades: open e refinable. <!ELEMENT cadastro(nome, *)>

28 28 Em um modelo de conteúdo do tipo open, todos os elementos requeridos devem estar presentes, embora não seja considerado um erro se elementos adicionais forem inseridos. Já um modelo de conteúdo refinable admite que elementos adicionais estejam presentes, desde que o esquema defina o que eles são. Em relação à validação de documentos, espera-se testar tanto a validação de modelos de conteúdo quanto a validação de unidades específicas de dados. A primeira testa se a ordem e alinhamento dos elementos estão corretos, enquanto que a segunda verifica se um determinado valor é do tipo correto e está de acordo com as regras de validação daquele tipo. Utilizando-se DTD, somente é possível de ser feito o primeiro tipo de validação Sintaxe na Figura 15. O cabeçalho inicial de um documento XML contendo esquema é mostrado <Schema name="schema" xmlns="urn-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoftcom:datatypes"> Figura 15 Cabeçalho Esquema Na primeira linha de código da Figura 15 é definido o esquema. Ela informa o nome do Schema (name), o atributo xmlns e o atributo xmlns:dt. O único atributo que poderá mudar é o name, ou seja, o nome do schema poderá ser outro, observe na Figura 16. <ElementType name="nome" content="textonly" dt:type="string"/> Figura 16 Exemplo ElementType Com o elemento ElemntType, como mostra a Figura 16, define-se os elementos que farão parte do documento XML. Os atributos usados na Figura 16 e os demais atributos que fazem parte do elemento ElementType são:

29 29 Atributo name: define o nome do elemento, no caso, nome; Atributo content: esse atributo define se o elemento terá texto, elementos, texto com outros elementos, etc. Na Figura 16 o elemento nome poderá apenas conter texto. No Quadro 03 será apresentada uma tabela com outros tipos de atributo content. empty Elemento vazio textonly O elemento poderá conter apenas texto eltonly mixed O elemento poderá conter apenas elementos especificados Poderá conter tanto texto quanto outros elementos Quadro 03 Tabela Atributo Content Atributo dt:type: Define que tipo de dados o elemento irá conter. No exemplo da Figura 16 é utilizado o tipo string. Outros tipos comuns que podem ser usados são mostrados no Quadro 04. boolean char date datetime int number time Valor do tipo booleano Tipo de dados string O tipo de dados será uma data O valor será data e hora Define o tipo de dados como sendo um inteiro O tipo de dados é um número O tipo de dados é em formato de hora Quadro 04 Tabela Atributo dt:type Atributo model: poderá conter dois valores (open e closed). Se o valor do atributo for open, então o elemento poderá conter elementos filhos além dos declarados. Se for closed, o elemento poderá ter elementos filhos declarados explicitamente. Atributo order: esse atributo poderá conter três valores, one, seq ou many. O valor one informa que um determinado elemento terá apenas um elemento filho, enquanto que o valor seq exige que os elementos apareçam na seqüência especificada, como mostra a Figura 17:

30 30 <ElementType name="cadastro" order:"seq"> <element type="nome"/> <element type=" /> <element type="tel"/> </ElementType> <?xml version="1.0"?> <cadastro> <nome>marselha</nome> <tel> </tel> </cadastro> Figura 17 Exemplo utilizando valor seq Já o valor many permite que os elementos apareçam em qualquer ordem ou não apareçam, ou seja, são opcionais. O element define os elementos filhos de outro elemento. Na Figura 18 há um elemento cadastro e dentro dele existem dois elementos filhos (nome e ). Esses dois são definidos por element, conforme a Figura 18. <ElementType name="cadastro"content="eltonly" model="closed"> <element type="nome"/> <element type=" "/> Figura 18 Exemplo utilizando element O attribute é usado para atribuir um atributo a um elemento. Na Figura 19 foi declarado o atributo dinheiro ao elemento pagamento. <Attribute name="dinheiro" dt:type="string"/> <ElementType name="pagamento" content="textonly" dt:type="string"> <description>comentário qualquer</description> comentário. Figura 19 Exemplo Utilizando Attribute O elemento description mostrado na Figura 19 serve para inserir um

31 Sistema de Gerenciamento de Banco de Dados (SGBD) e visão geral de SQL Server com suporte a XML 3.1 Introdução Neste capítulo será descrita uma visão geral sobre Banco de Dados e SQL Server com suporte a XML, já que o XML foi crescendo tanto que surgiu a necessidade de juntá-lo ao Banco de Dados. Primeiro será apresentada uma noção de Banco de Dados e, em seguida, será explicado como este oferece suporte à XML. Para a tomada de decisões dentro de uma empresa, os gerentes precisam buscar informações corretas e organizadas, portanto, a necessidade de se obter um banco de dados é indispensável. Através de Sistema de Banco de Dados pode-se obter o compartilhamento de dados, eliminação de duplicação, redundância e inconsistência controlada e suporte a transações, permitindo integridade e segurança. Tais sistemas precisam incorporar não apenas várias verificações e controles para reduzir a probabilidade de falhas, mas também, e mais significativamente, um extenso conjunto de procedimentos para recuperação de falhas que inevitavelmente irão ocorrer, apesar daquelas verificações e controles. (DATE, 1988, p.1) Neste trabalho será utilizado o Sistema Gerenciador Banco de Dados (SGBD) da Microsoft SQL Server 2000, pois é de fácil compreensão e possui uma estrutura simples. 3.2 Conceitos Bancos de dados (ou bases de dados) são conjuntos de dados com uma estrutura regular que organizam informações. Um banco de dados normalmente agrupa dados utilizados para um mesmo fim. De acordo com Date (1991), um banco de dados é uma coleção de dados operacionais armazenados, usados pelos sistemas de aplicações de uma empresa específica.

32 32 [...] empresa é um termo genérico e conveniente para designar uma organização comercial, cientifica, técnica ou de outra natureza que seja razoavelmente independente. (DATE, 1991, p.10) Um banco de dados é usualmente mantido e acessado por meio de um software conhecido como Sistema de Gerenciamento de Banco de Dados (SGBD). O conceito de Sistema de Gerenciamento de Banco de Dados (SGBD) é o armazenamento completo de descrições de dados, seus relacionamentos e forma de acesso. Ele permite que cada usuário visualize dados de forma diferente provendo um ambiente adequado e eficiente para a recuperação de dados e o desenvolvimento de programas aplicativos. O sistema de banco de dados é basicamente um sistema de manutenção de registros por computador ou seja, um sistema cujo objetivo global é manter as informações e torná-las disponíveis quando solicitadas. (DATE, 1991, p.05) O termo banco de dados deve ser aplicado apenas aos dados, enquanto o termo Sistema Gerenciador de Bancos de Dados deve ser aplicado ao software com a capacidade de manipular bancos de dados de forma geral. 3.3 Recuperação A recuperação dos dados em um sistema de banco de dados consiste em reaver a base completa em um estado que se saiba estar correto, após alguma falha ter ocorrido e ter deixado a base atual incorreta ou, pelo menos, suspeita. As possíveis causas para ter-se que recuperar o banco de dados são erros, como a falha do próprio sistema de banco de dados, por erro de programação em uma aplicação, erro no sistema operacional ou falha no hardware, dentre outros. A recuperação em um sistema de banco de dados significa, essencialmente, recuperar o próprio banco de dados: isto é, restaurar o banco de dados a um estado que se saiba estar correto após alguma falha ter deixado o estudo atual incorreto. (DATE, 1991, p.1) A recuperação se baseia principalmente na proteção dos dados, assegurando que qualquer informação já contida no banco possa ser reconstruída a

33 33 partir de alguma outra informação armazenada redundantemente, em algum outro lugar do sistema. 3.4 Integridade Para obter os benefícios propostos é preciso seguir algumas normas a fim de garantir a integridade dos dados e a normalização fundamental para o sucesso do projeto. O termo integridade é utilizado em contextos de bancos de dados com o significado de precisão; correção ou validade. (DATE, 1991, p. 32) A integridade de uma tabela é conseguida através das Primary Keys ou Uniques, que garantem não ocorrer duplicidade dos dados, e é conhecida como integridade de entidade. Já a integridade referencial baseia-se na relação entre duas tabelas aparecendo a chave Foreign Key, em que a chave primária de uma tabela é inserida em outra. A falta de integridade pode causar falhas possíveis de serem vistas depois de muito tempo, causando transtorno para a correção de lacunas e valores duplicados, inseridos de forma incorreta. 3.5 Concorrência Ocorre quando várias pessoas tentam efetuar mudanças no banco de dados ao mesmo tempo. Por isso, é necessário haver o controle dessa ocorrência, para prevenir que uma pessoa sobrescreva as modificações que outras pessoas realizaram no mesmo registro. Existem duas formas comuns para gerenciar a ocorrência: - Pessimista: As linhas que serão modificadas permanecerão bloqueadas até a liberação para que outra pessoa faça a sua modificação. Um exemplo é o controle de estoque. - Otimista: Feita de acordo com a leitura dos dados, mas somente quando eles estão sendo atualizados.

34 34 O usuário enxerga uma única ação, mas, na realidade, é executado um conjunto de procedimentos pelo Banco de Dados, dependendo de quatro propriedades conhecidas como ACID: - Atomicidade: Todas as ações que compõem a transação devem ser concluídas com sucesso, para que sejam efetivadas (commit). Caso contrário, se acontecer alguma falha, a transação deve ser desfeita (rollback). - Consistência: O status da implementação deve ser feito na íntegra. sem interferência. - Isolamento: Cada transação funciona independente uma da outra, - Durabilidade: Os resultados de uma transação são permanentes, podendo ser desfeitos somente após outra transação. 3.6 Segurança O passo inicial a ser dado é ter certeza de que o banco está totalmente seguro, isto é, todos os processos adotados para o banco de dados devem ser seguros. O primeiro item de segurança é o login, por isso, as senhas devem ser longas e complexas, assegurando que não poderão ser vistas por pessoas erradas, pois serão criptografadas e é difícil reverter esse processo. Além da segurança de senhas, o SQL também possui validação de permissões, contas de usuário e cargos do banco de dados. 3.7 SQL Server com Suporte ao XML A Microsoft, quando do lançamento do SQL Server, afirmou que o gerenciador de banco de dados pode armazenar facilmente XML e recuperar dados no mesmo formato, capacitando a integração aplicação-a-aplicação com maior flexibilidade na Web (SCHIAVANI, 2008). Com tal afirmação, visou a ampliação do aplicativo no mercado corporativo. Para executar query na importação e exportação de arquivos XML, existem 2 tipos de templates: Templates de querys via XPATH;

35 35 Templates de query usando SQL. Neste trabalho será utilizado o template de query usando SQL. Segundo Bento, Reali e Castro (2002), os templates são documentos XML bem-formados que contêm uma ou mais declarações do SQL ou de uma ou mais queries XPath Executando Templates Para executar o template de query não será necessário utilizar Schema, pois através do SQL os dados são recuperados da forma que se deseja. Na recuperação de dados no formato XML, utiliza-se a cláusula FOR XML da declaração SELECT e especifica-se o formato do documento que será retornado. A Figura 20 mostra a sintaxe FOR XML. FOR XML mode [,XMLDATA] [, ELEMENTS] [,BINARY BASE64] Figura 20 Sintaxe FOR XML (Bento, Reali, Castro, 2002) Ao utilizar a cláusula FOR XML é necessário especificar quais parâmetros para a consulta serão utilizados. O Quadro 05 mostra detalhadamente cada parâmetro. Parâmetro Mode XMLDATA ELEMENTS BINARY BASE 64 Descrição Especifica o formato do documento XML que está sendo retornado. Pode ser RAW, AUTO ou EXPLICIT. Especifica que um esquema XML deverá ser retornado. O esquema é incluído no início do documento XML que será retornado. Especifica que as colunas são retornadas como subelementos ao invés de atributos ao elemento da linha. Isto é usado somente no modo AUTO. Especifica que os dados sejam retornados no formato codificado base64 para recuperar dados binários. Quadro 05 Parâmetros FOR XML (Bento, Reali, Castro, 2002)

36 36 Para especificar a hierarquia dos dados, utilizam-se os modos RAW, AUTO e EXPLICIT. No modo AUTO, cada linha que é retornada pela consulta é representada por um elemento XML com o mesmo nome da tabela de origem, como mostra a Figura 21. Select * from DADOS_ALUNA for XML AUTO Resultado: <DADOS_ALUNA matricula="1020" nome="marselha" sobrenome="samora"/> <DADOS_ALUNA matricula="1030" nome="livia" sobrenome="giuliani"/> <DADOS_ALUNA matricula="1040" nome="lidiane" sobrenome="melo"/> Figura 21 Modo AUTO Com o modo AUTO, ainda podemos utilizar ELEMENTS. Para cada registro retornado uma tag com o nome da tabela é aberta e fechada. Dentro dessa tag cada campo da tabela é retornado como uma tag e os valores dela são o conteúdo do campo para aquele registro. Nesse caso, cada coluna é representada por um elemento filho, veja na Figura 22. <DADOS_ALUNA> <matricula>1020</matricula> <nome>marselha</nome> <sobrenome>samora</sobrenome> </DADOS_ALUNA> <DADOS_ALUNA> <matricula>1030</matricula> <nome>livia</nome> <sobrenome>giuliani</sobrenome> </DADOS_ALUNA> <DADOS_ALUNA> <matricula>1040</matricula> <nome>lidiane</nome> <sobrenome>melo</sobrenome> </DADOS_ALUNA> Figura 22 Modo AUTO e ELEMENTS

37 37 Já o modo Raw transforma cada fileira no resultado ajustado em um elemento de XML com a fileira genérica do identificador. Cada valor da coluna que não é NULO é traçado a um atributo do elemento de XML em que o nome do atributo é o mesmo que o nome da coluna. A Figura 23 é um exemplo. TAG ATRIBUTO <row matricula="1020" nome="marselha" sobrenome="samora"/> <row matricula="1030" nome="livia" sobrenome="giuliani"/> <row matricula="1040" nome="lidiane" sobrenome="melo"/> Figura 23 Modo RAW Enfim, utilizando o modo EXPLICIT pode-se controlar por completo como o documento XML será retornado, no entanto, devem-se fornecer mais informações para especificar a estrutura do documento XML. Portanto, para que isso ocorra as consultas SELECT precisam ser escritas num formato conhecido como tabela universal, podendo então ser gerado o XML desejado. O SQL Server fornece a função utilizada no T-SQL para criar documentos XML. De acordo com Bento, Reali e Castro (2002), o OPENXML cria uma visualização de conjuntos de linhas de um documento XML na memória. A sintaxe da função OPENXML é representada como na Figura 24.

38 38 OPENXML(idoc int [in],rowpattern nvarchar[in],[flags byte[in]]) [WITH (SchemaDeclaration TableName)] Figura 24 Sintaxe OPENXML Idoc Rowpattem O Quadro 06 mostra os argumentos da função OPENXML: O manuseio do documento da representação interna de um documento XML criado pelo sp_xml_preparedocumnet. O padrão XPath usado para identificar os nós a serem processados como linhas. Configura o mapeamento que deverá ser usado entre os dados XML e o Flags conjunto de linhas relacional. SchemaDeclaration TableName WITH clause A definição de esquema do formulário. O nome da tabela quando uma declaração de esquema não é usada. Fornece um formato de conjunto de linhas usando tanto um esquema de declaração quanto a especificação uma tabela existente. Se a cláusula opcional WITH não é especificada, os resultados são retornados no formato de tabela destacada. Quadro 06 Argumentos da função OPENXML (Bento, Reali, Castro 2002) No argumento Flag define-se um valor, como mostra o Quadro 07. Valor Descrição 0 Usa o mapeamento default (atributos). 1 Retorna valores de atributos. 2 Retorna valores de elementos. 3 Retorna valores de atributos e elementos. Quadro 07 Valores Flag Para criar uma representação interna de um documento XML a ser analisado sintaticamente é utilizada a store procedure sp_xml_preparedocument,

39 39 que usa o analisador sintático MSXML. Ele retorna um instrumento para acessar a representação do conjunto de linhas do documento, que é armazenada no cachê interno do SQL Server. Se ocorrer sucesso, retorna 0 e se ocorrer erro, retorna > 0. A sintaxe para a store procedure sp_xml_preparedocument é mostrada no Quadro 08. Hdoc Um inteiro que é o instrumento para o documento recém-criado. Xmltext XPath O documento XML como um parâmetro de texto (char, nchar, varchar, text, ntext). Se for NULL, uma representação interna de um documento XML vazio será criada. O namespace que é usado nas expressões XPath no OPENXML. O valor padrão é <root xmlns:mp= urn:schemas-microsoft-com:xml-metaprop >. Quadro 08 Sintaxe sp_xml_preparedocument Assim que terminar de utilizar a store procedure sp_xml_preparedocument, é necessário remover a representação do conjunto de linhas da memória utilizando a store procedure sp_xml_removedocument.

40 40 4. Exportação e Importação de Dados Utilizando SQL Server 2000 com suporte a XML 4.1 Introdução Para que um sistema A desenvolvido em ASP com banco de dados SQL Server possa enviar alguns dados para alimentar um sistema B desenvolvido em outra linguagem de programação e outro tipo de banco de dados, é necessário um padrão para que ambas as aplicações possam entender que tipo de dados está sendo passado. Este trabalho apresenta um material de apoio ao meio acadêmico a fim de proporcionar um conhecimento básico da linguagem XML utilizando a importação e exportação de dados entre sistemas legados. Será apresentado um caso de como são feitas a exportação e importação dos dados utilizando SQL Server 2000, o que, como visto nos capítulos anteriores, oferece suporte integrado a XML, sendo flexível, de alto desempenho e fácil de ser usado tanto por desenvolvedores de Web quanto por programadores de banco de dados. 4.2 Exportação de Dados Para exemplificar a exportação e importação de dados foi criada uma tabela chamada DADOS_ALUNA e os campos pertencentes a esta tabela são matrícula, nome e sobrenome, conforme a Figura 25. Figura 25 Criando tabela

41 41 A inserção de dados na tabela existente se dá com a execução do comando Insert com os determinados valores de cada campo, como mostra a Figura 26. Figura 26 Inserindo dados na tabela Foi utilizado o comando SELECT * para mostrar o conteúdo da tabela DADOS_ALUNA, revelando todos os campos pertencentes à tabela e, para visualizar somente o campo nome, foi utilizado o comando select nome. Veja a Figura 27. Figura 27 Mostrando dados da tabela

42 42 Para a exportação do arquivo no formato XML, será utilizada a cláusula FOR XML do SELECT ao final da instrução. A cláusula FOR XML é uma instrução contida no SQL Server que oferece suporte ao XML. Para selecionar os parâmetros de FOR XML será utilizado o modo AUTO e ELEMENTS para o tipo de pesquisa desejado. Utilizando o modo AUTO cada linha que é retornada pela consulta é representada como um elemento XML com o mesmo nome da tabela de origem e os campos da tabela são retornados como elementos filhos. Para salvar o arquivo em um diretório específico utilizaremos a Stored Procedure estendida xp_cmdshell que permite a execução de comandos do sistema operacional de dentro da Database, como revela a Figura 28. EXEC master..xp_cmdshell 'BCP "SELECT * FROM Northwind..dados_aluna as dados_aluna FOR XML AUTO, ELEMENTS " QUERYOUT C:\SAIDA.XML -S. -T -c' Figura 28 Exportando dados O arquivo que foi gerado na exportação, conforme mostra a Figura 28, foi salvo no diretório C:\ com o nome de SAIDA.XML, onde posteriormente será utilizado para a importação dos dados. A estrutura do arquivo exportado é mostrada na Figura 29.

43 Importação de Dados Figura 29 Estrutura dos Dados Exportados Para realizar a importação dos dados, utiliza-se o banco de dados já existente, dados_aluna, que receberá os dados importados do arquivo SAIDA.XML. A fim de demonstrar posteriormente o resultado inserido, iremos executar truncate table de modo que limpe todos os dados da tabela dados_aluna, porque após a conclusão da importação dos dados será executado um select para mostrar os dados inseridos. A importação dos dados exige que o documento fique armazenado na memória na forma de uma árvore. Essa árvore representa os dados de cada nodo que o SQL Server 2000 terá que interpretar para preparar a linha de leitura. Usa-se a stored procedure sp_xml_preparedocument para fazer o parse do documento XML e transformá-lo em uma estrutura de árvore em memória. A árvore é similar ao DOM, pois só poderão ser processados os documentos que estão válidos e bem formatados. Depois que o documento passa pela stored procedure SP_XML_PREPAREDOCUMENT, o SQL interpreta os dados na forma de uma árvore, veja a Figura 30. <dados_aluna> <matricula>1020</matricula> <nome>lidiane</nome> <sobrenome>melo</sobrenome> </dados_aluna> <dados_aluna> <matricula>1030</matricula> <nome>anderson</nome> <sobrenome>rodrigues</sobrenome> </dados_aluna> <dados_aluna> <matricula>1040</matricula> <nome>patricia</nome> <sobrenome>soares</sobrenome> </dados_aluna> <dados_aluna> <matricula>1050</matricula> <nome>livia</nome> <sobrenome>giuliane</sobrenome> </dados_aluna>

44 44 DADOS_A LUNA MATRICU LA NOME SOBREN OME MARSELH A LIVIA LIDIANE SAMORA GIULIANI MELO Figura 30 Árvore de dados de cada nodo O processo que o documento percorrerá para que seja realizada a importação é mostrado na Figura 31. Figura 31 Processo da Importação (Jerônimo, 2008) O OPENXML vai ler os dados já devidamente formatados, pois ele não interpreta a estrutura de nodos. Por esse motivo usamos o SP_XML_PREPAREDOCUMENT para converter o documento em um padrão que o SQL Server 2000 possa ler e interpretar.

45 45 Ao ser recebido, o documento é processado usando código Transact- SQL. Normalmente, o código Transact-SQL é implementado em forma de uma stored procedure e a string XML é passada como um parâmetro. Como a estrutura de árvore do documento XML é mantida em memória, deve-se usar a stored procedure sp_xml_removedocument para liberar a memória quando essa árvore não for mais necessária. Para fazer a importação, será criada uma tabela temporária com o nome de tmpfilelines para armazenar os dados que serão inseridos. Será utilizado o comando xp_cmdshell para buscar o arquivo no local C:\SAIDA.XML e, em seguida, para mostrar os dados, será executado um select na tabela temporária, assim como na Figura 32. Figura 32 Tabela temporária A fim de continuar a importação será definida a contendo os dados do arquivo SAIDA.XML, que será importado. Quando inicializa a leitura na tabela temporária para armazenar os dados na é executado um CASE para verificar se é a primeira vez que está passando na tabela para inserção (se não, apenas é concatenado os dados). Logo em seguida,

46 46 utilizaremos o comando SET para atribuir o valor à e, por fim, será apagada a tabela temporária, pois não será mais utilizada, como traz a Figura 33. Figura 33 Inserindo dados Na string XML que foi atribuída para a obrigatoriamente deve-se ter uma tag ROOT (neste caso, a tag <ROOT>), pois o parser não identificará um documento válido e informará um erro. Para finalizar a importação será definida a o id interno que representa o XML na memória. Logo em seguida, será feita a preparação do documento. Quando executamos sp_xml_preparedocument (uma System Stored Procedure), o XML é checado e se houver algum tipo de erro o identificador não é criado. A cláusula WITH (que faz parte da função OPENXML()) serve para colocar um tipo de dado do SQL Server nos dados que estão sendo extraídos do XML, como é exemplificado na Figura 34.

47 47 int EXEC 35. Figura 34 Finalizando Importação Para mostrar o resultado será executado o comando select. Veja a Figura arquivo SAIDA.XML. INSERT INTO dados_aluna SELECT * FROM OPENXML(@hDOC, '/ROOT/dados_aluna', 3) WITH ( matricula int, nome varchar(20), sobrenome varchar(20) ) EXEC Figura 35 Resultado da Inserção A Figura 35 mostra os dados da inserção através da importação do

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

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

Leia mais

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL 1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)

Leia mais

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

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

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

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

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

Leia mais

Um documento XML possui Unidade lógica - os elementos Usuário "inventa" as marcas através de DTDs

Um documento XML possui Unidade lógica - os elementos Usuário inventa as marcas através de DTDs XML Um documento XML possui Unidade lógica - os elementos Usuário "inventa" as marcas através de DTDs Unidade física - as entidades Armazenamento separado dos dados Como toda linguagem de marcação: XML

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

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

1. Domínio dos Atributos

1. Domínio dos Atributos Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Domínio dos Atributos Por domínio, ou tipo, pode-se entender como a maneira como determinado atributo (ou campo, se tratando

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 1

PHP INTEGRAÇÃO COM MYSQL PARTE 1 INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança

Leia mais

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

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

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda. SQL comando SELECT Uma das tarefas mais requisitadas em qualquer banco de dados é obter uma listagem de registros armazenados. Estas tarefas são executadas pelo comando SELECT Sintaxe: SELECT [DISTINCT]

Leia mais

Disciplina de Banco de Dados Introdução

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

Leia mais

Faculdade Lourenço Filho - ENADE 2011-1

Faculdade Lourenço Filho - ENADE 2011-1 1. Quando se constrói um banco de dados, define-se o modelo de entidade e relacionamento (MER), que é a representação abstrata das estruturas de dados do banco e seus relacionamentos. Cada entidade pode

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR Novell Teaming - Guia de início rápido Novell Teaming 1.0 Julho de 2007 INTRODUÇÃO RÁPIDA www.novell.com Novell Teaming O termo Novell Teaming neste documento se aplica a todas as versões do Novell Teaming,

Leia mais

02 - Usando o SiteMaster - Informações importantes

02 - Usando o SiteMaster - Informações importantes 01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,

Leia mais

2008.1 SQL. Autor: Renata Viegas

2008.1 SQL. Autor: Renata Viegas SQL Autor: Renata Viegas A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua

Leia mais

Programação SQL. Introdução

Programação SQL. Introdução Introdução Principais estruturas duma Base de Dados: Uma BD relacional é constituída por diversas estruturas (ou objectos ) de informação. Podemos destacar: Database: designa a própria BD; Table/Tabela:

Leia mais

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo

Leia mais

2 Diagrama de Caso de Uso

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

Leia mais

Orientação a Objetos

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

Leia mais

2008.1. A linguagem SQL

2008.1. A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

Leia mais

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre

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

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML 1 1. : Conceitos Básicos 2. Aplicação : XHTML 3. Folhas de Estilo em Cascata 2 é um acrônimo para EXtensible Markup Language é uma linguagem de marcação muito parecida com HTML foi designada para descrever

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA RESUMO DE AULA CRIAÇÃO E MANIPULAÇÃO DO BANCO DE DADOS

Leia mais

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MANUAL

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

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

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

Leia mais

Banco de Dados. Microsoft Access

Banco de Dados. Microsoft Access Banco de Dados Microsoft Access PARTE 01 edição 2007 Índice 01-) Conceito... 2 02) Sistema Gerenciador de Banco de Dados Relacional (SGBDR)... 3 03) Access... 3 04) Etapas para elaboração de um Banco de

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

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi XML e Banco de Dados de Internet Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi Motivação Diversas aplicações Web utilizam Fontes de Dados (BD); Arquitetura Cliente-Servidor (2

Leia mais

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento. Roteiro Modelo de Dados Relacional Posicionamento Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Introdução

Leia mais

Principais Comandos SQL Usados no MySql

Principais Comandos SQL Usados no MySql Principais Comandos SQL Usados no MySql O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares)

Leia mais

Tarefa Orientada 16 Vistas

Tarefa Orientada 16 Vistas Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

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

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

Leia mais

Fundamentos em Informática (Sistemas de Numeração e Representação de Dados)

Fundamentos em Informática (Sistemas de Numeração e Representação de Dados) 1 UNIVERSIDADE DO CONTESTADO / UnC CAMPUS CONCÓRDIA/SC CURSO DE SISTEMAS DE INFORMAÇÃO Fundamentos em Informática (Sistemas de Numeração e Representação de Dados) (Apostila da disciplina elaborada pelo

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

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

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

Leia mais

Mostrar área de trabalho.scf. Manual do Produto EDI.

Mostrar área de trabalho.scf. Manual do Produto EDI. Mostrar área de trabalho.scf Manual do Produto EDI. ÍNDICE MANUAL DO PRODUTO EDI....3 1. O QUE É O EDI?...3 1.1. VANTAGENS... 3 1.2. FUNCIONAMENTO... 3 1.3. CONFIGURAÇÃO NECESSÁRIA... 3 2. UTILIZANDO O

Leia mais

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

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

Leia mais

Diferenças da versão 6.3 para a 6.4

Diferenças da versão 6.3 para a 6.4 Release Notes Diferenças da versão 6.3 para a 6.4 Melhorias Comuns ao Sistema Help O Help Online foi remodelado e agora é possível acessar os manuais de cada módulo diretamente do sistema. Mapeamento de

Leia mais

Manual do Visualizador NF e KEY BEST

Manual do Visualizador NF e KEY BEST Manual do Visualizador NF e KEY BEST Versão 1.0 Maio/2011 INDICE SOBRE O VISUALIZADOR...................................................... 02 RISCOS POSSÍVEIS PARA O EMITENTE DA NOTA FISCAL ELETRÔNICA.................

Leia mais

Sistema de Controle de Solicitação de Desenvolvimento

Sistema de Controle de Solicitação de Desenvolvimento Sistema de Controle de Solicitação de Desenvolvimento Introdução O presente documento descreverá de forma objetiva as principais operações para abertura e consulta de uma solicitação ao Setor de Desenvolvimento

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

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

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

Leia mais

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

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

Leia mais

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

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

Este relatório tem por objetivo, abordar a sintaxe XML.

Este relatório tem por objetivo, abordar a sintaxe XML. Relatório do GPES Este relatório tem por objetivo, abordar a sintaxe XML. XML Estrutura do documento Um documento XML é uma árvore rotulada onde um nó externo consiste de: [1] Dados de caracteres (uma

Leia mais

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

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

Leia mais

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN José Agostinho Petry Filho 1 ; Rodrigo de Moraes 2 ; Silvio Regis da Silva Junior 3 ; Yuri Jean Fabris 4 ; Fernando Augusto

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

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

Leia mais

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

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional Modelo de Dados Relacional e as Restrições de um Banco de Dados Relacional Modelo de Dados Relacional Conceitos do Modelo Relacional Representa o banco de dados como uma coleção de relações. Comparação

Leia mais

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

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

Leia mais

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

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões Prof. MSc. Hugo Souza Se você precisar manter informações sobre seus usuários enquanto eles navegam pelo seu site, ou até quando eles saem

Leia mais

Banco de Dados I Introdução

Banco de Dados I Introdução Banco de Dados I Introdução Prof. Moser Fagundes Curso Técnico em Informática (Modalidade Integrada) IFSul Campus Charqueadas Sumário da aula Avaliações Visão geral da disciplina Introdução Histórico Porque

Leia mais

RESPOSTA AO RECURSO. 11110011+00010001 = 100000100 que corresponde a 260 decimal, alternativa A.

RESPOSTA AO RECURSO. 11110011+00010001 = 100000100 que corresponde a 260 decimal, alternativa A. QUESTÃO: 12 Na questão 12 referente a conhecimentos específicos da área de "Informática: Banco de dados e programação" 11110011+00010001 = 100000100 que corresponde a 260 decimal, alternativa A. RESPOSTA:

Leia mais

Aula 1: Noção Básica e Criação de Tabelas.

Aula 1: Noção Básica e Criação de Tabelas. Aula 1: Noção Básica e Criação de Tabelas. Introdução Olá! Seja bem-vindo a apostila de Microsoft Access 2010. Access 2010 é um Sistema de Gerenciamento de Banco de Dados da Microsoft, distribuído no pacote

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

Módulo 4: Gerenciamento de Dados

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

Leia mais

TUTORIAL DO ALUNO. Olá, bem vindo à plataforma de cursos a distância da Uniapae!!!

TUTORIAL DO ALUNO. Olá, bem vindo à plataforma de cursos a distância da Uniapae!!! TUTORIAL DO ALUNO Olá, bem vindo à plataforma de cursos a distância da Uniapae!!! O Moodle é a plataforma de ensino a distância utilizada pela Uniapae sendo a unidade de ensino para rápida capacitação

Leia mais

SISTEMA GERENCIADOR DE BANCO DE DADOS

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

Leia mais

Aplicativo da Manifestação do Destinatário. Manual

Aplicativo da Manifestação do Destinatário. Manual Aplicativo da Manifestação do Destinatário Manual Novembro de 2012 1 Sumário 1 Aplicativo de Manifestação do Destinatário...4 2 Iniciando o aplicativo...4 3 Menus...5 3.1 Manifestação Destinatário...5

Leia mais

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

GERÊNCIA DE DADOS SEMIESTRUTURADOS -DTD. Prof. Angelo Augusto Frozza, M.Sc. http://www.about.me/tilfrozza GERÊNCIA DE DADOS SEMIESTRUTURADOS -DTD Prof. Angelo Augusto Frozza, M.Sc. http://www.about.me/tilfrozza ROTEIRO Introdução ao DTD Elementos Atributos Entidades Validando um documento XML DTD (DOCUMENT

Leia mais

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

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

Leia mais

WebMail --------------------------------------------------------------------------------------------------------------- Manual do cliente

WebMail --------------------------------------------------------------------------------------------------------------- Manual do cliente WebMail --------------------------------------------------------------------------------------------------------------- Manual do cliente www.plugin.com.br 1 ÍNDICE Prefácio...3 Sobre Este Manual... 3

Leia mais

Manual Geral do OASIS

Manual Geral do OASIS Manual Geral do OASIS SISTEMA DE GESTÃO DE DEMANDA, PROJETO E SERVIÇO DE TECNOLOGIA DA INFORMAÇÃO OASIS Introdução Esse manual tem como objetivo auxiliar aos usuários nos procedimentos de execução do sistema

Leia mais

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

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

Leia mais

INTRODUÇÃO. Diferente de Bando de Dados

INTRODUÇÃO. Diferente de Bando de Dados INTRODUÇÃO Diferente de Bando de Dados 1 INTRODUÇÃO DADOS São fatos conhecidos que podem ser registrados e que possuem significado. Ex: venda de gasolina gera alguns dados: data da compra, preço, qtd.

Leia mais

Structured Query Language (SQL)

Structured Query Language (SQL) SQL Histórico Structured Query Language (SQL) Foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language) para suas primeiras tentativas

Leia mais

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

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

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix

Leia mais

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

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

Banco de Dados Modelo Conceitual, Lógico, Físico, Entidade- Relacionamento (ER) Hélder Nunes

Banco de Dados Modelo Conceitual, Lógico, Físico, Entidade- Relacionamento (ER) Hélder Nunes Banco de Dados Modelo Conceitual, Lógico, Físico, Entidade- Relacionamento (ER) Hélder Nunes Modelos de banco de dados Modelo de banco de dados é uma descrição dos tipos de informações que estão armazenadas

Leia mais

Criando um script simples

Criando um script simples Criando um script simples As ferramentas de script Diferente de muitas linguagens de programação, você não precisará de quaisquer softwares especiais para criar scripts de JavaScript. A primeira coisa

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Web Design. Prof. Felippe

Web Design. Prof. Felippe Web Design Prof. Felippe 2015 Sobre a disciplina Fornecer ao aluno subsídios para o projeto e desenvolvimento de interfaces de sistemas Web eficientes, amigáveis e intuitivas. Conceitos fundamentais sobre

Leia mais

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

Leia mais

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção Este procedimento corresponde ao fluxo de trabalho de Indexação de OCR com separação de código de correção no programa de treinamento do Capture Pro Software. As etapas do procedimento encontram-se na

Leia mais

Manual do Painel Administrativo

Manual do Painel Administrativo Manual do Painel Administrativo versão 1.0 Autores César A Miggiolaro Marcos J Lazarin Índice Índice... 2 Figuras... 3 Inicio... 5 Funcionalidades... 7 Analytics... 9 Cidades... 9 Conteúdo... 10 Referência...

Leia mais

IV. Intercâmbio Eletrônico de Dados (EDI)

IV. Intercâmbio Eletrônico de Dados (EDI) IV. Intercâmbio Eletrônico de Dados (EDI) 1. Funcionamento do EDI 2. EDI tradicional X WEB EDI 3. EDI Tradicional 4. WEB EDI Intercâmbio Eletrônico de Dados (EDI) EDI: Electronic Data Interchange Troca

Leia mais

Rotina de Discovery e Inventário

Rotina de Discovery e Inventário 16/08/2013 Rotina de Discovery e Inventário Fornece orientações necessárias para testar a rotina de Discovery e Inventário. Versão 1.0 01/12/2014 Visão Resumida Data Criação 01/12/2014 Versão Documento

Leia mais

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

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

Leia mais

Manual do sistema SMARsa Web

Manual do sistema SMARsa Web Manual do sistema SMARsa Web Módulo Gestão de atividades RS/OS Requisição de serviço/ordem de serviço 1 Sumário INTRODUÇÃO...3 OBJETIVO...3 Bem-vindo ao sistema SMARsa WEB: Módulo gestão de atividades...4

Leia mais

UD 4: Sistema de Gerenciamento de Banco de Dados

UD 4: Sistema de Gerenciamento de Banco de Dados UD 4: Sistema de Gerenciamento de Banco de Dados 1 Assunto 1: Conceitos 1. BASE DE DADOS conjunto de dados armazenados logicamente conteúdo representa o estado atual de uma determinada aplicação modelo

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de Arquivos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Conceituação de arquivos Implementação do sistemas de arquivo Introdução Sistema de

Leia mais

ÍNDICE. 1. Introdução...2. 2. O que é o Sistema Mo Porã...2. 3. Como acessar o Site Mo Porã...3. 4. Cadastro do Sistema Mo Porã...

ÍNDICE. 1. Introdução...2. 2. O que é o Sistema Mo Porã...2. 3. Como acessar o Site Mo Porã...3. 4. Cadastro do Sistema Mo Porã... ÍNDICE 1. Introdução...2 2. O que é o Sistema Mo Porã...2 3. Como acessar o Site Mo Porã...3 4. Cadastro do Sistema Mo Porã...4 5. Navegando no Site Mo Porã...6 5. 1 Manual de ajuda do sistema Mo Porã...7

Leia mais

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário

Leia mais