Aprenda rapidamente o DB2 V9 pureXML, Parte 2: Crie e preencha um banco de dados XML no DB2

O IBM® DB2® V9 para Linux®, UNIX® e Windows® caracteriza o novo suporte significativo para armazenamento, gerenciamento e procura de dados XML, referido como pureXML®. Esta série ajuda você a controlar esses novos recursos XML rapidamente por meio de vários artigos passo a passo que explicam como executar as tarefas fundamentais. Neste artigo, aprenda a criar objetos de banco de dados para gerenciar seus dados XML e a preencher o banco de dados DB2 com dados XML. [11 Mar 2010: Originalmente escrito em 2006, este artigo foi atualizado para incluir mudanças no DB2, versões 9.5 e 9.7.--Ed.]

Cynthia M. Saracco, Senior Software Engineer, EMC

Cindy Saracco photoC. M. Saracco trabalha com o Laboratório da IBM no Vale do Silício na organização de XML no DB2. Ela trabalha no gerenciamento de banco de dados, XML, desenvolvimento de aplicativo da Web e assuntos relacionados.


nível de autor Profissional do
        developerWorks

14/Abr/2010 (Primeira publicação 14/Abr/2010)

Provavelmente você já ouviu algo sobre o V9 do DB2 -- o primeiro sistema de gerenciamento de banco de dados da IBM a suportar estruturas de dados tabulares (baseadas em SQL) e hierárquicas (baseadas em XML). Se você estiver curioso sobre o novo suporte nativo do DB2 para XML e quiser aprender rapidamente, está no local certo.

Para ajudá-lo a obter agilidade nos recursos XML nativos do DB2, este artigo explicará claramente diversas tarefas comuns, como:

  • Criar objetos de banco de dados para gerenciar dados XML, incluindo um banco de dados de teste, tabelas de amostra e visualizações
  • Preencher o banco de dados com dados XML usando as instruções INSERT e IMPORT
  • Validar seus dados XML. Desenvolva e registre esquemas XML com o DB2 e use a opção XMLVALIDATE ao importar dados.

Artigos futuros abordarão outros tópicos, como consulta, atualização e exclusão de dados XML no DB2 com SQL, consulta de dados XML no DB2 com XQuery e desenvolvimento de aplicativos Java e componentes da Web que acessam dados XML no DB2.

Criando Objetos de Banco de Dados

Para começar, crie um único banco de dados Unicode no DB2. (Com o DB2 V9.1, um banco de dados Unicode é necessário para XML. O DB2 V9.5 e posterior não requer mais um banco de dados Unicode.) Posteriormente, você criará objetos nesse banco de dados para gerenciar XML e outros tipos de dados.

Criando um Banco de Dados de Teste

Para criar um novo banco de dados de teste Unicode no DB2, abra uma janela de comandos do DB2 e emita uma instrução especificando um conjunto de código Unicode e um território suportado, conforme mostrado na Listagem 1.

Listagem 1. Criando um banco de dados para armazenar dados XML
create database test using codeset UTF-8 territory us

Depois de criar um banco de dados, não é necessário emitir nenhum comando especial nem executar qualquer ação adicional para permitir que o DB2 armazene dados XML em seu formato hierárquico nativo. Seu sistema DB2 está pronto para funcionar.

Criando tabelas de amostras

Para armazenar dados XML, crie tabelas que contenham uma ou mais colunas XML. Essas tabelas atuam como contêineres lógicos para coletas de documentos. Nos bastidores, na verdade, o DB2 usa um esquema de armazenamento diferente para dados XML e não XML. Entretanto, o uso de tabelas como um objeto lógico para gerenciar todos os formatos de dados suportados simplifica questões de administração e de desenvolvimento de aplicativos, particularmente quando diferentes formatos de dados necessitam ser integrados em uma única consulta.

É possível definir as tabelas do DB2 para conter apenas colunas XML, apenas colunas de tipos SQL tradicionais ou uma combinação de ambas. Este artigo exemplifica o segundo caso. O exemplo na Listagem 2 conecta ao banco de dados de teste e cria duas tabelas. A primeira é uma tabela de itens que controla informações sobre os itens à venda e os comentários feitos pelos clientes sobre eles. A segunda tabela controla informações sobre Clientes, incluindo dados de contato. Note que os Comments e Contactinfo são baseados no tipo de dados XML no DB2, enquanto todas as outras colunas nas tabelas são baseadas nos tipos de dados SQL tradicionais.

