Está en la página 1de 19

CARRERA DE INGENIERÍA EN SISTEMAS.

BASES DE DATOS II (PII-06).

XML
TIPO DE DATOS Y CONSULTAS RELACIONADAS
CON XML EN SQL SERVER 2016

PROFESOR:
ING. OLMAN NÚÑEZ PERALTA

YOSELYN ARAICA LEIVA


YOSANNY VINDAS
ANA ELENA REYES VINDAS
XML 18 de octubre de 2017

1. Tabla de contenido

1. Tabla de contenido ...................................................................................................................... 1


2. Tabla de Figuras .......................................................................................................................... 1
3. Objetivos de la Investigación ...................................................................................................... 2
3.1. Objetivo General ................................................................................................................. 2
3.2. Objetivos Específicos .......................................................................................................... 2
4. Introducción ................................................................................................................................ 3
5. XML ............................................................................................................................................ 4
5.1. ¿Qué es un XML? ............................................................................................................... 4
5.2. Como Realizar una Consulta a un Campo tipo XML ......................................................... 5
5.3. Ventajas y Desventajas de Utilizar Campos XML en SQL Server ................................... 10
5.3.1. Ventajas ..................................................................................................................... 10
5.3.2. Desventajas................................................................................................................ 11
5.4. Importancia para las empresas en Costa Rica ................................................................... 11
5.4.1. Ejemplo Práctico ....................................................................................................... 13
6. Conclusiones ............................................................................................................................. 17
7. Referencias Bibliográficas ........................................................................................................ 18

2. Tabla de Figuras

FIGURE 1. DIFERENCIA ENTRE XML Y HTML. EXTRAÍDO DE: WALTER SAGASTEGUI LESCANO (S.F.). QUE ES Y
PARA QUÉ SIRVE EL LENGUAJE DE ETIQUETAS XML? ................................................................................ 5
FIGURE 2. EJEMPLO XML. TOMADO DE: W3SCHOOLS........................................................................................ 6
FIGURE 3. EJEMPLO DE XML. TOMADO DE: W3SCHOOLS .................................................................................. 7
FIGURE 4. PREDEFINIDOS REFERENCIAS A ENTIDADES EN XML. TOMADO DE: W3SCHOOLS .............................. 7
FIGURE 5.EJEMPLO DE CONSULTA EN XML. CONDIGO BASE. TOMADO DE: W3SCHOOLS .................................. 8
FIGURE 6. EJEMPLO DE CONSULTA EN XML. CONSULTA. TOMADO DE W3SCHOOLS ......................................... 9
FIGURE 7.EJEMPLO DE CONSULTA EN XML. RESULTADO. TOMADO DE: W3SCHOOLS ....................................... 9
FIGURE 8. XQUERY FLWOR. TOMADO DE: W3SCHOOLS .................................................................................. 9

1
XML 18 de octubre de 2017

3. Objetivos de la Investigación

3.1. Objetivo General

Exponer los diferentes tipos de datos y las consultas relacionadas con XML en SQL

Server 2016, así como la importancia que esta tiene para las empresas costarricenses y las

desventajas y ventajas que estos datos y consultas tienen.

3.2. Objetivos Específicos

 Definir el concepto de un XML.

 Ilustrar cómo se realiza una consulta a un campo de tipo XML.

 Enunciar las Ventajas y Desventajas de utilizar campos XML en SQL server

 Mencionar la importancia de XML para las empresas en Costa Rica

2
XML 18 de octubre de 2017

4. Introducción

En la actualidad la información juega un papel muy importante no solo en la vida de

las personas sino también para las compañías, gobiernos, instituciones y cualquier tipo de

ente social.

Pero que es un dato y porque es tan importante, un dato es una representación simbólica

o un atributo de una entidad (Pérez Porto, Julián y Merino, María, 2009). Sin embargo, dada

la definición anterior podemos ver que un dato por sí mismo no es importante, pero si

