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

GENRE

genre_id

Desc

G1

Action

G2

Drama

G3

Sci-fi

MOVIE_GENRE

movie-id

...

Quer ler esse conteúdo completo? Seja um assinante e descubra as vantagens.
  • 473 Cursos
  • 10K Artigos
  • 100 DevCasts
  • 30 Projetos
  • 80 Guias
Tenha acesso completo