Listagem 2. Criando tabelas para dados XML
connect to test;

create table items (
  id          int primary key not null, 
  brandname   varchar(30), 
  itemname    varchar(30), 
  sku         int, 
  srp         decimal(7,2), 
  comments    xml
);

create table clients(
  id          int primary key not null, 
  name        varchar(50), 
  status      varchar(10), 
  contactinfo xml
);

Se você olhar atentamente esses exemplos de definição de tabela, notará que nenhum especificou a estrutura interna dos documentos XML a serem armazenados nas colunas Comments ou Contactinfo. Esse é um recurso importante do DB2. Os usuários não precisam predefinir uma estrutura de dados XML (ou, mais precisamente, um esquema XML) para armazenar os dados do usuário. Na verdade, o DB2 pode armazenar qualquer documento XML bem formado em uma única coluna, o que significa que os documentos XML de diferentes esquemas (ou documentos não associados a nenhum esquema registrado) podem ser armazenados na mesma coluna no DB2. Este artigo descreverá mais este recurso quando descrever como armazenar dados no DB2.

A opção para armazenar documentos XML menores sequenciais foi introduzida na V9.5. Se o documento XML for pequeno o bastante para se ajustar ao tamanho da página, ele poderá ser armazenado com outros elementos SQL. Se não for pequeno o bastante para se ajustar à página, ele será armazenado separadamente. Juntamente com a palavra-chave sequencial, forneça o tamanho máximo do XML a ser sequenciado. Baseie esse valor no tamanho da página e no tamanho das outras colunas relacionais. A Listagem 3 mostra o fragmento de código para que isso seja feito:

Listagem 3. Criando tabelas para dados XML com a opção sequencial
connect to test;

create table items (
  id          int primary key not null, 
  brandname   varchar(30), 
  itemname    varchar(30), 
  sku         int, 
  srp         decimal(7,2), 
  comments    xml inline length 10240
);

Criando Visualizações

Como opção, você pode criar visualizações sobre tabelas contendo dados XML, do mesmo modo que pode criar visualizações sobre tabelas que contenham apenas tipos de dados SQL tradicionais. O exemplo na Listagem 4 cria uma visualização de clientes com um status Gold:

Listagem 4. Criando uma visualização que contém dados XML
create view goldview as 
select id, name, contactinfo 
from clients where status='Gold';

Uma nota sobre índices

Por fim, note que é possível criar índices específicos nas colunas XML para agilizar procuras de dados. Como este é um artigo introdutório, e os dados de amostra são poucos, este artigo não abordará esse tópico. Entretanto, nos ambientes de produção, a definição de índices apropriados pode ser crítica para atingir o desempenho ideal. Consulte Recursos a fim de obter ajuda para aprender mais sobre a nova tecnologia de indexação do DB2.


Armazenando Dados XML

Com as tabelas criadas, agora é possível preenchê-las com dados. Emita instruções SQL INSERT diretamente ou invocando o recurso IMPORT do DB2, que emite instruções INSERT em segundo plano. Com o DB2 V9.5, o recurso LOAD também suporta dados XML.

Usando Instruções INSERT

Com a instrução INSERT, é possível fornecer ao DB2 dados XML brutos diretamente. Talvez isso seja mais fácil de fazer se você tiver criado um aplicativo e armazenado os dados XML em uma variável. Mas estiver apenas começando com o DB2 e não quiser criar um aplicativo, você poderá emitir suas instruções INSERT de maneira interativa. (Eu acho conveniente usar o DB2 Command Editor, embora você também possa usar o processador de linha de comandos, se preferir.)

Para usar o DB2 Command Editor, ative o DB2 Control Center. No menu suspenso, na parte superior, selecione Command Editor. Uma janela separada será exibida, conforme mostrado na Figura 1.

Figura 1. DB2 Command Editor
DB2 Command Editor

Digite as seguintes instruções na área de janela superior:

Listagem 5. Inserindo Dados XML Interativamente
connect to test;

