Conhecendo um SGBD XML Nativo - Revista SQL Magazine 103
Um SGBD XML nativo é aquele que internamente utiliza o modelo XML para armazenar e processar dados. Este artigo introduz os conceitos básicos sobre esta categoria de banco de dados. Os principais objetivos são apresentar aspectos práticos relacionados à utilização dos SGBDs XML nativos e comparar as suas características (arquitetura, linguagem de consulta, etc.) com as características dos SGBDs relacionais.
Um SGBD XML nativo é aquele que internamente utiliza o modelo XML para armazenar e processar dados. Este artigo introduz os conceitos básicos sobre esta categoria de banco de dados. Os principais objetivos são apresentar aspectos práticos relacionados à utilização dos SGBDs XML nativos e comparar as suas características (arquitetura, linguagem de consulta, etc.) com as características dos SGBDs relacionais.
Em que situação o tema útil:
Os conceitos apresentados no artigo aplicam-se principalmente a sistemas que precisam lidar com informações complexas, difíceis de serem modeladas no formato relacional. Muitas vezes é possível estruturar estas informações de forma simples e natural em um SGBD XML nativo. Estes SGBDs possuem as mesmas funcionalidades básicas dos SGBDs relacionais e podem ser normalmente acessados por sistemas desenvolvidos em qualquer linguagem de programação, como Java, C#, PHP, C++ e outras.
Resumo DevMan
Este artigo introduz o Sedna, um SGBD XML nativo do tipo open source. Inicialmente, o artigo descreve os passos para a obtenção, instalação e configuração do software. A seguir, aborda-se a sua forma de utilização. Os principais aspectos destacados são a linguagem para consulta e atualização de informações (XQuery) e as características relacionadas à administração do SGBD, tais como gerenciamento de usuários, técnicas de backup, arquitetura básica e acesso às informações de catálogo.
Proposta há mais de 10 anos, a linguagem XML tem sido adotada como padrão para representação de dados e troca de informações nas mais distintas áreas de aplicação (comércio eletrônico, bioinformática, serviços financeiros, divulgação de dados governamentais, entre outras). Esta situação não ocorre por acaso, mas sim por que a XML possui diversas características atraentes para desenvolvedores de sistemas. Apresentaremos um pequeno exemplo capaz de evidenciar essas características. Considere um projeto para a criação de um web site que ofereça acesso a um banco de dados sobre cinema. A ideia é que através desse site – que chamaremos de “devmovies” - os usuários possam obter informações como o elenco, ano de produção, resumo e gênero de filmes produzidos em diversas épocas. Suponha que o responsável pelo projeto tenha decidido estruturar o banco de dados de filmes no formato XML. Neste caso, uma representação possível para a base é apresentada na Listagem 1.
Listagem 1. Base de dados de filmes – Modelagem XML
<?xml version="1.0" encoding="utf-8"?>
<movies>
<movie id="1">
<title>The XML Files</title>
<year>1998</year>
<summary>The truth is out there and I want to believe: www.w3.org/TR/REC-xml</summary>
<genre>Action</genre>
<genre>Sci-fi</genre>
<cast>
<actor>David Markupovny</actor>
<actress>Gillian Triggerson</actress>
</cast>
</movie>
<movie id="2">
<title>The XML Wears Prada</title>
<year>2006</year>
<summary>How to represent databases in a more elegant fashion</summary>
<genre>Action</genre>
<genre>Drama</genre>
<cast>
<actress>Maryl Stylesheet</actress>
<actress>Element Blunt</actress>
<actress>Tag Hathaway</actress>
</cast>
</movie>
</movies>
A Listagem 1 apresenta os registros referentes a dois filmes: “The XML Files” e “The XML Wears Prada”. Observe que a linguagem XML possibilita que as informações sejam representadas de uma maneira bastante natural: o registro de cada filme está delimitado pelas tags <movie> e </movie> e os dados armazenados sobre cada filme são: título (<title>), ano (<year>), resumo (<summary>), classificação dos gêneros (<genre>) e elenco (entre <cast> e </cast>, com cada ator ou atriz especificados em <actor> ou <actress>, respectivamente).
Uma alternativa mais comum seria estruturar o banco de dados “devmovies” em um SGBD relacional. A princípio, a maioria das pessoas pensaria nesta opção como a mais simples e menos arriscada (na verdade, para quase todos seria a única opção a ser considerada). Entretanto, na modelagem relacional é necessário espalhar as informações dos filmes por diversas tabelas, utilizando chaves artificiais para ligar estas informações. A Figura 1 ilustra a situação. Será que a modelagem relacional é realmente a mais simples e eficiente para a base de filmes?
MOVIE |
|||
movie_id |
Title |
Year |
summary |
1 |
The XML Files |
1998 |
The truth is out there and I want to believe: www.w3.org/TR/REC-xml |
2 |
The XML Wears Prada |
2006 |
How to represent databases in a more elegant fashion " |
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo