Está en la página 1de 2

Principales diferencias entre datos XML y datos

relacionales
Los datos XML son jerárquicos; los datos relacionales se representan en un
modelo de relaciones lógicas
Un documento XML contiene información sobre la relación de los elementos
de datos entre sí en forma de jerarquía. En el modelo relacional, los únicos
tipos de relaciones que pueden definirse son relaciones de tabla padre y
tabla dependiente.
Los datos XML son autodescriptivos; los datos relacionales, no
Un documento XML contiene no sólo los datos, sino también la codificación
de los datos que explica lo que son. Un solo documento puede contener
distintos tipos de datos. En el modelo relacional, el contenido de los datos
se define en su definición de columna. Todos los datos de una columna
deben tener el mismo tipo de datos.
Los datos XML tienen un orden inherente; los datos relacionales, no
En un documento XML, se presupone que el orden en que se especifican
los elementos de datos es el orden de los datos en el documento. Con
frecuencia no hay ninguna otra manera de especificar el orden dentro del
documento. En los datos relacionales, el orden de las filas no está
garantizado a menos que se especifique una cláusula ORDER BY para una
o más columnas de una fullselect.
Factores que influyen en la elección del modelo de
datos
El tipo de datos que debe almacenar puede ayudarle a determinar cómo
almacenarlos. Por ejemplo, si los datos son naturalmente jerárquicos y
autodescriptivos, puede almacenarlos como datos XML. Sin embargo, hay otros
factores que pueden influir en su decisión acerca de qué modelo utilizar:
Cuando se necesita la máxima flexibilidad
Las tablas relacionales siguen un modelo bastante rígido. Por ejemplo,
normalización de una tabla en muchas o la desnormalización de muchas
tablas en una puede ser muy difícil. Si el diseño de los datos cambia a
menudo, representarlos como datos XML es una mejor opción. Por ejemplo,
los esquemas XML pueden evolucionar a lo largo del tiempo.
Cuando se necesita el máximo rendimiento para la recuperación de datos
La serialización e interpretación de datos XML están sujetas a algunos
costes. Si el rendimiento es más importante que la flexibilidad, los datos
relacionales podrían ser la mejor opción.
Cuando los datos se procesan posteriormente como datos relacionales
Si el proceso posterior de los datos depende de que los datos estén
almacenados en una base de datos relacional, podría ser adecuado
almacenar partes de los datos como relacionales, utilizando la
descomposición. Un ejemplo de esta situación es cuando se aplica el
proceso analítico en línea (OLAP) a los datos de un almacén de datos.
Además, si es necesario otro proceso en el documento XML en conjunto,
almacenar algunos de los datos como relacionales así como almacenar el
documento XML completo podría ser un enfoque adecuado en este caso.
Cuando los componentes de datos tienen un significado fuera de una
jerarquía
Los datos pueden ser inherentemente jerárquicos en su naturaleza, pero los
componentes hijo no necesitan los padres para proporcionar valor. Por
ejemplo, una orden de compra puede contener números de pieza. Las
órdenes de compra con los números de pieza pueden representarse mejor
como documentos XML. Sin embargo, cada número de pieza tiene
asociada una descripción de pieza. Es posible que sea mejor incluir las
descripciones de pieza en una tabla relacional, porque la relación entre los
números de pieza y las descripciones de pieza es lógicamente
independiente de las órdenes de compra en las que se utilizan los números
de pieza.
Cuando los atributos de datos se aplican a todos los datos, o sólo a un
pequeño subconjunto de los datos
Algunos conjuntos de datos tienen un gran número de atributos posibles,
pero sólo un pequeño número de esos atributos se aplica a cualquier valor
de datos concreto. Por ejemplo, en un catálogo de venta, hay muchos
atributos de datos posibles, como por ejemplo tamaño, color, peso,
material, estilo, tejido, requisitos de alimentación o requisitos de
combustible. Para cualquier artículo determinado de catálogo, únicamente
es relevante un subconjunto de estos atributos: los requisitos de
alimentación son significativos para una sierra de mesa, pero no para un
abrigo. Este tipo de datos es difícil de representar y buscar con un modelo
relacional, pero relativamente fácil de representar y buscar con un modelo
XML.
Cuando es necesaria la integridad referencial
Las columnas XML no pueden definirse como parte de restricciones
referenciales. Por tanto, si los valores de documentos XML deben participar
en restricciones referenciales, debe almacenar los datos como datos
relacionales.
Cuando los datos deben actualizarse con frecuencia
Los datos XML de una columna XML sólo se actualizan sustituyendo
documentos completos. Si tiene que actualizar frecuentemente pequeños
fragmentos de documentos muy grandes para un gran número de filas,
puede ser más eficaz de almacenar los datos en columnas que no sean
XML. Sin embargo, si está actualizando documentos pequeñas y sólo unos
pocos documentos a la vez, almacenarlos como XML también puede ser
eficaz.

También podría gustarte