insert into clients values (77, 'John Smith', 'Gold', 
   '<addr>111 Main St., Dallas, TX, 00112</addr>')

Clique na seta verdade à esquerda para executar o comando.

Neste caso, o documento de entrada é bem simples. Se o documento fosse grande ou complexo, seria impraticável digitar os dados XML na instrução INSERT, como mostrado. Na maioria dos casos, você criaria um aplicativo para inserir os dados usando uma variável de host ou um marcador de parâmetro. Este artigo contém um breve exemplo de codificação Java. Entretanto, esse tutorial introdutório não inclui tópicos de desenvolvimento de aplicativo em detalhes. Em vez disso, apresentaremos outra opção para preencher as colunas XML no DB2 com dados—usando o recurso IMPORT.

Usando o Recurso IMPORT no DB2

Se você já tiver seus dados XML nos arquivos, o recurso IMPORT do DB2 fornecerá uma maneira simples de preencher as tabelas do DB2 com esses dados. Não é necessário criar um aplicativo. É preciso apensas criar um arquivo ASCII delimitado contendo os dados que você deseja carregar em sua tabela. Para dados XML armazenados nos arquivos, um parâmetro especifica os nomes apropriados do arquivo.

É possível criar um arquivo ASCII delimitado usando o editor de texto de sua escolha. (Por convenção, esses arquivos geralmente são do tipo .del.) Cada linha do arquivo representa uma linha de dados a ser importada para a tabela. Se a linha contiver um XML Data Specifier (XDS), IMPORT lerá os dados contidos no arquivo XML em questão e os importará para o DB2. Por exemplo, a primeira linha na Listagem 6 contém informações de Ella Kimpton, incluindo ID, nome e status do cliente. As informações de contato dela estão incluídas no arquivo Client3227.xml.

Listagem 6. Arquivo clients.del
3227,Ella Kimpton,Gold,<XDS FIL='Client3227.xml' />
8877,Chris Bontempo,Gold,<XDS FIL='Client8877.xml' />
9077,Lisa Hansen,Silver,*lt;XDS FIL='Client9077.xml' />
9177,Rita Gomez,Standard,<XDS FIL='Client9177.xml' />
5681,Paula Lipenski,Standard,<XDS FIL='Client5681.xml' />
4309,Tina Wang,Standard,<XDS FIL='Client4309.xml' />

O conteúdo do arquivo Client3227.xml é mostrado na Listagem 7. O arquivo contém elementos XML para o endereço, os números de telefone, o número de fax e o e-mail de Ella Kimpton.

Listagem 7. Arquivo Client3227.xml
<?xml version="1.0"?>
<Client
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
xsi:noNamespaceSchemaLocation="http://bogus">
	<Address>
		<street>5401 Julio Ave</street>
		<city>San Jose</city>
		<state>CA</state>
		<zip>95116</zip>
	</Address>
	<phone>
		<work>4084630000</work>
		<home>4081111111</home>
		<cell>4082222222</cell>
	</phone>
	<fax>4087776666</fax>
	<email>love2shop@yahoo.com</email>
</Client>

Talvez você queira saber sobre a importação de dados se não tiver arquivos XML para todas as linhas que deseja inserir. Isso é fácil de fazer. Omita as informações do XDS do arquivo de entrada. Por exemplo, o arquivo items.del na Listagem 8 omite o nome de um arquivo XML do Item 3641 (o processo Dress to Impress). Como resultado, a coluna XML para esta linha não conterá nenhum dado.

Arquivo items.del
3926,NatureTrail,Walking boot, 38112233,64.26,<XDS FIL='Comment3926.xml' />
4023,NatureTrail,Back pack,552238,34.99,<XDS FIL='Comment4023.xml' />
3641,Dress to Impress,Syutm7811421,149.99,
4272,Classy,Cocktail dress,981140,156.99,<XDS FIL='Comment4272.xml' />

Com os arquivos XML e os arquivos ASCII delimitados, agora você está pronto para usar IMPORT do DB2. A instrução na Listagem 9 importa o conteúdo especificado no arquivo clients.del para o diretório C:/XMLFILES na tabela clients.

Listagem 9. Importando dados para a tabela clients
import from clients.del of del xml from C:/XMLFILES insert into user1.clients;

