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 |
genre_id |
Confira outros conteúdos:
SQL SUM: somando os valores de uma...
SQL: INNER JOIN
SQL: Introdução ao Where
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.