tenemos un conjunto de un mismo dato (dependiendo del tipo de dato) podemos obtener

mucha información, por ejemplo: la edad de los clientes de una tienda podría ayudar a crear

la próxima campaña de marketing.

Es por esto que actualmente las organizaciones se preocupan cada vez más por la

recopilación y manejo de la información y es de donde nace las bases de datos el cual es un

sistema de archivos electrónicos (Masadelante.com, s.f.) y fueron diseñadas con el fin de

almacenar manipular y analizar los diferentes tipos de datos que las compañías necesitan,

con el fin de mejorar la toma de sus decisiones, conocer mejor a sus clientes y demás.

Según lo mencionado anteriormente el presente trabajo se basará en los tipos de datos

y las consultas relacionadas con XML en SQL Server.

3
XML 18 de octubre de 2017

5. XML

5.1. ¿Qué es un XML?

XML o Extensible Markup Languaje (Lenguaje de Marcas Extensible) es un lenguaje

de etiquetado extensible, muy simple pero estricto, el cual es fundamental para el intercambio

de una gran variedad de datos y su función principal es describirlos pero sin mostrarlos (W3C

España, s.f.), es capaz de estructurar, almacenar e intercambiar información.

En otras palabras, es un lenguaje que se utiliza para decir algo acerca de otro, o sea,

es un metalenguaje extensible de etiquetas que fue desarrollado por el Word Wide Web

Consortium (W3C). Es una adaptación del SGML (Standard Generalized Markup Language),

que es un lenguaje que permite la organización y el etiquetado de documentos. Basado en

esto, el XML no es un lenguaje en sí mismo, sino un sistema que permite definir lenguajes

de acuerdo a sus necesidades (Perez Porto, Jualian y Gardey, Ana, 2010).

Según Julián P. Porto y Ana Gardey (Definición.de, 2010), XML tiene la capacidad

de definir lenguajes como XHTML, MathML y SVG; algunos de sus campos de aplicación

son las hojas de cálculo, los documentos de texto, páginas web y las bases de datos; y algunos

de los lenguajes creados con XML están:

 XSL (Extensible StyleSheet Language)

4
XML 18 de octubre de 2017

 XLINK el cual intentan trascender las limitaciones de los enlaces de

hipertexto en HTML.

Por lo tanto el XML es un lenguaje de etiquetas, donde cada paquete de información

está delimitado por dos etiquetas como se hace también en HTML, con la diferencia que el

XML separa el contenido de la presentación, como se puede ver en el siguiente ejemplo:

Figure 1. Diferencia entre XML y HTML. Extraído de: Walter Sagastegui Lescano (s.f.). Que es y para qué sirve el
lenguaje de Etiquetas XML?

Como se puede ver en la imagen <H1> y <Nombre> son etiquetas y ambas encierra

el texto o paquete de información “Mateo”, la primera es de HTML y es la que se encarga de

visualizar el texto “Mateo” en la página web pero no dice nada de su significado pudiendo

ser el nombre de una ciudad, de una persona, etc. Mientras que la segunda etiqueta <Nombre>

que es de XML, nos indica que “Mateo” es nombre de persona, preocupándose asi del

significado de la palabra o dato y no de la apariencia de cómo se muestre el texto. (Walter

Sagastgui Lescano, s.f.)

5.2. Como Realizar una Consulta a un Campo tipo XML

Antes de ver como se realiza una consulta en XML, se deben de conocer su estructura

y otros elementos importantes, como los siguientes.

5
XML 18 de octubre de 2017

Los documentos XML se forman como arboles de elementos, el cual se inicia con una

raíz y las ramas de la raíz son los elementos secundarios, los que a su vez pueden tener sub-

elementos. Muchas veces se utiliza un prólogo antes de esto para definir la versión de XML

a utilizar y la codificación de caracteres, como se puede ver en el siguiente ejemplo

(W3Schools.com, s.f.):

Figure 2. Ejemplo XML. Tomado de: W3Schools.