O arquivo clients.del mostrado na Listagem 6 contém dados para seis linhas, incluindo referências aos seis arquivos XML. A execução com êxito de um comando IMPORT resulta em uma saída semelhante à da Listagem 10.

Listagem 10. Saída de amostra de comando IMPORT do DB2
import from clients.del of del xml from C:/XMLFiles insert into saracco.clients
SQL3109N  The utility is beginning to load data from file "clients.del".

SQL3110N  The utility has completed processing.  "6" rows were read from the
input file.

SQL3221W  ...Begin COMMIT WORK. Input Record Count = "6".

SQL3222W  ...COMMIT of any database changes was successful.

SQL3149N  "6" rows were processed from the input file.  "6" rows were
successfully inserted into the table.  "0" rows were rejected.

Number of rows read		= 6
Number of rows skipped		= 0 
Number of rows inserted 	= 6 
Number of rows updated 		= 0
Number of rows rejected 	= 0
Number of rows committed 	= 6

Fornecedores de software independentes oferecem ferramentas que ajudam a converter Microsoft® Word, Acrobat PDF e outros formatos de documento em XML a fim de importá-los para o DB2. Consulte Recursos para obter informações adicionais sobre os ISVs.


Validando Dados XML

Os exemplos INSERT e IMPORT podem gravar quaisquer dados XML bem formados nas tabelas. Eles não validam esses dados. Em outras palavras, eles não verificam se os dados estão em conformidade com um determinado esquema XML e se estão de acordo com uma estrutura específica. Entretanto, é possível instruir o DB2 a fazer isso. Eis aqui uma abordagem:

Etapa 1: Criando um Esquema XML

Para validar dados XML, é necessário definir um esquema XML que especifique elementos XML aceitáveis, sua ordem e tipos de dados etc.. Os esquemas XML são um padrão W3C do segmento de mercado e são criados em XML. Embora esteja além do escopo deste artigo explicar os recursos de esquemas XML, vários tutoriais estão disponíveis (consulte Recursos).

Há muitas maneiras de desenvolver esquemas XML, desde o uso de seu editor de texto favorito até a criação manual do esquema por meio de ferramentas para, graficamente, projetar ou gerar um esquema. Os fornecedores de software independente oferecem essas ferramentas, e a IBM também oferece suporte à geração de esquema XML por meio de ambientes de desenvolvimento integrados por Java™.

Por exemplo, com o IBM Rational® Application Developer ou o IBM Rational Software Architect, é possível importar um arquivo xml para um projeto da Web. O arquivo xml usado neste exemplo foi obtido de uma tabela de cliente no banco de dados de amostra do DB2. Clique com o botão direito do mouse no projeto e selecione Generate > XML Schema. Esse procedimento gera um esquema XML válido para seu arquivo de entrada em particular, como mostrado na Figura 2 (imagem maior). É possível, então, modificar o arquivo (se necessário) e registrá-lo no DB2.

Figura 2. Usando o IBM Rational Software Architect para gerar um esquema XML de um arquivo XML
Usando o IBM Rational Software Architect para gerar um esquema XML de um arquivo XML

Suponha que seja necessário criar um esquema XML flexível para que você possa coletar vários tipos de informações de contatos de diversos clientes. Por exemplo, alguns clientes podem fornecer vários números de telefone ou endereços de e-mail, enquanto outros, não. O esquema XML mostrado na Listagem 11, que foi derivada do esquema que o IBM Rational Software Architect gerou, permite essa flexibilidade. Ele inclui especificações adicionais sobre os números mínimo e máximo de ocorrências (minOccurs e maxOccurs) permitidos para um determinado elemento. Neste caso, não é necessário que o cliente forneça qualquer informação de contato que você deseja coletar. Entretanto, se um cliente optar por fornecer informações do e-mail, este esquema permitirá adequar os documentos para conterem até cinco endereços de e-mail (ou seja, cinco valores de elemento de e-mail).

