Conheça também: Onmasters . Ofertas . Divulgue! . Vai.la . Geraboleto . Baixa.la . Assista.la . Joga.la
» Início » Desenvolvimento » Banco de dados e SQL » SQL Server 2005 New Features: O tipo de dados XML -->
 
Avaliação: Não avaliado | Publicado em: 23/04/2007
SQL Server 2005 New Features: O tipo de dados XML


O suporte ao XML no SQL Server 7/2000

Nas versões anteriores ao SQL Server 2000 não existia nenhum suporte ao padrão XML. O SQL Server 7 foi lançado em 1998 e foi nesse ano que o próprio padrão havia sido finalizado passando a ser um recomendação oficial do W3C. Era muito natural que o produto não desse nenhum suporte a esse tipo de dados. No lançamento do SQL Server 2000 (em meados de setembro de 2000), o padrão XML já estava finalizado, mas ainda não tinha tanta presença no mercado como existe hoje. Tecnologias correlatas como o XML Schema, a XQuery ainda não haviam sido finalizadas e a XPath não tinha sequer um ano como recomendação oficial.

Mesmo com as limitações acima, o SQL Server 2000 disponibiliza algumas alternativas para armazenar dados cujo o formato de origem seja XML. São basicamente duas as possibilidades. A primeira é decompor o XML em dados estruturados para guardá-los em tabelas normalizadas, a segunda é armazenar em uma coluna do tipo TEXT o conteúdo do dado em formato XML.

Decompor os dados no formato XML e armazená-los em tabelas representa um overhead adicional na alocação de cada parte do dado em cada tabela relacionada além de queda de desempenho nas consultas a serem realizadas. Ainda que a cláusula OPENXML e FOR XML possam ajudar, elas não eliminam a queda de desempenho ocasionada na repartição do documento XML e na junção entre diversas tabelas para reconstruí-lo.

Por outro lado, armazenar os dados em um tipo de dados TEXT inviabiliza qualquer tipo de consulta mais elaborada que envolvam elementos e (ou) atributos do XML. O XML também não terá garantias de validade e (ou) boa formação. Ainda que a aplicação garanta a validade e a boa formação do XML, é sabido os riscos existentes em confiar na aplicação para garantir integridade. Outro problema é a atualização de fragmentos do XML. O comando UPDATEXT não é eficiente em localizar exatamente o trecho a ser alterado e realizar as alterações necessárias em um elemento ou atributo.