También se debe tomar en cuenta todos los elementos deben de tener una etiqueta de

apertura y de cierre, las cuales deben estar escritas siempre con el mismo caso, y la de cierre

6
XML 18 de octubre de 2017

debe estar precedida con el símbolo “/”. Es importante también que estén correctamente

anidados. Como se aprecia en la siguiente imagen (W3Schools.com, s.f.):

Figure 3. Ejemplo de XML. Tomado de: W3Schools

En XML se pueden encontrar 5 referencias predefinidos a entidades:

Figure 4. Predefinidos referencias a entidades en XML. Tomado de: W3Schools

Después de conocer lo anterior, procederemos a realizar una consulta en XML, para

eso se debe de usar XQuery, el cual es un lenguaje de búsqueda de los elementos y atributos

de XML. Para realizar la consulta es necesario el uso de funciones de utiliza XQuery, como

por ejemplo: doc() que sirve para abrir archivos (W3Schools.com, s.f.).

A continuación se debe de indicar una ruta a seguir, la cual esa conformada por la

raíz, elemento segundario y subelementos. Y si es necesario se finaliza la consulta con un

predicado el cual tiene la función de limitar la búsqueda (W3Schools.com, s.f.).

7
XML 18 de octubre de 2017

El ejemplo siguiente muestra primero el condigo base, seguido por la consulta y por

último el resultado de dicha consulta:

Figure 5.Ejemplo de Consulta en XML. Condigo Base. Tomado de: W3Schools

8
XML 18 de octubre de 2017

Figure 6. Ejemplo de Consulta en XML. Consulta. Tomado de W3Schools

Figure 7.Ejemplo de Consulta en XML. Resultado. Tomado de: W3Schools

Otra manera es utilizando la siguiente manera:

Figure 8. XQuery FLWOR. Tomado de: W3Schools

El cuál es la misma sentencia anterior pero utilizando las palabras reservadas for

(selecciona todos los elementos e libro bajo el elemento librería en la variable $x), where

(selecciona solo elementos del libro con un elemento de precio mayor que 30), order by

(define el tipo de orden) y return (especifica que debe ser devuelto), obteniendo el mismo

9
XML 18 de octubre de 2017

resultado que en la Figura 7. Como se puede observar el valor de $x es el nombre que se le

da a la variable a buscar (W3Schools.com, s.f.).

Hay muchas tipos de consultas que se pueden realizar dependiendo de lo que se desea,

sin embargo, a nivel de este documentos nos limitaremos a las anteriores que son las mas

básicas.

5.3. Ventajas y Desventajas de Utilizar Campos XML en

SQL Server

5.3.1. Ventajas

Comunicación de datos. Si la información se transfiere en XML, cualquier aplicación

podría escribir un documento de texto plano con los datos que estaba manejando en formato

XML y otra aplicación recibir esta información y trabajar con ella.

Migración de datos. Si tenemos que mover los datos de una base de datos a otra sería

muy sencillo si las dos trabajan en formato XML.

Aplicaciones web. Hasta ahora cada navegador interpreta la información a su manera

y los programadores del web tenemos que hacer unas cosas u otras en función del navegador

del usuario. Con XML tenemos una sola aplicación que maneja los datos y para cada

navegador o soporte podremos tener una hoja de estilo o similar para aplicarle el estilo

10
XML 18 de octubre de 2017

adecuado. Si mañana nuestra aplicación debe correr en WAP solo tenemos que crear una

nueva hoja de estilo o similar.

5.3.2. Desventajas

Las instancias almacenadas de tipo de dato XML no pueden superar los 2 GB.

No se puede utilizar como un subtipo de una instancia de sql_variant (Un tipo de datos

que almacena valores de varios tipos de datos compatibles con SQL Server.). Además, no

admite la conversión a text ni a ntext. Es preferible utilizar Varchar (max) o nvarchar (max).

No puede compararse ni ordenarse. Esto quiere decir que un tipo de dato XML no se