Listagem 11. Esquema XML de amostra para informações de contato do cliente
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmins:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:element name="address">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="street" minOccurs="0"/>
                <xsd:element ref="apt" minOccurs="0"/>
                <xsd:element ref="city" minOccurs="0"/>
                <xsd:element ref="state" minOccurs="0"/>
                <xsd:element ref="zip" minOccurs="0"/>
            </xsd:sequence>
         </xsd:complexType>
    </xsd:element>
    <xsd:element name="Client">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="Address" minOccurs="0" maxOccurs="5"/>
                <xsd:element ref="phone" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="fax" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="email" minOccurs="0" maxOccurs="5"/>
            </xsd:sequence>
         </xsd:complexType>
    </xsd:element>
    <xsd:element name="cell type="xsd:string"/>
    <xsd:element name="city type="xsd:string"/>
    <xsd:element name="email" type="xsd:string"/>
    <xsd:element name="fax" type="xsd:string"/>
    <xsd:element name="home" type="xsd:string"/>
    <xsd:element name="phone">
         <xsd:complexType>
           <xsd:sequence>
                <xsd:element ref="work" minOccurs="0"/>
                <xsd:element ref="home" minOccurs="0"/>
                <xsd:element ref="cell" minOccurs="0"/>			
            </xsd:sequence>
         </xsd:complexType>
    </xsd:element>
    . . .
</xsd:schema>

Os esquemas XML também contêm informações de tipo. O esquema mostrado na Listagem 11 especifica que todos os elementos base sejam tratados como cadeias de caractere. Entretanto, a maioria dos esquemas XML de produção faz uso de outros tipos de dados também, como número inteiro, decimal, data, etc. Se você validar documentos XML em relação a um determinado esquema como parte da operação INSERT ou IMPORT, o DB2 incluirá automaticamente as anotações do tipo aos documentos XML.

Etapa 2: Registrando o Esquema XML

Depois de criar um esquema XML apropriado, será necessário registrá-lo no DB2. A IBM fornece diversas maneiras de fazer isso. É possível ativar assistentes gráficos pelo DB2 Control Center para orientar você no processo, invocar os procedimentos armazenados fornecidos pelo sistema ou emitir comandos no DB2 diretamente. Para este exemplo, use o segundo método, pois ele permite compreender mais prontamente o processo em segundo plano do DB2.

Se o esquema for muito grande, talvez seja necessário aumentar o tamanho de heap do aplicativo antes de tentar registrá-lo. Por exemplo, emita as seguintes instruções:

Listagem 12. Aumentando o Tamanho de Heap do Aplicativo
 connect to test;
 update db cfg using applheapsz 10000;

Em seguida, registre o esquema XML. Se o esquema XML não fizer referência a outros esquemas XML, você poderá registrar e concluir o processo com um único comando. Caso contrário, será necessário emitir comandos individuais para registrar o esquema XML primário, incluir outros esquemas necessários e concluir o processo de registro. Quando um documento de esquema se torna muito grande, é comum dividir seu conteúdo em diversos arquivos para melhorar a manutenção, a leitura e a reutilização. É como separar um aplicativo ou componente complexo em vários módulos. Para obter detalhes sobre este tópico, consulte Noções básicas do esquema W3C XML.

Este artigo usa um esquema XML simples e independente. É possível registrá-lo com o DB2 usando o seguinte comando:

Listagem 13. Registrando um esquema XML
register xmlschema 'http://mysample.org' from 'C:/XMLFiles/ClientInfo.xsd' as 
user1.mysample complete;

Neste exemplo, ClientInfo.xsd é o nome do arquivo de esquema XML. Ele está localizado no diretório C:/XMLFiles. Este esquema XML será registrado no repositório interno do DB2 sob esquema SQL user1 e o esquema XML mysample. Os parâmetros http://mysample.org é apenas um marcador neste exemplo. Ele especifica o uniform resource indicator (URI) com referência pelos documentos de instância XML. Muitos documentos XML usam espaços de nomes especificados usando um URI. Por fim, a cláusula complete instrui o DB2 a concluir o processo de registro do esquema XML de modo que o esquema possa ser usado para validar dados XML.

Note que o processo de registro do esquema não envolve a especificação de colunas de tabela às quais o esquema será aplicado. Em outras palavras, os esquemas não são o equivalente das restrições de coluna SQL. Um determinado esquema pode validar dados de várias colunas XML em diferentes tabelas. Mas a validação não é automática. O DB2 permite que qualquer documento XML bem formado seja armazenado em uma coluna XML. Se você quiser validar seus dados em relação a um esquema registrado antes do armazenamento, será necessário instruir o DB2 a fazê-lo.

Etapa 3: Importando Dados XML com Validação

Com um esquema XML criado e completamente registrado no DB2, agora é possível validar os dados XML no DB2 durante a inserção ou importação para uma tabela. Visite novamente o cenário do IMPORT com a validação do esquema em mente.

Se você já tiver preenchido a tabela Clients, pode ser conveniente excluir o conteúdo ou descartar e recriar a tabela. Isso só é necessário se você planeja incluir os mesmos dados à tabela como fez anteriormente. Lembre-se que os clientes foram definidos com uma chave primária na coluna de ID do cliente, portanto, a tentativa de importação das linhas duplicadas falhará.

Para validar os dados XML durante a importação para a tabela Clients, use a cláusula XMLVALIDATE do DB2 IMPORT. A instrução na Listagem 14 instrui o DB2 a usar o esquema XML previamente registrado (user1.mysample) como XDS (XML Data Specifier) padrão para validar os arquivos XML especificados no arquivo clients.del antes de inseri-los na tabela Clients.

Listagem 14. Importando Dados XML com Validação
import from clients.del of del xml from C:/XMLFILES xmlvalidate using xds default  
user1.mysample insert into user1.clients;

Se o DB2 determinar que um documento XML não está em conformidade com o esquema especificado, a linha inteira associada a esse documento será rejeitada. A Listagem 15 representa a saída de amostra de uma operação IMPORT na qual uma linha entre seis foi rejeitada, porque seu documento não estava em conformidade com o esquema especificado.

Listagem 15. Importando dados XML com validação
SQL3149N  "6 rows were processed from the input file.  "5" rows were 
successfully inserted into the table.  "1" rows were rejected.

Number of rows read		= 6
Number of rows skipped		= 0
Number of rows inserted		= 5
Number of rows updated 		= 0
Number of rows rejected 	= 1
Number or rows committed 	= 6

Note que XMLVALIDATE também pode ser usado com as instruções INSERT para instruir o DB2 a validar os dados XML antes de inseri-los. A sintaxe é semelhante ao exemplo IMPORT que foi apresentado, pois você especifica um esquema XML registrado (e concluído) ao invocar a cláusula XMLVALIDATE. (Consulte "Um exemplo Java simples" para obter informações adicionais.)


Resumo

O DB2 V9 fornece novos recursos significativos para suportar XML, incluindo um novo tipo de dados XML e componentes subjacentes no nível de mecanismo que armazenam e processam automaticamente dados XML de maneira eficiente. Para ajudar você a obter agilidade nesses recursos, este artigo descreveu como criar um banco de dados de teste e tabelas de amostra para armazenar documentos XML. Ele também exemplificou como preencher o banco de dados com dados XML. Por fim, o artigo resumiu a capacidade do DB2 para validar dados XML em relação aos esquemas XML fornecidos pelo usuário e apresentou exemplos sobre noções básicas.

Agora que aprendeu a armazenar dados XML usando recursos XML nativos do DB2, você está pronto para consultar esses dados. Você verá como fazer isso nos artigos subsequentes, que apresentarão o suporte ao XQuery do DB2 e as extensões XML para SQL (algumas chamadas SQL/XML).

Agradecimentos

Agradecemos a Rav Ahuja, Matthias Nicola e Gary Robinson por seus comentários neste artigo.


Download

DescriçãoNomeTamanho
Sample codesamples.zip4KB

Recursos

Aprender

Obter produtos e tecnologias

  • Elabore seu próximo projeto de desenvolvimento com o software de teste IBM, disponível para download diretamente no developerWorks.
  • Agora é possível usar o DB2 gratuitamente. Faça o download do DB2 Express-C, uma versão sem custos do DB2 Express Edition que oferece os mesmos recursos centrais de dados que o DB2 Express Edition e fornece uma base sólida para construir e implementar aplicativos.

Discutir

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Information Management
ArticleID=482523
ArticleTitle=Aprenda rapidamente o DB2 V9 pureXML, Parte 2: Crie e preencha um banco de dados XML no DB2
publish-date=04142010