Propuesta de DW para XML

Hola buenas,

 

tengo que buscar una solución para poder almacenar la información de los documentos XML que se corresponden con un esquema determinado sobre la temática de las ventas.

 

El gráfico del XML Schema es éste:

 

http://img404.imageshack.us/i/xmlschema.jpg/

 

Como explicación, mencionar que en el esquema hay 3 elementos que parten del raíz (Starpackage), que son FACTS, DIMENSIONS y BASES.

 

- Dentro de FACTS únicamente está Ventas (con atributo ID de tipo ID) y que contiene, además de un subelemento Unidades_Vendidas, 4 referencias de tipo IDREF a cada una de las dimensiones.

 

- Dentro de BASES, existen 4 subelementos que representan las tablas base de cada dimensión, cada una con un atributo ID de tipo ID. Cada uno de estos elementos contendrán en su interior un subelemento de tipo IDREF como referencia a la dimensión correspondiente.

 

- Dentro de DIMENSIONS, estarán las 4 dimensiones (Dependiente, Producto, Fecha y Lugar), cada una de su tipo complejo correspondiente que fue creado previamente. Además cada una de ellas tendrá un atributo ID de tipo ID.

 

Entonces, he diseñado una posible solución, de momento he hecho sólo la parte para las fechas, por si estuviese mal, pero tengo una duda, en realidad,lo que interesa que se quede almacenado en el DW son los datos del documento XML, no toda su estructura, por lo que ahora creo que está mal.

 

La solución propuesta es la siguiente:

 

http://img255.imageshack.us/i/psmxmlfechas.jpg/

 

Y lo que a mi no me convence mucho tal cual está ahora mismo es que, no sé si sería necesario almacenar la estructura del documento, es decir, no sé si habría que poner en el esquema de almacenamiento del DW que debe contener un elemento raíz llamado "Starpackage", después 3 subelementos "Facts", "Dimensions" y "Bases" etc.

 

Puesto que la comprobación de si el documento que se va a insertar cumple con la estructura fijada por el XML Schema (tiene todos los elementos requeridos y en el orden indicado) se debería hacer en la fase de "Extracción" o "Transformación", pero no en carga no? Y en el DW sólo deberían quedar almacenados los datos.

 

No sé si me habré explicado con claridad, espero que se entienda. Si alguien me puede dar su opinión se lo agradecería.

 

Muchas gracias.