puede utilizar en una instrucción Group By. Tampoco, puede utilizarse como parámetro de

ninguna función integrada que no sea IS NULL, COALESCE o DATA LENGTH.

No puede utilizarse como columna clave de un índice. Pero puede incluirse en forma

de datos en un índice clúster o agregarse a un índice noun clúster con el uso de la palabra

INICLUDE al crear el índice noun clúster.

5.4. Importancia para las empresas en Costa Rica

El Lenguaje de Etiquetado Extensible es ampliamente utilizado para almacenar y

comunicar datos entre o hacia sistemas de información; en las empresas de Costa Rica, sobre

todo las de gran tamaño tienen muchos sistemas y con frecuencia con distintas tecnologías

11
XML 18 de octubre de 2017

de desarrollo, por lo cual el uso de un lenguaje de almacenamiento con estándar internacional,

que no es propietario (no pertenece a ninguna empresa en particular), que es independiente

de la plataforma y de uso libre tiene muchas ventajas.

Los beneficios de utilizar XML a nivel de base de datos van muy relacionado con las

características de los sistemas de la empresa, si nuestra aplicación va a tener una carga

importante en cuanto a la comunicación con otras aplicaciones, puede que la opción de usar

XML en base de datos sea mejor. Por ejemplo si se utiliza el API (Interfaz de Programación

de Aplicaciones) de Google Maps para enviar la lista de puntos a mostrar en el mapa, si se

tiene un cliente RSS (Really Simple Syndication) para capturar las noticias de nuestra web o

para la elaboración de los SiteMaps (archivo en el que se pueden enumerar las páginas de tu

sitio web para informar a Google y a otros motores de búsqueda sobre la organización del

contenido del mismo).

Dentro de los beneficios más importantes que tienen las empresas con el

almacenamiento de datos en formato XML nativo en comparación con las bases de datos

relacionales convencionales están los siguientes:

 Tener los datos almacenados en formato XML permite compartirlos más fácilmente

mediante los Servicios Web que utilizan XML.

12
XML 18 de octubre de 2017

 Se puede tener acceso a los datos de manera transparente para sistemas de

información de diferentes tecnologías como Java, .Net, Developer, etc.

 No es necesaria ninguna conversión de formatos y la estructura de los documentos se

mantiene intacta.

 Permite extraer una parte del documento XML o insertar una nueva sin remplazar

todo el documento.

 Permite el uso de lenguajes de búsqueda XPath (lenguaje que permite construir

expresiones que recorren y procesan un documento XML), XQuery (lenguaje de

consulta diseñado para colecciones de datos XML), Xlink (recomendación del World

Wide Web Consortium (W3C) que permite crear elementos de XML que describen

relaciones cruzadas entre documentos, imágenes y archivos), XPointer, etc.

5.4.1. Ejemplo Práctico

Un ejemplo de compartir datos entre sistemas con servicios Web son los indicadores

económicos del Banco Central de Costa Rica donde hay datos de gran importancia para las

empresas en el país que son utilizados para calcular la compra y vende de dólares, para emitir

facturas cuando estas son pagadas con moneda extranjera, tasas de interés de referencia para

préstamos, etc.. Que son utilizadas por múltiples tipos de empresas.

13
XML 18 de octubre de 2017

Dicho Servicio Web devuelve los datos por medio de un formato XML que puede ser

incluido en las variables de un sistema de información por medio de código de programación

y así grabarlo posteriormente en una base de datos si se necesitara.

Por ejemplo se pueden poner los siguientes valores a los parámetros del servicio Web

tcIndicador: 317
tcFechaInicio: 15/10/2017
tcFechaFinal: 17/16/2017
tcNombre: Tipo de cambio colón costarricense
tnSubNiveles: N

Este devuelve el siguiente archivo XML en el cual están los datos del tipo de cambio

oficial de compra del dólar en Costa Rica para el rango de fechas indicado:

<string xmlns="http://ws.sdde.bccr.fi.cr">

<Datos_de_INGC011_CAT_INDICADORECONOMIC>

<INGC011_CAT_INDICADORECONOMIC>

<COD_INDICADORINTERNO>317</COD_INDICADORINTERNO>

14
XML 18 de octubre de 2017

<DES_FECHA>2017-10-15T00:00:00-06:00</DES_FECHA>

<NUM_VALOR>568.13000000</NUM_VALOR>

</INGC011_CAT_INDICADORECONOMIC>

<INGC011_CAT_INDICADORECONOMIC>

<COD_INDICADORINTERNO>317</COD_INDICADORINTERNO>

<DES_FECHA>2017-10-16T00:00:00-06:00</DES_FECHA>

<NUM_VALOR>568.13000000</NUM_VALOR>

</INGC011_CAT_INDICADORECONOMIC>

<INGC011_CAT_INDICADORECONOMIC>

<COD_INDICADORINTERNO>317</COD_INDICADORINTERNO>

<DES_FECHA>2017-10-17T00:00:00-06:00</DES_FECHA>

<NUM_VALOR>568.13000000</NUM_VALOR>

</INGC011_CAT_INDICADORECONOMIC>

</Datos_de_INGC011_CAT_INDICADORECONOMIC>

</string>

XML resulta una opción muy viable, ya que es un lenguaje Universal que nos permite

representar datos en Internet, además como se trata de texto plano nos evita tener instalados

programas especiales que permitan reconocer el formato de los datos, lo que lo hace muy

portable entre distintas plataformas, por ejemplo: podemos utilizar documentos XML con

Microsoft Access, ASP .Net, Visual Basic, etc.

15
XML 18 de octubre de 2017

Otra importancia de XML en las empresas es que es gratuito ya que no se requiere

adquirir una licencia costosa como sucede con otros sistemas.

En la actualidad existe una imperiosa necesidad de las empresas por contar con la

información de manera inmediata, por ello optan por utilizar aplicaciones basadas en Web

que permitan obtener datos de manera remota en un corto tiempo y sin la necesidad de

desplazarse, la utilización de bases de datos en documentos XML es el de casi todas las

aplicaciones que encontramos en Internet, como directorios, control de usuarios, inventarios

en línea, catálogos de productos, etc.

16
XML 18 de octubre de 2017

6. Conclusiones

 Se definir el concepto de un XML, para asi obtener un mejor entendimiento de lo que es,

sus funciones y las diferentes aplicaciones que se le puede dar a esta herramienta.

 Se ilustrar cómo se realiza una consulta a un campo de tipo XML a través de un ejemplo.

 Se enunciar las Ventajas y Desventajas de utilizar campos XML en SQL server.

 Se mencionó la importancia de XML para las empresas en Costa Rica.

17
XML 18 de octubre de 2017

7. Referencias Bibliográficas

 https://definicion.de/datos/

 http://www.masadelante.com/faqs/base-de-datos

 http://www.w3c.es/Divulgacion/GuiasBreves/TecnologiasXML

 https://definicion.de/xml/

 https://www.aprenderaprogramar.com/index.php?option=com_content&view=articl

e&id=102:ique-es-y-para-que-sirve-el-lenguaje-de-etiquetas-xml-extensible-

markup-language&catid=46&Itemid=163

 https://es.wikipedia.org/wiki/XQuery

 http://desarrolloweb.dlsi.ua.es/ixml-1a-ed/modulo-05

 https://docs.microsoft.com/es-es/sql/relational-databases/xml/for-xml-sql-server

 https://blogs.msdn.microsoft.com/esecuelesinfronteras/2011/10/13/uso-de-campos-
xml-en-sql-server/
 https://desarrolloweb.com/articulos/460.php
 https://msdn.microsoft.com/es-es/library/hh403385(v=sql.110).aspx

 https://www.w3schools.com/xml/default.asp

18

También podría gustarte