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.

De que se trata o artigo:

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

"
[...] continue lendo...

Artigos relacionados