Gerenciamento de Dados XML

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

Download "Gerenciamento de Dados XML"

Transcrição

1 Gerenciamento de Dados XML Ronaldo dos Santos Mello Departamento de Informática e Estatística (INE) Centro Tecnológico (CTC) Universidade Federal de Santa Catarina (UFSC) Campus Universitário Trindade - Caixa Postal Florianópolis SC. ronaldo@inf.ufsc.br Abstract. XML is a largely used standard for data representation and exchange, specially by people and applications that work on the Web. Considering the increasing need for defining, manipulating and storing XML data, the database community is focusing its research efforts to the proposal of solutions related to the management of XML data. This course aims at reviewing the XML technology and discussing some XML data management problems based on two points of view: a relational database that stores XML documents and a native XML database. Resumo. XML é um padrão cada vez mais utilizado para a representação e intercâmbio de dados, especialmente entre pessoas e aplicações que utilizam a Web. Considerando a crescente necessidade de definição, manipulação e armazenamento de dados XML, a comunidade de banco de dados começa a intensificar suas pesquisas no sentido de propor soluções relacionadas ao gerenciamento de dados XML. Este mini-curso tem por objetivo revisar a tecnologia XML e discutir problemas de gerenciamento de dados XML do ponto de vista de um banco de dados relacional que mantém documentos XML ou de um banco de dados XML nativo. 1. Introdução XML é um formato padrão para transferência de dados entre computadores. Diversos domínios de aplicação, como comércio eletrônico [CXM03,EBi03] e cadastro bibliográfico [DBL03,SIG03], vêm definindo protocolos XML para os seus dados e cada vez mais aplicações e pessoas disponibilizam e manipulam informações XML na Web. O uso cada vez mais intensivo de XML vem despertando o interesse de diversas áreas da ciência da computação, como linguagens de programação, engenharia de software e bancos de dados, todas elas preocupadas com a definição de mecanismos para o tratamento de dados neste formato. Do ponto de vista da área de Banco de Dados (BD), um documento XML é uma coleção de dados, da mesma forma que um BD. Porém, um documento XML tem a vantagem de manter dados auto-descritivos e facilmente portáveis [BOU03]. A tecnologia XML assemelha-se bastante com a tecnologia de Sistemas Gerenciadores de BD (SGBDs), uma vez que possui um formato de armazenamento específico (documento), permite a definição de esquemas, possui linguagens de consulta e define interfaces (APIs) para o acesso

2 a dados. Entretanto, a tecnologia XML não é equivalente à tecnologia de SGBD, pois não existem soluções para todos os aspectos de gerenciamento de dados, como controle de integridade, gerenciamento de transações, indexação e consultas a múltiplos documentos. Além disso, o formato de um dado XML é altamente irregular e muitas vezes combina texto em linguagem natural com informações estruturadas. Assim sendo, BDs tradicionais, como os BDs relacionais, são incapazes de armazenar diretamente ocorrências de dados XML. Toda esta problemática associada ao tratamento de dados XML vem estimulando a comunidade científica de BD a estudar e desenvolver soluções para o gerenciamento de dados XML persistentes. Neste contexto, duas frentes de pesquisa vêm se consolidando: uma que procura estender a tecnologia de BDs relacionais para o suporte a dados XML e outra que está investindo no desenvolvimento de BDs específicos para dados XML, chamados BDs XML nativos. O foco principal deste mini-curso é, além de apresentar a tecnologia XML, mostrar um panorama da problemática enfrentada por estas duas frentes de pesquisa e algumas soluções já propostas. O restante deste resumo estendido está organizado da seguinte forma: a seção dois revisa a tecnologia XML: documentos XML, esquemas, linguagens de consulta e de transformação de dados e interfaces de acesso. A seção três apresenta o estado da arte em termos de pesquisa em gerenciamento de dados XML e a seção quatro é dedicada às conclusões. 2. A Tecnologia XML XML (extensible Markup Language) é uma meta-linguagem de marcação desenvolvida pelo consórcio W3C (World Wide Web Consortium), sendo considerada um padrão para a publicação e transferência de dados de diferentes domínios de aplicação na Web [XML03,BRA02]. Sendo uma linguagem de marcação, XML utiliza delimitadores (ou tags) para descrever dados, assim como a linguagem HTML. A diferença entre HTML e XML é que tags em HTML descrevem instruções para apresentação de dados em browsers Web, enquanto tags em XML denotam uma interpretação semântica para o dado delimitado por ela. Como esta interpretação é particular para cada domínio de aplicação, XML é dita uma meta-linguagem, pois cada aplicação tem a liberdade de definir a sua própria linguagem de marcação de dados, descrevendo a nomenclatura e a estruturação das tags que julgar apropriada. Um conjunto de dados XML sempre é descrito em um documento XML. A Figura 1 mostra um exemplo de um documento XML para o domínio de publicações de artigos científicos. Um dado XML é chamado de elemento, sendo o seu conteúdo delimitado por uma tag inicial e uma tag final. O conteúdo de um elemento pode ser um conjunto de elementos componentes (por exemplo, o elemento autor, composto de nome e ), um texto de comprimento arbitrário (por exemplo, o elemento título) ou um misto de texto e elementos componentes (por exemplo, o elemento seção). Um elemento pode ter

3 atributos, que descrevem algumas de suas propriedades na tag inicial (por exemplo, o atributo versão do elemento artigo). <?xml version = 1.0 encoding = UTF-8 standalone = yes > <publicacoes> <artigo versao= 1 > <titulo>xml</titulo> <autor> <nome>joão da Silva</nome> < >js@hotmail.com</ > </autor> <autor> <nome>maria Souza</nome> </autor> <secao nome= Introducao >XML foi... <subsecao>linguagens de Marcacao</subsecao>... </secao>... </artigo>... </publicacoes> Figura 1. Exemplo de um documento XML Como pode ser visto na Figura 1, a organização dos dados em um documento XML é hierárquica, existindo sempre um elemento raiz que é composto por um ou mais elementos que podem, por sua vez, conter uma outra hierarquia de elementos. Um documento XML é dito bem formado se contiver um elemento raiz e todos os seus elementos possuírem uma tag inicial, uma tag final e atributos com conteúdo delimitado por aspas simples ( ) ou duplas ( ). A tecnologia XML não se resume apenas ao formato de descrição de dados, mas a todo um conjunto de especificações que possibilita o gerenciamento de dados XML. As principais especificações são descritas a seguir. 2.1 DTD e XSD A organização ou esquema dos elementos em um documento XML pode ser definida basicamente de duas maneiras: através de um DTD (Document Type Definition) ou de um XSD (XML Schema Definition) [XSC03]. Ambos especificam elementos válidos que podem ocorrer em um documento, a ordem na qual eles ocorrem e algumas restrições sobre a estrutura e o conteúdo destes elementos. Um documento XML é dito válido se estiver de acordo com um esquema DTD ou XSD associado a ele.

4 DTD foi a primeira recomendação da W3C para a especificação de esquemas de documentos XML. Um DTD é uma gramática formada basicamente por cláusulas ELEMENT e ATTLIST. Estas cláusulas descrevem, respectivamente, um elemento e uma lista de atributos de um elemento. A Figura 2 (a) mostra a DTD do documento XML da Figura 1. Neste esquema, o elemento raiz publicações é composto por um ou mais elementos do tipo artigo. Um elemento artigo possui um atributo versão e define uma seqüência composta por um elemento título (com conteúdo textual - #PCDATA), um ou mais elementos do tipo autor e zero ou mais elementos do tipo seção. Cada autor possui um nome e um opcional. Cada seção possui um atributo nome e define um misto de texto e sub-elementos do tipo subseção. <!ELEMENT publicacoes (artigo+)> <!ELEMENT artigo (titulo, autor+,secao*)> <!ATTLIST artigo versao CDATA> <!ELEMENT titulo (#PCDATA)> <!ELEMENT autor (nome, ?)> <!ELEMENT nome (#PCDATA)> <!ELEMENT (#PCDATA)> <!ELEMENT secao (#PCDATA subsecao)*> <!ATTLIST secao nome CDATA> <!ELEMENT subsecao (#PCDATA)> <?xml version = 1.0 encoding = UTF-8?> <schema xmlns=" <element name= publicacoes > <complextype> <element ref= artigo maxoccurs= unbounded /> </complextype> </element> <element name= artigo > <complextype> <sequence> <element name= titulo type= string /> <element ref= autor maxoccurs= unbounded /> <element ref= secao maxoccurs= unbounded /> </sequence> <attribute name= versao type= decimal /> </complextype> </element> <element name= autor /> <complextype> <sequence> <element name= nome type= string /> <element name= type = string minoccurs= 0 /> </sequence> <attribute name= versao type= decimal /> </complextype> </element> <element name= secao /> <complextype mixed= true > (a)

5 <element name= subsecao type = string minoccurs= 0 /> <attribute name= nome type= string /> </complextype> </element> </schema> (b) Figura 2. Exemplos de esquemas para documentos XML definidos através de um DTD (a) e de um XSD (b) XSD é uma recomendação recente da W3C e possui mais recursos para a especificação de esquemas em relação a um DTD, como o suporte a tipos de dados, a conceitos de orientação a objetos, como herança e polimorfismo, além de apresentar uma sintaxe XML. A Figura 2 (b) descreve o esquema do documento XML da Figura 1 em XSD. Apesar de XSD ser mais expressivo que um DTD em termos de especificação de esquemas XML, DTDs ainda são amplamente utilizados e a grande maioria das ferramentas que realizam validação de documentos XML (chamadas parsers) operam sobre DTDs. 2.2 XPath e XQuery Consultas a dados de documentos XML são definidas através de duas linguagens: XPath e XQuery. Ambas são capazes de percorrer documentos XML, definir predicados de seleção e retornar dados no formato XML como resultado. XPath foi a primeira recomendação da W3C para a consulta a dados XML [XPA03]. Ela é uma linguagem para navegação na estrutura de um documento XML e recuperação de fragmentos de documentos alcançados por uma expressão de navegação. Sua sintaxe é semelhante à sintaxe para navegação em diretórios de arquivos Unix ou DOS. A Figura 3(a) mostra três exemplos de expressões XPath executadas sobre o documento XML da Figura 1. A consulta superior recupera títulos de artigos. A consulta central ilustra a definição de um critério de seleção (delimitado por colchetes), recuperando títulos de artigos da autora de nome Maria, enquanto a consulta inferior busca atributos (indicados pelo ) nome de todos os elementos que são filhos imediatos (indicado pelo caractere * ) do elemento artigo cujo atributo versão possui valor superior a 1. /publicacoes/artigo/titulo //artigo/autor[nome = Maria ]/titulo //artigo[@versao > 1]/*/@nome (a) for $art in /publicacoes/artigo let $v := $art/@versao * 10 where $art/autor/nome = Maria return {$art/titulo, $v} Figura 3. Exemplos de consultas em XPath (a) e XQuery (b) Apesar de satisfazer a diversas intenções de consulta, a linguagem XPath apresenta algumas limitações. Expressões XPath retornam somente porções de um documento XML, sendo incapazes de produzir resultados de consultas com uma estrutura diferente daquela existente no documento. Além disso, ela não é capaz de realizar junções entre dados XML. A linguagem XQuery [XQU03], uma recomendação mais recente da W3C, corrige estas deficiências da XPath. (b)

6 XQuery é uma linguagem de consulta declarativa para dados XML. A estrutura básica de um comando XQuery é mostrada na Figura 3(b), sendo composta pelo bloco de instruções For-Let-Where-Return (expressão FLOWER). A consulta exemplo busca títulos de artigos da autora Maria e o número da versão do artigo multiplicado por 10. Este exemplo ilustra a capacidade de XQuery de gerar estruturas de resultado diferentes daquelas existentes no documento XML. 2.3 XSL XSL (extensible Stylesheet Language) é uma recomendação da W3C para a transformação e apresentação de dados XML [XSL03]. Através da XSL é possível definir estilos particulares de visualização para XML, da mesma forma que a linguagem HTML faz com dados a serem visualizados em browsers Web. Além disto, XSL tem a capacidade de manipular dados de documentos XML, realizando, por exemplo, a reorganização da estrutura hierárquica do documento (gerando um novo documento XML) ou a transformação do documento em um outro formato de arquivo, como HTML ou PDF. Para a definição de uma formatação ou transformação de dados XML, um documento XSL deve ser criado e um programa processador de instruções XSL deve ser executado. Alguns browsers Web funcionam como processadores XSL, ou seja, são capazes de analisar um documento XSL (referenciado por um documento XML) e exibir os dados XML de acordo com as instruções definidas. A Figura 4 mostra um trecho de um documento XSL. <?xml version="1.0" encoding="iso "?> <xsl:stylesheet version="1.0" xmlns:xsl =" <xsl:template match="/"> <html> <head><title>lista de Artigos</title></head> <body> </xsl:apply-templates/> </body> </html> </xsl:template> <xsl:template match="artigo/titulo"> <BR/> <B>Título: </B> <xsl:value-of select=""/><br/> </xsl:template> Figura 4. Exemplo de um trecho de documento XSL

7 XSL utiliza uma sintaxe XML e suas principais instruções são baseadas em reconhecimento de padrões existentes no documento XML (instrução template na Figura 4) e sua posterior modificação para o formato de saída desejado (conjunto de instruções dentro da instrução template ou dos dados de saída). A linguagem XPath é utilizada para a definição do padrão a ser identificado (valor do atributo match da instrução template), que geralmente corresponde a um nome de elemento ou atributo, ou ainda a uma certa estrutura hierárquica presente no documento XML. O documento XSL ilustrado na Figura 4 tem a intenção de gerar um arquivo HTML a partir dos dados do documento XML da Figura 1 para fins de exibição em um browser. Quando o elemento raiz do documento é identificado (padrão / na primeira instrução template), um cabeçalho de arquivo HTML é gerado e o processamento de transformação é recursivamente aplicado aos elementos restantes do documento XML (instrução apply-templates). A segunda instrução template insere uma string Titulo em negrito mais o valor de um título de artigo no arquivo de saída HTML, toda vez que um título de artigo for encontrado no documento XML. 2.4 DOM DOM (Document Object Model) [DOM03] é uma tecnologia que permite o processamento de dados XML pelas aplicações. Ela disponibiliza uma API (Application Program Interface) com métodos de acesso e manipulação de documentos XML. Diversos parsers para validação de documentos XML suportam a API DOM. Alguns browsers Web são capazes de processar instruções DOM definidas em scripts HTML. DOM é um modelo de objetos que representa um documento XML através de uma estrutura hierárquica em árvore. A API DOM fornece métodos para transformar o documento em uma instância do modelo e manipular objetos documento, nodo da árvore (atributos, elementos ou valores) e particularmente nodos elemento. A Figura 5 mostra alguns métodos da interface DOM sendo ativadas, por exemplo, dentro de um programa JavaScript. A interface para objetos documento permite, por exemplo, a busca do nodo raiz do documento, através do método documentelement. Já a interface para objetos nodo permite o acesso aos seus nodos filhos (método childnodes) em uma ordem específica (método item(int)). Neste exemplo, atribui-se à variável artigo1 o nodo que corresponde ao primeiro artigo do documento XML.... raiz = doc.documentelement; artigo1 = raiz.childnodes.item(0);... Figura 5. Exemplos de métodos da API DOM 3. XML e Bancos de Dados Aplicações desenvolvidas para a Web ou que utilizam a Web para a transferência de dados utilizam amplamente protocolos XML. Quando dados XML necessitam ser mantidos em um

8 BD, existe a necessidade de se gerenciar adequadamente estes dados. Novos desafios surgem em decorrência desta necessidade, uma vez que a tecnologia de BD precisa ser adaptada para garantir o armazenamento e manipulação de dados XML de forma eficiente. Um documento XML pode ser considerado uma coleção de dados, da mesma forma que um BD. Porém, um dado XML possui uma natureza diferente de um dado convencional de um BD, uma vez que um dado de BD é um dado totalmente estruturado enquanto que um dado XML é um dado semi-estruturado [ABI00]. Em um dado tipicamente semiestruturado, apenas parte de sua definição possui alguma estruturação e cada ocorrência de um mesmo dado possui um esquema particular e auto-descritivo. Desta forma, o esquema de representação destes dados é bastante irregular. Uma seção de um artigo científico analisada por um revisor é um exemplo. Cada seção de um artigo é basicamente um texto contínuo, podendo este texto conter subseções e parágrafos bem delimitados. Além disso, comentários do revisor podem estar documentados em qualquer ponto do texto da seção, com a indicação do problema encontrado e de uma eventual sugestão de correção. A Figura 6 exemplifica este contexo, mostrando duas ocorrências de dados do tipo seção com estruturas bastante distintas. <seção> Esta é uma seção exemplo. Toda <comentário><problema>erro concordância</problema><correção>todas </correção></comentário> as seções contém texto. <subseção><parag> Este é o primeiro parágrafo da primeira sub-seção. </parag>...</subseção> </seção> <seção> Esta é uma outra instância de seção, formada apenas por um texto contínuo e sem sub-elementos no seu interior. </seção> Figura 6. Exemplos de ocorrências de dados semi-estruturados O fato de um dado XML ter uma organização mais ou menos semi-estruturada define duas categorias de documentos XML [BOU03]:??Documento XML Orientado a Dados (DOD): documento fracamente semiestruturado, ou seja, possui uma estrutura mais regular e repetitiva. Documentos desta categoria são tipicamente usados para transferência de dados convencionais entre aplicações. Notas fiscais e relatórios de clientes e produtos são alguns exemplos;??documento XML Orientado a Documentos (DODoc): documento fortemente semi-estruturado, ou seja, possui uma estrutura mais irregular e particular. 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. 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 BDs relacionais, uma vez que os dados XML são fortemente estruturados. Já aplicações que lidam com DODocs utilizam BDs específicos para o gerenciamento de dados XML, chamados BDs

9 XML nativos (ou simplesmente BDs XML). Estes BDs utilizam mais efetivamente a tecnologia XML para a representação e o acesso a dados. Estas duas alternativas para gerenciamento de dados XML são detalhadas a seguir. 3.1 Gerenciamento de Dados XML através de BDs Relacionais SGBDs relacionais vêm sendo bastante utilizados para o armazenamento de dados XML quando o foco da aplicação é nos dados propriamente ditos e não no formato XML de organização hierárquica e ordenada de dados. Este é o caso, por exemplo, de aplicações que fazem intercâmbio de dados estruturados (dados geralmente mantidos em arquivos ou BDs) através da Web utilizando XML. Esta abordagem de gerenciamento tem a vantagem de utilizar a tecnologia de BD, que apresenta bom desempenho de acesso a dados e utiliza linguagens de consulta declarativas, para a manipulação de dados XML. Por outro lado, os SGBDs relacionais devem se preocupar com a forma como dados de documentos XML devem ser armazenados e com a definição de métodos de acesso específicos para estes dados Armazenamento de Dados XML O armazenamento de dados XML em um BD relacional exige a definição de um mapeamento entre o esquema do documento XML e o esquema do BD. As seguintes soluções são geralmente adotadas [GRA03]:?? Uso de aplicações middleware: o objetivo neste caso é transferir dados entre BDs, ou seja, não há o armazenamento de novos documentos XML, mas sim o armazenamento de dados de BD que foram mapeados para um formato XML. Uma aplicação middleware gera um documento XML que corresponde exatamente à estrutura do BD e o transfere para outro BD, onde o mapeamento no sentido contrário ocorre. Um exemplo simples é a conversão de um BD relacional para um formato XML, como mostra a Figura 7. Neste exemplo, o documento XML tem como elemento raiz o próprio BD, que é formado por elementos do tipo tabela. Cada elemento tabela, por sua vez, é composto de elementos linhas que mantêm os conteúdos dos dados em cada coluna. <BD> <tabela nome= tabela1 > <linha> <coluna1>...</coluna1> <coluna2>...</coluna2>... </linha>... </tabela nome= tabela2 >... </BD> Figura 7. Representação de um esquema relacional no formato XML?? Suporte a dados XML pelo SGBD relacional: têm-se, neste caso, SGBDs que sabem como converter documentos XML em esquemas relacionais e vice-versa.

10 Esta é a solução adotada por vários SGBDs e é discutida em mais detalhes na seqüência. Grandes fabricantes de SGBDs relacionais, como Oracle e DB2, vêm estendendo as funcionalidades dos seus sistemas para lidar com dados XML. Dois enfoques para o mapeamento de dados XML para tabelas de um BD relacional são propostos na literatura. Um deles, apresentado em [FLO99], vê um documento XML como um grafo orientado rotulado cujas arestas são ordenadas e representam relacionamentos hierárquicos entre elementos, entre elemento e atributo, ou entre elemento/atributo e conteúdo. Diversas alternativas são propostas para o armazenamento deste grafo em um BD relacional. As duas alternativas mais viáveis em termos de desempenho são as seguintes:?? Alternativa 1: todas as arestas são mantidas em uma única tabela com colunas que informam o nodo pai, o nome do rótulo, a ordem da aresta dentre todos os nodos filhos e uma referência a um nodo filho e ao valor (se houver) do nodo destino;?? Alternativa 2: arestas com o mesmo rótulo são mantidas em tabelas separadas, equivalendo a uma tabela para cada tipo de elemento ou atributo. Colunas que informam o nodo pai, a ordem da aresta e uma referência ao nodo (com um possível valor) são necessárias. A Figura 8 exemplifica o armazenamento do documento XML da Figura 1 nas alternativas 1 (a) e 2 (b). Supõe-se que o nodo 1 representa o elemento raiz (publicações), o nodo 2 representa a primeira ocorrência do elemento artigo, e assim sucessivamente, conforme o nível dos nodos na árvore. Arestas origem ordem nome tipo destino valor 1 1 artigo ref artigo ref versão int título string 11 XML... (a) Artigos Origem ordem destino Títulos origem ordem destino valor XML BD e XML Figura 8. Exemplos de armazenamento de um documento XML em um BD relacional segundo a visã o de [FLO99]: alternativa 1 (a) e alternativa 2 (b) A alternativa 1 exige mais de espaço de armazenamento que a alternativa 2 pois necessita de uma coluna adicional para manter nomes de rótulos. No entanto, é a alternativa mais rápida para processar consultas que navegam na estrutura de um documento XML, pois não há a necessidade de junções entre tabelas, como no caso da alternativa 2. O problema (b)

11 principal deste enfoque como um todo é o tempo para reconstrução de um documento XML, pois ambas as alternativas fragmentam o documento em arestas ou nodos, sendo necessária a investigação de muitas referências a nodos para determinar a estrutura do documento. Além disso, são necessários dados adicionais no esquema relacional que informem se um nodo é um elemento ou um atributo. Outro enfoque de armazenamento baseia-se em níveis de granularidade (ou de detalhamento) que podem ser definidos para um documento XML [GRA03]. Em função destes níveis, um esquema de armazenamento relacional é definido. Três níveis de granularidade podem ser definidos:?? Granularidade grande: define uma única tabela para armazenar todos os documentos XML. As colunas desta tabela descrevem basicamente o identificador do documento, seu nome e um campo longo para o seu conteúdo. Este é o nível com menor detalhamento de dados XML;?? Granularidade pequena: define uma tabela para cada tipo de elemento ou atributo existente em um documento XML, exigindo colunas adicionais para manter os relacionamentos hierárquicos entre elementos e a ordem de subelementos ou atributos de um elemento. Este é o nível de maior detalhamento de dados XML;?? Granularidade média: define um meio termo entre os níveis de granularidade grande e pequena, ou seja, parte do esquema do documento é definida de forma estruturada (em geral os elementos de nível superior no documento) e parte é armazenada na forma de um campo longo. A decisão pelos pontos exatos de divisão na árvore do documento depende basicamente do nível de detalhe das consultas desejadas (e conseqüentemente, das colunas que necessitam ser indexadas) e do tamanho de buffer para transmissão de dados, que pode ser equivalente ao tamanho dos campos longos. Quanto maior o nível de granularidade, mais simples é a definição do esquema relacional e menos detalhes do documento XML são passíveis de consulta. No nível de granularidade grande não é possível definir consultas declarativas com base em valores de elementos e atributos, por outro lado, não existe um custo associado à reconstrução do documento XML. Estes prós e contras devem ser considerados quando do projeto do BD relacional Acesso a Dados XML O acesso a dados através de um SGBD deve considerar a estrutura lógica do modelo do BD para a definição de expressões de consulta. No caso de um BD relacional, a linguagem SQL é o protocolo padrão para acesso a tabelas. Caso um mapeamento de granulação pequena (considerando também as alternativas de [FLO99]) ou média seja adotado, atributos e elementos estão em tabelas e podem ser consultados via SQL. Entretanto, extensões da SQL são propostas para lidar com consultas a esquemas de mapeamento com granulação média ou grande, assim como para possibilitar visões XML de resultados de consultas [BOU03]. Um exemplo para o primeiro caso é a ferramenta XML

12 Extender do SGBD DB2. No DB2 pode-se armazenar um documento XML completo em um atributo do tipo XMLCLOB ou XMLVARCHAR de uma tabela. A Figura 9 (a) ilustra a definição da tabela Artigos, que mantém um documento XML sobre artigos científicos no atributo doc. TABLE Artigos código VARCHAR(10) NOT NULL PRIMARY KEY nome VARCHAR(40) doc XMLVARCHAR (a) SELECT código, nome FROM Artigos WHERE extractvarchar (doc, /Publicacoes/artigo/titulo ) LIKE %XML% (b) Figura 9. Exemplo de definição de tabela no DB2 XML Extender para manter documentos XML (a) e de uma consulta SQL estendida sobre os dados destes documentos (b) Para esquemas com granulação grande, índices sobre fragmentos de texto em geral são definidos, permitindo buscas por palavras-chave em documentos XML. O desempenho de acesso será bom se o BD implementar uma política de armazenamento físico contíguo destes fragmentos. Extensões da SQL para consultas a dados XML geralmente utilizam linguagens de consulta XML para definir navegações na estrutura hierárquica de documentos. A Figura 9 (b) mostra um exemplo de consulta na SQL do DB2. Esta consulta realiza uma busca nos documentos XML (utilizando expressões XPath), recuperando nomes e códigos de documentos cujo título contém a palavra XML. A geração de resultados de consultas no formato XML é um requisito importante para SGBDs que gerenciam dados XML. Esta facilidade é encontrada na linguagem SQL/XML, um padrão ANSI ISO SQL que define extensões para o tratamento de dados XML na SQL [SQX03]. A Figura 10 mostra uma consulta na SQL/XML que retorna uma visão XML (um documento XML) sobre dados de tabelas chamadas Artigos e Autores. O documento resultante conterá um conjunto de elementos Paper, sendo que cada elemento possuirá um atributo Title e sub-elementos Conference e Institution. SQL/XML é utilizada pelo SGBD Oracle. SELECT XMLElement ( Paper, as xmldocument FROM Artigos Ar, Autores Au WHERE Ar.autor = Au.código XMLAttributes ( Title, Ar.Titulo), XMLElement ( Conference, Ar. Conferencia), XMLElement ( Institution, Au.Instituicao)) Figura 10. Exemplo de consulta em SQL/XML cujo resultado é um documento XML

13 Quanto à política de atualização de dados XML em BDs relacionais, em geral um dado XML em um documento pode ser incluído, excluído ou modificado em um esquema de mapeamento com granulação média ou pequena, desde que o documento XML mantenha-se válido. No caso de um mapeamento com granulação grande, apenas a inclusão ou exclusão de documentos XML é possível. 3.2 Gerenciamento de Dados XML através de BDs XML Um BD XML é um BD que define um modelo lógico específico para documentos XML, armazenando e recuperando dados de acordo com este modelo [BOU03,XML2-03, XDB03]. Um modelo mínimo para dados XML deve conter a definição de elementos, atributos e conteúdo textual (PCDATA); e manter a ordem dos dados no documento. Um modelo completo deve ainda oferecer suporte à representação de conteúdo misto e dados altamente semi-estruturados (com estruturas alternativas e repetitivas). Um BD XML é recomendado para aplicações que lidam com DODocs (sua natureza fortemente semiestruturada torna complexo o mapeamento para um BD relacional), ou aplicações que lidam somente com dados no formato XML. A definição de BD XML não impõe nenhuma restrição sobre o modelo de armazenamento físico a ser adotado. Assim sendo, um BD XML pode ser considerado tanto um BD que é definido utilizando o suporte de um SGBD qualquer, como um BD que define um formato proprietário de armazenamento XML (SGBD XML nativo). O importante é que exista uma visão lógica de dados no formato XML Características de Gerenciamento de Dados Apesar de alguns produtos de BDs XML disponíveis no mercado não serem totalmente homogêneos em termos de gerenciamento de dados, algumas características já são consideradas de consenso e, ou são encontradas atualmente nestes produtos, ou são características que se desejam alcançar no futuro [XML2-03,BOU03]. Estas características são apresentadas a seguir. Coleções Coleção é a noção lógica de um conjunto de documentos. Assemelha-se ao conceito lógico de diretório em discos rígidos. Documentos com intenções semânticas semelhantes podem ser mantidos em uma mesma coleção e assim o BD XML pode manipular estes documentos de forma conjunta. Não há restrições quanto à estrutura de um documento XML para pertencer a uma dada coleção, ou seja, uma coleção pode armazenar qualquer documento XML, independente do mesmo ser válido ou não com relação a um esquema XML. Este relaxamento estrutural permite uma maior flexibilidade na inclusão de novos documentos no BD, porém incorre em um baixo nível de integridade dos dados. Para minimizar esta desvantagem, alguns BD XML permitem a vinculação de um esquema XML a uma coleção, de modo que todos os documentos devam sofrer parsing para pertencerem à coleção.

14 Consultas Pelo menos uma linguagem de consulta para XML deve ser suportada pelo BD. A mais utilizada é XPath, porém, alguns BDs suportam também dialetos da XQuery e índices definidos sobre dados em coleções de modo a oferecer um melhor desempenho e expressividade nas consultas. Uma linguagem de consulta para BDs XML deve possibilitar desde pesquisas por padrões em textos de documentos até consultas declarativas (típicas de BDs relacionais) que retornem fragmentos de documentos e possam gerar novas estruturas XML como resposta. Em função disto, aposta-se na adoção de XQuery como um padrão a curto prazo para BDs XML. Atualizações A capacidade de realizar atualizações de dados em documentos XML ainda é restrita em BDs XML. Alguns produtos não oferecem este suporte, exigindo que o usuário recupere um documento XML, modifique-o e o grave novamente no BD. Outros oferecem uma interface DOM para acesso e modificação do documento XML, enquanto uma terceira categoria utiliza linguagens proprietárias de atualização de dados, como a XUpdate. XUpdate é uma iniciativa da XML:DB, um consórcio de empresas responsáveis pelo desenvolvimento de tecnologias para BDs XML [XDB03]. A linguagem permite a inclusão e exclusão de elementos, atributos e texto, assim como a alteração de valores de elementos e atributos. A figura 11 mostra exemplos de atualizações de dados XML com XUpdate. <xupdate:append select= //autor[nome= Maria ]/ child= last() > <xupdate:element name=" "> Maria@teste.com </xupdate:element> </xupdate:append> (a) <xupdate:remove select="/publicacoes/artigo[1]"/> (b) Figura 11. Exemplos de atualizações de dados XML com XUpdate: (a) inclusão e (b) alteração de dados Na Figura 11 (a) é incluído um elemento como sub-elemento do elemento autor de nome Maria. Este novo é colocado como último elemento na lista de e- mails de Maria. Na Figura 11 (b), o primeiro elemento artigo do documento XML é removido. Apesar de existirem algumas soluções para a atualização de dados, como a XUpdate, entende-se que estas serão apenas soluções temporárias enquanto não existir uma linguagem declarativa padrão para a manipulação de dados XML, muito possivelmente uma extensão de XQuery.

15 Gerenciamento de Transações BDs XML suportam controle de concorrência e rollback de transações em caso de falhas. Bloqueios ocorrem geralmente no nível do documento completo, apesar dos modelos lógicos de dados XML permitirem o detalhamento de fragmentos de um documento (elementos e atributos). Isto acarreta um baixo nível de concorrência no acesso a dados. No futuro, espera-se que bloqueios a nível de fragmentos, ou seja, bloqueios com granularidade mais fina, sejam permitidos. APIs BDs XML oferecem recursos básicos para a comunicação entre aplicações e o BD, baseados geralmente em interfaces ODBC: métodos para conexão com o BD, execução de consultas e exploração de resultados. Resultados de consultas são usualmente retornados na forma de strings XML ou árvores DOM. Caso múltiplos documentos sejam retornados, métodos específicos para iteração sobre o conjunto resultante são ativados (semelhante à noção de cursores em BDs relacionais). Adicionalmente, alguns BDs podem ser acessados através de browsers Web via protocolo HTTP. Uma tendência em termos de padrão é a API para BDs XML proposta pelo consórcio XML:DB [XDB03]. Round-Tripping Round-Tripping é a capacidade de armazenar um documento XML em um BD XML e obter o documento de volta com o seu conteúdo na íntegra, ou seja, na seqüência textual estrita em que foi definido. Tal capacidade é particularmente importante para DCDocs, que possuem estruturas mais irregulares, ricas em seqüências de textos narrativos que devem ser respeitadas. Na sua totalidade, BDs XML são capazes de realizar round-tripping de documentos XML a nível de elementos, atributos e conteúdos PCDATA. Já no que diz respeito a DCDocs, a precisão do round-tripping varia de BD para BD e está intimamente associada ao nível de detalhamento do modelo lógico para o qual o documento XML é mapeado. Quanto mais sucinto for este modelo, menor será a precisão do round-tripping. Armazenamento de Entidades Externas Um aspecto de gerenciamento particular a dados XML é o tratamento de referências a entidades externas presentes em documentos XML. A questão é: (i) deve-se buscar os valores destas entidades e armazená-las no BD ou (ii) manter apenas as referências a elas? Este aspecto não é em geral considerado pelos BDs XML, porém, idealmente, ambas as alternativas deveriam ser suportadas, dependendo da intenção da aplicação e do conteúdo da referência. A alternativa (i) é relevante quando os dados referenciados complementam os dados presentes no documento XML. Já a alternativa (ii) pode ser considerada, por exemplo, para casos em que uma referência indica um programa (em CGI, por exemplo) que faz algum processamento com os dados do documento. Redundância de Dados No projeto de um BD relacional, o objetivo de um processo de normalização é evitar a redundância de dados nas tabelas do esquema do BD. Redundância de dados ocorre com

16 freqüência em documentos XML, uma vez que um mesmo sub-elemento pode ocorrer várias vezes como filho de elementos diferentes. Apesar disto, nem sempre é desejado o armazenamento separado e não-redundante de sub-elementos por questões de desempenho, principalmente quando se trata da recuperação completa de um documento XML. Um armazenamento extremamente fragmentado do documento exigiria muitas junções para recriar o documento completo. Em geral, a aplicação da teoria da normalização é relaxada nos BDs XML em detrimento de um melhor desempenho de acesso. Integridade Referencial A integridade referencial em um BD relacional refere-se ao controle de referências válidas através de chaves estrangeiras. No caso de um BD XML, referências entre dados XML também são possíveis, seja através de atributos ID/IDREF(S) ou key/keyref (permitem referências entre elementos dentro de um mesmo documento); ou através de links internos ou externos ao documento. O controle de integridade referencial neste contexto é bem mais complexo, pois referências externas podem indicar qualquer documento XML presente no BD ou mesmo na Web! Devido a alta complexidade para realizar este gerenciamento, BDs XML se limitam ao controle de integridade referencial apenas a nível interno do documento ou, no máximo, entre documentos mantidos dentro de um mesmo BD. Restrições Gerais de Integridade O controle de integridade semântica em BDs relacionais é amplo e considera não apenas restrições a nível de tipo de dado de um atributo, mas também a nível de valores permitidos para um atributo e transições de valor válidas. Tais controles são possíveis através de diversos recursos da SQL, como gatilhos (triggers), a cláusula check e procedimentos armazenados (stored procedures). No que se refere a BDs XML, recursos semelhantes em geral não existem, limitando bastante o nível de integridade dos dados. Apenas controles básicos em geral são suportados, como o tipo de dado associado ao conteúdo de um elemento ou atributo, valores default ou enumeração de valores permitidos. Esta limitação em termos de integridade está também associada à inexistência de um padrão da W3C para especificação de restrições de integridade em esquemas XML. Mesmo assim, espera-se futuramente que um controle de integridade mais robusto esteja disponível em BDs XML Projeto de um BD XML O projeto tradicional de BD é composto de quatro etapas: (i) coleta de requisitos de dados do domínio da aplicação; (ii) modelagem conceitual do domínio; (iii) mapeamento do esquema conceitual para o esquema lógico do BD; e (iv) implementação do esquema lógico no SGBD escolhido. Esta metodologia de projeto pode ser aplicada a um BD XML toda vez que uma aplicação deseja manipular dados persistentes no formato XML. Esta metodologia é particularmente relevante para aplicações que lidam com DODs, cujos esquemas são mais estruturados. Uma alternativa para a realização do projeto de um BD XML é utilizar um modelo conceitual tradicional de BD (como o modelo Entidade-Relacionamento [BAT92]) na etapa (ii) e realizar a conversão do esquema conceitual para um esquema lógico na forma de grafo

17 orientado, que é mais adequado ao formato de um esquema lógico para XML. A Figura 12 ilustra um exemplo de projeto para o domínio de publicações de artigos científicos: modelagem ER (a); modelagem lógica na forma de grafo (b); e o esquema XML final (c). versão título ordem nome (0,1) Publicações (1,N) (1,N) Artigos autoria (1,1) composição (a) (1,N) Autores (0,N) Seções nome texto (1,1) versão (1,N) (1,1) Artigos título (0,N) Autores Seções (1,1) (1,1) (1,1) (1,1) (0,1) ordem nome texto (b) <!ELEMENT publicacoes (artigo+)> <!ELEMENT artigo (autor+, secao*)> <!ATTLIST artigo titulo CDATA REQUIRED versao CDATA REQUIRED> <!ELEMENT autor EMPTY> <!ATTLIST autor nome CDATA REQUIRED CDATA> <!ELEMENT secao (#PCDATA)> <!ATTLIST secao nome CDATA REQUIRED> (c) Figura 12. Exemplo de projeto de um BD XML: modelagem conceitual (a), modelagem lógica (b) e esquema XML correspondente (c) O mapeamento conceitual? lógico deve levar em conta algumas particularidades da modelagem de dados XML:?? definição do nodo raiz: este nodo serve apenas para conter o conjunto de dados XML e geralmente não tem relevância do ponto de vista da semântica da aplicação. Ele pode ter relação com a entidade central da modelagem (por exemplo, artigo), neste caso, ele poderia se chamar artigos ou corresponder a intenção do domínio como um todo (que é publicação de artigos científicos), chamando-se assim publicações;?? indicação de nodos léxicos e não-léxicos e seus relacionamentos: nodos léxicos são nodos que modelam conteúdos de dados, correspondendo a atributos de entidades no nível conceitual. Eles são indicados por círculos tracejados. Nodos não-léxicos representam entidades e são indicados por círculos contínuos (ver Figura 12(b)). As arestas entre nodos representam relacionamentos entre entidades e possuem rótulos que indicam as restrições de cardinalidade. A orientação das arestas deve levar em conta a hierarquia

18 desejada para os futuros dados XML. Deve-se eleger um nodo não-léxico central (corresponde à entidade central da modelagem no caso, artigo) e partir dele definir o restante das orientações hierárquicas. Este nodo central será filho do nodo raiz. A etapa final do projeto realiza o mapeamento do esquema lógico para um esquema DTD ou XSD. Neste processo, duas abordagens podem ser seguidas:?? abordagem orientada a atributos: define nodos léxicos como atributos de elementos. A principal vantagem desta abordagem é a economia de espaço do documento XML, pois as tags de elementos PCDATA ocupam muito espaço. Esta abordagem é predominantemente utilizada no exemplo da Figura 12 (ver Figura 12(c)). Além disso, algumas restrições de integridade, como valor default e enumeração de valores permitidos só podem ser definidos sobre atributos XML;?? abordagem orientada a elementos: define nodos léxicos como elementos PCDATA. Esta abordagem é recomendada para conteúdos de dados extensos (como o texto de uma seção) e deve ser utilizada para representar elementos mistos (nestes casos, o conteúdo textual do elemento deve ser um componente PCDATA e não um atributo). Vale ressaltar ainda que o mapeamento do nodo léxico ordem (indica a ordem dos autores do artigo) foi substituído no esquema XML pela ordem hierárquica implícita dos subelementos autor dentro do elemento artigo. Uma outra alternativa seria modela-lo como um atributo ou sub-elemento PCDATA do elemento autor Exemplo de BD XML: Tamino O SGBD Tamino foi o primeiro servidor de BD para dados XML. Ele começou a ser desenvolvido pela empresa Software AG no final da década de 90 e é considerado o BD XML mais maduro existente no mercado, sendo comercializado atualmente na versão [TAM03]. Tamino permite o armazenamento e a manipulação de documentos XML no formato nativo ou no formato relacional. No formato nativo, é possível armazenar documentos que tenham ou não um esquema XML associado. Ele suporta a definição de coleções, sendo que cada coleção pode estar associada a um esquema XML para fins de validação de documentos. Tamino define esquemas XML em um formato proprietário, porém este formato pode ser convertido para XSD. Elementos ou atributos de um esquema podem ser indexados e existe o suporte de tipos de dados para elementos com conteúdo ou atributos. Tamino também gerencia dados relacionais, permitindo a definição de esquemas de mapeamento de dados XML para tabelas e vice-versa. Através destes esquemas é possível realizar junções entre dados de documentos diferentes. Consultas a dados relacionais são formuladas via SQL, enquanto que consultas a dados XML podem ser formuladas através de linguagens que são extensões das linguagens XPath ou XQuery. Buscas por padrões em documentos completos também são possíveis. A linguagem XQuery do Tamino possibilita a atualização de dados de documentos.

19 Diversos controles funcionais de um SGBD são encontrados no Tamino: gerenciamento de transações (controle de concorrência e rollback), níveis de autorização de acesso, processamento otimizado de consultas e ferramentas para administração de BD. Em termos de acesso, basicamente existem APIs DOM para Java, Jscript e ActiveX, APIs para acesso SQL através de ODBC e JDBC ou ainda embutimento na linguagem C. Tamino pode ser acessado diretamente através de um browser Web, via protocolo HTTP. 4. Conclusão O amplo uso de XML como um formato de representação e transferência de dados entre computadores justifica as pesquisas atuais da comunidade de banco de dados nesta área. O gerenciamento de dados XML vem sendo realizado basicamente de duas maneiras: através de mecanismos implementados em SGBDs existentes no mercado ou através do desenvolvimento de SGBDs XML nativos. Neste contexto, uma questão a levantar é por que investir no desenvolvimento de BDs XML nativos se já existe a tecnologia de SGBDs e esta tecnologia está oferecendo soluções para o suporte a dados XML. Alguns argumentos a favor de BDs XML nativos são os seguintes:?? Dados XML, principalmente dados presentes em DODocs, apresentam estruturas muito irregulares, tornando complexo o armazenamento e o gerenciamento através de um BD relacional, por exemplo. Um BD XML nativo já é projetado para lidar com dados semi-estruturados de forma eficiente;?? 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 BD com estrutura mais estática, preferindo armazenar as transações personalizadas de negócio em documentos XML com formatações mais flexíveis;?? O custo da extensão de um BD convencional para permitir o suporte a dados XML tende a ser maior do que o custo para desenvolver um BD 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 que deseja adquirir um BD com suporte para XML;?? Aplicações que manipulam dados exclusivamente no formato XML podem não ter interesse em adquirir, por exemplo, um BD relacional com suporte a XML e ter que lidar com um modelo e uma linguagem de manipulação que não são adequados a dados XML. Um BD relacional, por exemplo, pode não ser capaz de recuperar a estrutura física completa de um documento e executar consultas e transações sobre um documento como um todo; O quão relevantes são estas argumentações depende muito das necessidades de cada aplicação e é necessário mais tempo para avaliar se os BDs XML irão conquistar ou não uma

20 fatia no mercado de produtos de BD (uma lista de SGBDs para XML pode ser encontrada em [BOU03]). Independente disto, os BDs XML não têm a intenção de marcar histórica como uma nova geração de SGBDs, uma vez que BDs relacionais continuam sendo adequados a aplicações que lidam com dados estruturados. Referências [ABI00] ABITEBOUL, S., BUNEMAN, P., SUCIU, D. Data on the Web: From Relations to Semistructured Data and XML. Morgan Kaufmann, [BAT92] BATINI, C., CERI, S., NAVATHE, S.B. Conceptual Database Design: An Entity-Relationship Approach. Benjamin/Cummings Publishing Company, [BOU03] BOURRET, R. XML and Databases. Disponível em: Último acesso: outubro de [BRA02] BRADLEY, N. The XML Companion. 3a ed. Addison-Wesley, [CXM03] CXML.org. Disponível em: Último acesso: outubro de [DBL03] DBLP Bibliography. Disponível em: Último acesso: outubro de [DOM03] W3C DOCUMENT OBJECT MODEL. Disponível em: Último acesso em: outubro de [EBi03] EBisXML. Disponível em: Último acesso: outubro de [FLO99] FLORESCU, D., KOSSMANN, D. Storing and Querying XML Data Using an RDMBS. IEEE Data Engineering Bulletin, 22(3), p.27-34, [GRA03] GRAVES, M. Projeto de Banco de Dados com XML. Makron Books, [SQX03] SQL/XML. Disponível em: Último acesso em: outubro de [TAM03] TAMINO XML SERVER. Disponível em: Último acesso em: outubro de [XDB03] XML:DB INITIATIVE: ENTERPRISE TECHNOLOGIES FOR XML DATABASES. Disponível em: Último acesso em: outubro de [XML03] extensible Markup Language. Disponível em: Último acesso em: outubro de [XML2-03] XML.COM: INTRODUCTION TO NATIVE XML DATABASES. Disponível em: Último acesso em: outubro de [XPA03] XML PATH LANGUAGE (XPATH). Disponível em: Último acesso em: outubro de [XQU03] W3C XML QUERY. Disponível em: Último acesso em: outubro de [XSC03] W3C XML SCHEMA. Disponível em: Último acesso em: outubro de [XSL03] THE EXTENSIBLE STYLESHEET LANGUAGE FAMILY (XSL). Disponível em: Último acesso em: outubro de 2003.

Formas de Gerência de Dados XML

Formas de Gerência de Dados XML Bancos de Dados XML Formas de Gerência de Dados XML SGBDRs estendidos com suporte à XML adequados a dados XML fortemente estruturados ( documentos orientados a registros ) beira-mar104apto

Leia mais

INE BDNC. Bancos de Dados XML

INE BDNC. Bancos de Dados XML INE 661300 - BDNC Bancos de Dados XML Formas de Gerência de Dados XML SGBDRs estendidos com suporte à XML adequados a dados XML fortemente estruturados ( documentos orientados a registros )

Leia mais

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de Capítulo 9: XML XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de documentos XML: XSLT Mapeamento entre documentos

Leia mais

Introdução de XML. Dados da Web. Gerência de Dados da Web. A Web representa, nos dias de hoje, um repositório universal de dados, onde:

Introdução de XML. Dados da Web. Gerência de Dados da Web. A Web representa, nos dias de hoje, um repositório universal de dados, onde: Dados da Web Introdução de XML Banco de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM

Leia mais

5a. Aula - XML 2013.2

5a. Aula - XML 2013.2 5a. Aula -XML 2013.2 Introdução Criando Documentos XML Validando Documentos XML DTD ( Documents Type Definition) XML Schema ConsultandoXML com Xpath com XQuery Modularizando XML Namespaces Entities TransformandoXML

Leia mais

Sumário. XML (extensible Markup Language)

Sumário. XML (extensible Markup Language) Sumário 1 Introdução Aplicações Não-Convencionais 2 BD Orientado a Objetos e Objeto-Relacional 3 BD Temporal 4 BD Geográfico 5 XML e Bancos de Dados XML (extensible Markup Language) Tecnologia desenvolvida

Leia mais

XML (extensible Markup Language)

XML (extensible Markup Language) Sumário 1 Aplicações Não-Convencionais 2 Revisão e Dicas de Modelagem Conceitual 3 BD Orientado a Objetos e Objeto- Relacional 4 BD Temporal 5 BD Geográfico 6 BD XML XML (extensible Markup Language) Tecnologia

Leia mais

XMLs E INTEGRAÇÃO COM BANCOS DE DADOS

XMLs E INTEGRAÇÃO COM BANCOS DE DADOS Faculdade de Tecnologia de Guaratinguetá. 07, novembro de 2011. XMLs E INTEGRAÇÃO COM BANCOS DE DADOS Abel Vieira, Cleber Lopes, Pedro Lemes saitovieira@gmail.com, cleber.campomori@gmail.com, pedro.lemes@gmail.com

Leia mais

Utilização de XML no Desenvolvimento de Hiperdocumentos Educacionais

Utilização de XML no Desenvolvimento de Hiperdocumentos Educacionais 1 Utilização de XML no Desenvolvimento de Hiperdocumentos Educacionais Fabiano Fagundes, Parcilene F. Brito, Fernando L. Oliveira, Jackson G. Souza, Carlos H. Tolentino Resumo O desenvolvimento colaborativo

Leia mais

Transformação de documentos XML

Transformação de documentos XML Transformação de documentos XML César Vittori cvittori@inf.ufrgs.br Outubro de 2000 Resumo XSLT: Transformações XSL. Transformação de documentos XML. XSLT Introdução XSLT: transformações XSL (inglês: XSL

Leia mais

XML - Extensible Markup Language

XML - Extensible Markup Language Por Sergio Crespo XML - Extensible Markup Language Extensible Markup Language (XML) é linguagem de marcação de dados (meta-markup language) que provê um formato para descrever dados estruturados. Isso

Leia mais

Programação para Internet I 4. XML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Programação para Internet I 4. XML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Programação para Internet I 4. XML Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Standard do W3C (www.w3c.org) Formato de ficheiros de texto derivado de SGML (Standard Generalized Markup Language)

Leia mais

Extensible Markup Language (XML) Júnio César de Lima Cedric Luiz de Carvalho. Instituto de Informática Universidade Federal de Goiás www.inf.ufg.

Extensible Markup Language (XML) Júnio César de Lima Cedric Luiz de Carvalho. Instituto de Informática Universidade Federal de Goiás www.inf.ufg. Extensible Markup Language (XML) Júnio César de Lima Cedric Luiz de Carvalho Technical Report - RT-INF_002-05 - Relatório Técnico June - 2005 - Junho The contents of this document are the sole responsibility

Leia mais

Programação para Internet I Aulas 10 e 11

Programação para Internet I Aulas 10 e 11 Programação para Internet I Aulas 10 e 11 Fernando F. Costa nando@fimes.edu.br XML Definição e origem extensible Markup Language (XML) é linguagem de marcação de dados que provê um formato para descrever

Leia mais

BANCO DE DADOS I Atualizado em 13 de maio de 2009

BANCO DE DADOS I Atualizado em 13 de maio de 2009 ... 3º Período SI 2009 BANCO DE DADOS I http://sidneyjunior.host.sk/ 1. MODELAGEM E PROJETO DE BANCO DE DADOS 1.1. Conceitos BANCO DE DADOS I Atualizado em 13 de maio de 2009 Defini-se Banco de Dados (BD)

Leia mais

http://rogerioaraujo.wordpress.com Série Rações Semanais Xpath e XSLT Rogério Araújo

http://rogerioaraujo.wordpress.com Série Rações Semanais Xpath e XSLT Rogério Araújo http://rogerioaraujo.wordpress.com Série Rações Semanais Xpath e XSLT Rogério Araújo http://rogerioaraujo.wordpress.com Série Rações Semanais Xpath e XSLT Rogério Araújo Questões A persistência é o menor

Leia mais

Sumário. 1 Aplicações Não-Convencionais 2 BD Orientado a Objetos e Objeto- Relacional 3 BD Temporal 4 BD Geográfico 5 BDs XML

Sumário. 1 Aplicações Não-Convencionais 2 BD Orientado a Objetos e Objeto- Relacional 3 BD Temporal 4 BD Geográfico 5 BDs XML Sumário 1 Aplicações Não-Convencionais 2 BD Orientado a Objetos e Objeto- Relacional 3 BD Temporal 4 BD Geográfico 5 BDs XML XML (extensible Markup Language) Tecnologia desenvolvida pela W3C W3C: World

Leia mais

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s Introdução Contribuição do Capítulo 2: discutir modelos de dados definir conceitos de esquemas e instâncias descrever os tipos de interfaces e linguagens oferecidas por um SGBD mostrar o ambiente de programas

Leia mais

Dados Semi-Estruturados e XML

Dados Semi-Estruturados e XML Dados Semi-Estruturados e XML Dados da Web A Web constitui hoje um repositório universal de dados Características dos dados da Web: Disponíveis através de documentos textuais Utilizados apenas para consumo

Leia mais

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de Capítulo 9: XML XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de documentos XML: XSLT Mapeamento entre documentos

Leia mais

XML e XSL. Ciência da Computação DESENVOLVIMENTO DE APLICAÇÕES PARA WEB. Claudinei Dias email: prof.claudinei.dias@gmail.com

XML e XSL. Ciência da Computação DESENVOLVIMENTO DE APLICAÇÕES PARA WEB. Claudinei Dias email: prof.claudinei.dias@gmail.com Ciência da Computação DESENVOLVIMENTO DE APLICAÇÕES PARA WEB XML e XSL Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Fundamentos XML Extensible Markup Language Linguagem de marcação de dados

Leia mais

Oracle Database 10g: Fundamentos de SQL e PL/SQL

Oracle Database 10g: Fundamentos de SQL e PL/SQL Oracle University Contact Us: 0-800-167225 Oracle Database 10g: Fundamentos de SQL e PL/SQL Duration: 5 Dias O que é que gostaria de aprender Conheça os fundamentos de SQL e PL/SQL usando o SQL Developer

Leia mais

DOM (Document Object Model)

DOM (Document Object Model) DOM (Document Object Model) Modelo de dados para XML estrutura hierárquica (árvore) métodos de acesso (API DOM) principais classes de objetos document, node, nodelist e element execução de consultas e

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

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar

Leia mais

Tecnologia da Informação

Tecnologia da Informação UNIDADE III Banco de Dados Professor : Hiarly Alves www.har-ti.com Fortaleza - 2014 Tópicos Conceito de Banco de Dados. Problemas com Banco de Dados. Modelos de Relacionamento de um Banco de Dados. SGDB

Leia mais

TECNOLOGIA WEB INTRODUÇÃO CONSTRUÇÃO DE PÁGINAS ESTÁTICAS HTML / XHTML

TECNOLOGIA WEB INTRODUÇÃO CONSTRUÇÃO DE PÁGINAS ESTÁTICAS HTML / XHTML INTRODUÇÃO CONSTRUÇÃO DE PÁGINAS ESTÁTICAS HTML / XHTML 1 INTRODUÇÃO TECNOLOGIA WEB Começaremos desvendando o poder do desenvolvimento de aplicações baseadas na Web com a XHTML (Extensible HyperText Markup

Leia mais

INE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago

INE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago INE 5612 Professor: Frank Siqueira Alunos: Gustavo de Geus Leonardo Silva Jean Ercilio Thiago DESENVOLVEDORES JAVA EM TODO MUNDO LIDER GAVIN KING JBOSS MANTEVE O SUPORTE História Hibernate foi criado por

Leia mais

Banco de Dados I Introdução SQL

Banco de Dados I Introdução SQL Banco de Dados I Introdução SQL Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada

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. Prof. Júlio Machado

XML. Prof. Júlio Machado XML Prof. Júlio Machado julio.machado@pucrs.br INTRODUÇÃO O que é XML? É a sigla de Extensible Markup Language Linguagem de especificação para descrever dados Padrão aberto e largamente usado Definido

Leia mais

edsoncs@gmail.com www.linkedin.com/in/edsonhu Agenda Banco de Dados Relacional Modelo Descritivo Modelo Conceitual Modelo Lógico Arquitetura Cliente/Servidor Componentes SQL Server Management Studio (SSMS)

Leia mais

XML & Banco de Dados

XML & Banco de Dados SECCOM - UFSC Semana de Cursos e Palestras da Computação Outubro/2004 XML & Banco de Dados Ronaldo dos Santos Mello INE / CTC / UFSC ronaldo@inf.ufsc.br Roteiro 1. Introdução 2. Tecnologia XML 3. Gerenciamento

Leia mais

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL BANCO DE DADOS GERENCIAL 1 AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS Um banco de dados é uma coleção de dados (ou informações) organizadas de forma lógica, e que

Leia mais

Introdução XML. Vanessa Braganholo

Introdução XML. Vanessa Braganholo Introdução XML Vanessa Braganholo {vanessa@ic.uff.br} Curso baseado em mini-cursos apresentados no SBBD. Autores: Carlos Heuser, Carina Dorneles e Vanessa Braganholo O que é XML? } XML = extensible Markup

Leia mais

XML Schema. Vanessa Braganholo. Curso baseado em mini-cursos apresentados no SBBD. Autores: Carlos Heuser, Carina Dorneles e Vanessa Braganholo

XML Schema. Vanessa Braganholo. Curso baseado em mini-cursos apresentados no SBBD. Autores: Carlos Heuser, Carina Dorneles e Vanessa Braganholo XML Schema Vanessa Braganholo Curso baseado em mini-cursos apresentados no SBBD. Autores: Carlos Heuser, Carina Dorneles e Vanessa Braganholo XML Schema Utilizado para descrever a estrutura de um documento

Leia mais

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio formado por acadêmicos

Leia mais

BANCO DE DADOS ORIENTADO A OBJETOS

BANCO DE DADOS ORIENTADO A OBJETOS UNIDADEB BANCO DE DADOS ORIENTADO A OBJETOS 1. Introdução Um Banco de Dados Orientado a Objetos (BDOO) é um banco de dados em que, no modelo lógico, as informações são armazenadas na forma de objetos,

Leia mais

Laboratório de Banco de Dados. Prof. Luiz Vivacqua.

Laboratório de Banco de Dados. Prof. Luiz Vivacqua. (la.vivacqua@gmail.com) Ementa Conceitos básicos Sistemas de banco de dados Relacional Visão Geral do PostGreSQL Álgebra Relacional Operadores básicos Operadores adicionais A Linguagem de Consulta Estruturada

Leia mais

3 Tecnologias Relacionadas

3 Tecnologias Relacionadas Tecnologias Relacionadas 31 3 Tecnologias Relacionadas O objetivo deste capítulo é apresentar um resumo de cada tecnologia relacionada ao processo proposto nesta dissertação, mostrando suas principais

Leia mais

LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS

LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS Disciplina: Banco de Dados Prof: Márcio Palheta,

Leia mais

Modelo para a representação de informações, utilizado por aplicações Web que trabalham com a tecnologia AJAX.

Modelo para a representação de informações, utilizado por aplicações Web que trabalham com a tecnologia AJAX. JSON Modelo para a representação de informações, utilizado por aplicações Web que trabalham com a tecnologia AJAX. 1. Introdução JSON (JavaScript Object Notation) é um modelo para armazenamento e transmissão

Leia mais

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos Banco de Dados Parte 2 Prof. Leonardo Vasconcelos - Conceitos e Arquiteturas de SBD Modelos de dados: conjunto de conceitos que podem ser usados para descrever a estrutura de um banco de dados. Permitem

Leia mais

XML Schema. Um XML schema descreve a estrutura de um documento XML.

XML Schema. Um XML schema descreve a estrutura de um documento XML. XML Schema Um XML schema descreve a estrutura de um documento XML. XML Schema é uma linguagem que também costuma ser designada por XML Schema Definition (XSD). XML Schema é uma alternativa aos DTDs. 1

Leia mais

Sumário. Gerência de Dados da Web - DCC922 - Linguagens de Consulta. Características Desejáveis de uma LC/DSE. Linguagens de Consulta

Sumário. Gerência de Dados da Web - DCC922 - Linguagens de Consulta. Características Desejáveis de uma LC/DSE. Linguagens de Consulta Sumário Gerência de Dados da Web - DCC922 - Linguagens de Consulta Alberto H. F. Laender Linguagens de Consulta para Dados da Web Caracterização geral Características desejáveis de uma LC/DSE Algumas Linguagens

Leia mais

Linguagem XML (extensible Markup Language)

Linguagem XML (extensible Markup Language) 0100010001100001111010101110001010011101001010111001010010001100001010101111010101001101010111000 1010011101001010111001010100010001100001010100100010001100001111010101110100111010010101110010100 Artigo

Leia mais

Revisão de Bancos de Dados

Revisão de Bancos de Dados Revisão de Bancos de Dados Conceitos Básicos 1. Defina o que é um banco de dados e o que é um sistema gerenciador de bancos de dados (SGBD). 2. Defina as arquiteturas de software em duas camadas (cliente/servidor)

Leia mais

Tópicos. Apresentando a família XML HTML HTML. XML extesible Markup Language. Problemas com o HTML

Tópicos. Apresentando a família XML HTML HTML. XML extesible Markup Language. Problemas com o HTML Tópicos Apresentando a família XML Prof.Tiago Lopes Telecken telecken@gmail.com IFRS Rio Grande HTML XML A família de tecnologias XML (DTD, XML Schemas, XHTML, SVG, MathML, MusicML, XMI, CSS, XSLT, XLINK,

Leia mais

SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS - SGBD

SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS - SGBD Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS - SGBD Disciplina: Banco de Dados Prof: Márcio Palheta, Esp

Leia mais

EA975 - Laboratório de Engenharia de Software

EA975 - Laboratório de Engenharia de Software EA975 - Laboratório de Engenharia de Software Turmas K/L - 2017 Aula 1 O que vamos desenvolver? Vamos desenvolver uma aplicação distribuída, empregando a arquitetura 3-Tier segundo o estilo REST/HTTP (Respresentational

Leia mais

Revisando Banco de Dados. Modelo Relacional

Revisando Banco de Dados. Modelo Relacional : Revisando Banco de Dados Banco de Dados (BD) é o arquivo físico, em dispositivos periféricos, onde estão armazenados os dados de diversos sistemas, para consulta e atualização pelo usuário. Sistema Gerenciador

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

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de fevereiro de 2018 1/24 Apresentação

Leia mais

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado Definição de Banco de Dados De uma forma genérica, um banco de dados é definido como uma coleção de dados relacionados. Os dados são

Leia mais

brmodelonext: a Nova Versão de uma Ferramenta para Modelagem de Bancos de Dados Relacionais

brmodelonext: a Nova Versão de uma Ferramenta para Modelagem de Bancos de Dados Relacionais brmodelonext: a Nova Versão de uma Ferramenta para Modelagem de Bancos de Dados Relacionais Otávio Soares Menna, Leonardo Antonio Ramos, Ronaldo dos Santos Mello Depto. de Informática e Estatística Universidade

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 31 de julho de 2017 1/24 Apresentação

Leia mais

Sistema de Banco de Dados. UNIDADE 1 Introdução aos Sistemas de Bancos de Dados Professor: Armando Hage

Sistema de Banco de Dados. UNIDADE 1 Introdução aos Sistemas de Bancos de Dados Professor: Armando Hage Sistema de Banco de Dados UNIDADE 1 Introdução aos Sistemas de Bancos de Dados Professor: Armando Hage Resumo da Unidade Banco de dados BD SGBD Objetivo Visão Geral Abstração Modelo de Dados Entidade Relaciomento(ER)

Leia mais

BANCO DE DADOS. Araújo Lima. Fev / Araújo

BANCO DE DADOS. Araújo Lima. Fev / Araújo BANCO DE DADOS Lima Fev / 2016 1 Aula 3 3.Modelos de dados Modelo Conceitual Modelo Lógico Modelo Físico Classificação de Bancos de Dados Hierárquico Rede Relacional 2 MODELOS DE DADOS... Ferramenta usada

Leia mais

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

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

Leia mais

Oracle Database: Fundamentos de SQL e PL/SQL

Oracle Database: Fundamentos de SQL e PL/SQL Oracle University Contact Us: 0800 891 6502 Oracle Database: Fundamentos de SQL e PL/SQL Duration: 5 Days What you will learn Este curso apresenta os fundamentos de SQL e PL/SQL e as vantagens das linguagens

Leia mais

Aula 2 BD Introdução. Profa. Elaine Faria UFU

Aula 2 BD Introdução. Profa. Elaine Faria UFU Aula 2 BD Introdução Profa. Elaine Faria UFU - 2017 Motivação A quantidade de informação disponível está crescendo exponencialmente Os dados e as informações tem um papel importante para as organizações

Leia mais

Programação para Internet I. Fernando F. Costa nando@fimes.edu.br

Programação para Internet I. Fernando F. Costa nando@fimes.edu.br Programação para Internet I Fernando F. Costa nando@fimes.edu.br Ementa Histórico da Internet Componentes para o funcionamento da Internet: Protocolo, Aplicações e Serviços Confecção de páginas para internet

Leia mais

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

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Banco de Dados I. Prof. Edson Thizon ethizon@bol.com.br

Banco de Dados I. Prof. Edson Thizon ethizon@bol.com.br Banco de Dados I Prof. Edson Thizon ethizon@bol.com.br Conceitos Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito Banco de dados (BD) Conjunto de dados interrelacionados

Leia mais

Dados Semi-Estruturados e XML. Alberto Laender - DCC/UFMG

Dados Semi-Estruturados e XML. Alberto Laender - DCC/UFMG Dados Semi-Estruturados e XML Dados da Web A Web constitui hoje um repositório universal de dados Características dos dados da Web: Disponíveis através de documentos textuais Utilizados apenas para consumo

Leia mais

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos Banco de dados BD Dados x Informações Banco de dados Objetivo: Armazenar dados Consultar dados (dentro de um determinado contexto) gerando informações úteis Reter os dados de forma que possam ser utilizados

Leia mais

A linguagem SQL

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

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos Banco de dados BD Banco de dados Objetivo: Armazenar dados Consultar dados (dentro de um determinado contexto) gerando informações úteis Reter os dados de forma que possam ser utilizados em outros momentos

Leia mais

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados Aula 1 Introdução a Banco de Dados 1. Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído

Leia mais

ATUALIZANDO BANCO DE DADOS OBJETO RELACIONAL ATRAVÉS DE VISÕES XML

ATUALIZANDO BANCO DE DADOS OBJETO RELACIONAL ATRAVÉS DE VISÕES XML ATUALIZANDO BANCO DE DADOS OBJETO RELACIONAL ATRAVÉS DE VISÕES XML Mestrando: Wamberg Gláucon Chaves de Oliveira Orientadora: Profa. Dra. Vânia Maria Ponte Vidal Universidade Federal do Ceará Departamento

Leia mais

INE 5423 Banco de Dados I

INE 5423 Banco de Dados I UFSC-CTC-INE Curso de Ciencias da Computação INE 5423 Banco de Dados I 2010/2 http://www.inf.ufsc.br/~ronaldo/ine5423 Programa da Disciplina Objetivo Conteúdo Avaliação Bibliografia Cronograma (Previsto)

Leia mais

DCC011 Revisão: Modelagem de Dados

DCC011 Revisão: Modelagem de Dados DCC011 Introdução a Banco de Dados -22 Revisão: Modelagem de Dados Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br 2008/2 Revisão: Propriedades

Leia mais

Banco de Dados. Banco de Dados

Banco de Dados. Banco de Dados Banco de Dados Banco de Dados Data Warehouse: banco de dados contendo dados extraídos do ambiente de produção da empresa, que foram selecionados e depurados, tendo sido otimizados para processamento de

Leia mais

Arquitetura de um Ambiente de Data Warehousing

Arquitetura de um Ambiente de Data Warehousing Arquitetura de um Ambiente de Data Warehousing Processamento Analítico de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Prof. Dr. Ricardo Rodrigues Ciferri Arquitetura Típica usuário usuário... usuário

Leia mais

Aula 06 Sistemas Embarcados LT38C

Aula 06 Sistemas Embarcados LT38C Aula 06 Sistemas Embarcados LT38C Prof. Lucas Ricken Garcia 2017/1 Introdução a Banco de Dados Coleção de dados relacionados. Fatos conhecidos que podem ser registrados e possuem significado implícito.

Leia mais

ORGANIZANDO DADOS E INFORMAÇÕES: Bancos de Dados

ORGANIZANDO DADOS E INFORMAÇÕES: Bancos de Dados ORGANIZANDO DADOS E INFORMAÇÕES: Bancos de Dados Gestão da Informação (07182) Instituto de Ciências Econ., Adm. e Contábeis (ICEAC) Universidade Federal do Rio Grande (FURG) Gestão de Dados As organizações

Leia mais

3 Arquitetura do Sistema

3 Arquitetura do Sistema Arquitetura do Sistema 22 3 Arquitetura do Sistema 3.1. Visão geral O sistema desenvolvido permite a criação de aplicações que possibilitam efetuar consultas em um banco de dados relacional utilizando

Leia mais

INE 5423 Banco de Dados I

INE 5423 Banco de Dados I UFSC-CTC-INE Curso de Ciências da Computação INE 5423 Banco de Dados I 2011/1 http://www.inf.ufsc.br/~ronaldo/ine5423 Programa da Disciplina Objetivo Conteúdo Avaliação Bibliografia Cronograma (Previsto)

Leia mais

Definição da Sintaxe Abstrata de Potigol em XML

Definição da Sintaxe Abstrata de Potigol em XML Definição da Sintaxe Abstrata de Potigol em XML Alessandro O. Anjos¹, Leonardo Lucena² 1 Graduando em Tec em Análise e Desenvolvimento de Sistemas IFRN. Bolsista do CNPq. E-mail: alessandro.anjos@academico.ifrn.edu.br

Leia mais

Suporte Nativo a XML no Oracle 10g

Suporte Nativo a XML no Oracle 10g Suporte Nativo a XML no Gerenciamento de Dados e Informação Fernando Fonseca & Robson Fidalgo 1 2 XML Parsers Suporte a interfaces DOM e SAX XML Class Generator Código fonte a partir de XML DTD ou Schema

Leia mais

Bancos de Dados Não- Convencionais

Bancos de Dados Não- Convencionais UFSC-CTC-INE Programa de Pós-Graduação em Ciência da Computação (PPGCC) Bancos de Dados Não- Convencionais http://www.inf.ufsc.br/~ronaldo/bdnc Ronaldo S. Mello 2010/2 Programa da Disciplina Objetivo Conteúdo

Leia mais

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

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs

Leia mais

Um Tradutor de Esquemas Relacionais em XML para Esquemas SQL

Um Tradutor de Esquemas Relacionais em XML para Esquemas SQL UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA SISTEMAS DE INFORMAÇÃO Resumo do Trabalho de Conclusão de Curso Entitulado Um Tradutor de Esquemas Relacionais

Leia mais

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. MODELAGEM DE DADOS -INTRODUÇÃO AO SQL Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br INTRODUÇÃO AO SQL Ferramentas brmodelo Ferramenta Case PostgreSQL versão 8 ou superior SGBD Em 1986 o

Leia mais

Introdução. Bases de Dados (CC2005) Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto

Introdução. Bases de Dados (CC2005) Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto (CC2005) Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto Eduardo R. B. Marques DCC/FCUP parcialmente adaptado de slides por Fernando Silva e Ricardo Rocha Alguns

Leia mais

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

Banco de Dados. Modelo Entidade - Relacionamento. João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Banco de Dados Modelo Entidade - Relacionamento João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Introdução O Modelo Entidade-Relacionamento (MER) é um modelo de dados de alto-nível

Leia mais

Documentos XML 1/20. Exemplo de documento XML:

Documentos XML 1/20. Exemplo de documento XML: 1/20 Documentos XML XML é a abreviatura de extensible Markup Language. É uma linguagem de marcas ou anotações como HTML. Mas a linguagem XML foi concebida para descrever informação enquanto que a linguagem

Leia mais

Banco de Dados. Perspectiva Histórica dos Bancos de Dados. Prof. Walteno Martins Parreira Jr

Banco de Dados. Perspectiva Histórica dos Bancos de Dados. Prof. Walteno Martins Parreira Jr Banco de Dados Perspectiva Histórica dos Bancos de Dados Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2015 Histórico Antes dos computadores, as informações eram

Leia mais

XSL - extemsible Stylesheet Language. Prof. Antonio Almeida de Barros Jr.

XSL - extemsible Stylesheet Language. Prof. Antonio Almeida de Barros Jr. XSL - extemsible Stylesheet Language Prof. Antonio Almeida de Barros Jr. Agenda Conceitos XSLT - XSL Transformations Iteração e Classificação Processamento Condicional Copiando Nodos Variáveis Estude de

Leia mais

LISTA DE EXERCÍCIOS TEORIA DE BANCO DE DADOS

LISTA DE EXERCÍCIOS TEORIA DE BANCO DE DADOS LISTA DE EXERCÍCIOS TEORIA DE BANCO DE DADOS 1. Analise as afirmativas abaixo. I. Atributo = dado que é associado a cada ocorrência de uma entidade ou de um relacionamento. II. Relacionamento = conjunto

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 26 http://www.ic.uff.br/~bianca/engsoft2/ Aula 26-21/07/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software

Leia mais

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011

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

Leia mais

BANCO DE DADOS II SQL Básico. COTEMIG Gerson Borges

BANCO DE DADOS II SQL Básico. COTEMIG Gerson Borges BANCO DE DADOS II SQL Básico COTEMIG Gerson Borges gerson@cotemig.com.br Definição de Banco de Dados [Elmasri & Navathe, 2000] Um banco de dados é uma coleção de dados relacionados Representando algum

Leia mais

ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer

ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer Parte 2 ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer P alguns conceitos básicos. A primeira definição é relativa aos conceitos de dados e informação. Dados são fatos em

Leia mais

IEC Banco de Dados I Aula 11 Técnicas de Programação SQL

IEC Banco de Dados I Aula 11 Técnicas de Programação SQL IEC Banco de Dados I Aula 11 Técnicas de Programação SQL Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho E- mail: andre@icomp.ufam.edu.br Site: hjp://bdufam.wordpress.com Sumário

Leia mais

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs

Leia mais