<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>2227-1899</journal-id>
<journal-title><![CDATA[Revista Cubana de Ciencias Informáticas]]></journal-title>
<abbrev-journal-title><![CDATA[Rev cuba cienc informat]]></abbrev-journal-title>
<issn>2227-1899</issn>
<publisher>
<publisher-name><![CDATA[Editorial Ediciones Futuro]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S2227-18992017000200006</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Reparación de Data Warehouses con sentido semántico]]></article-title>
<article-title xml:lang="en"><![CDATA[Repairing Data Warehouses with semantic meaning]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Arredondo]]></surname>
<given-names><![CDATA[Raúl]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Muñoz]]></surname>
<given-names><![CDATA[Luis]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad de Los Lagos  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>06</month>
<year>2017</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>06</month>
<year>2017</year>
</pub-date>
<volume>11</volume>
<numero>2</numero>
<fpage>73</fpage>
<lpage>86</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_arttext&amp;pid=S2227-18992017000200006&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_abstract&amp;pid=S2227-18992017000200006&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_pdf&amp;pid=S2227-18992017000200006&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[RESUMEN Un Data Warehouse (DW) es un almacén de datos que se modela utilizando el modelo multidimensional, el cual estructura la información a través de dimensiones y hechos. Una dimensión es un concepto abstracto que agrupa datos que comparten un significado semántico común, modelada mediante jerarquías de categorías, las que contienen elementos. Una dimensión es estricta si cada elemento de toda categoría tiene un único ancestro en cada categoría superior y homogénea si cada elemento tiene al menos un ancestro en cada categoría superior. Una dimensión puede volverse inconsistente con respecto a sus restricciones de integridad estrictas y homogéneas después de una actualización y cuando esto sucede la dimensión debe ser reparada. Una reparación es una nueva dimensión que satisface el conjunto de restricciones estrictas y homogéneas y se obtiene insertando y eliminando arcos entre elementos de las categorías. Si la dimensión se vuelve inconsistente luego de una única operación de reclasificación de elementos es posible computar una reparación, que contiene la actualización, en tiempo polinomial, sin embargo, esta reparación no garantiza la semántica de los datos. En este artículo se indican otra clase de restricciones que guían el proceso de reparación tales como restricciones de prioridad y seguras, nuevas heurísticas y una propuesta algorítmica que permitan encontrar una reparación con correcto sentido semántico, sin embargo, es posible no encontrar una reparación que garantice la semántica de los datos.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[ABSTRACT A Data Warehouse (DW) is a data repository that is modeled using the multidimensional model, which structures the information according to dimensions and facts. A dimension is an abstract concept that brings together data that share a common semantic meaning, modeled by category hierarchies, which contain elements. A dimension is strict if all category each element has a unique ancestor in each upper and covering category if each element has at least one ancestor each higher category. A dimension can become inconsistent with respect to their strictness constraint and covering integrity after update operations and when this happens the dimension must be repaired. A repair is a new dimension that satisfies the set of strictness and covering constraints and that is obtained inserting and deleting arcs between elements of the categories. If the dimension becomes inconsistent after a single operation reclassification of items it is possible to compute a repair, in polynomial time, but this repair does not guarantee the semantics of the data. In this article different kind of restrictions that guide the repair process such as priority and safe constraints, new heuristics and a algorithmic approach that allow to find a repair with a correct semantic meaning, however, it is possible not to find a repair that guarantees the semantics of the data.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[Data Warehouse]]></kwd>
<kwd lng="es"><![CDATA[inconsistencia]]></kwd>
<kwd lng="es"><![CDATA[restricciones estrictas]]></kwd>
<kwd lng="es"><![CDATA[restricciones homogéneas]]></kwd>
<kwd lng="es"><![CDATA[heurísticas]]></kwd>
<kwd lng="en"><![CDATA[Data Warehouse]]></kwd>
<kwd lng="en"><![CDATA[inconsistency]]></kwd>
<kwd lng="en"><![CDATA[stricness constraints]]></kwd>
<kwd lng="en"><![CDATA[covering constraints]]></kwd>
<kwd lng="en"><![CDATA[heuristics]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><B>ART&Iacute;CULO  ORIGINAL</B></font></p>     <p>&nbsp;</p>     <p><font size="4" face="Verdana, Arial, Helvetica, sans-serif"><strong>Reparaci&oacute;n de Data Warehouses con sentido sem&aacute;ntico</strong></font></p>     <p>&nbsp;</p>     <p><strong><font size="3" face="Verdana, Arial, Helvetica, sans-serif">Repairing Data Warehouses with semantic meaning</font></strong></p>     <p>&nbsp;</p>     <p>&nbsp;</p>     <P><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Ra&uacute;l Arredondo<strong><sup>1*</sup></strong>, <strong>Luis Mu&ntilde;oz<sup>1</sup></strong></font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><sup>1</sup></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Universidad de Los Lagos, raul.arredondo@ulagos.cl </font></p>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<P><font face="Verdana, Arial, Helvetica, sans-serif"><span class="class"><font size="2">*Autor para la correspondencia: </font></span></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <a href="mailto:ycardosog@uci.cu">raul.arredondo@ulagos.cl</a><a href="mailto:lisvandy@ibp.co.cu"></a><a href="mailto:ycoca@uci.cu"></a><a href="mailto:valery@electrica.cujae.edu.cu"></a><a href="mailto:rtrujillo@edistancia.uo.edu.cu"></a><a href="mailto:jova@uci.cu"></a></font><font face="Verdana, Arial, Helvetica, sans-serif"><a href="mailto:losorio@ismm.edu.cu"></a> </font>     <p>&nbsp;</p>     <p>&nbsp;</p> <hr>     <P><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>RESUMEN</b> </font>     <P><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Un Data Warehouse (DW) es un almac&eacute;n de datos que se modela utilizando  el modelo multidimensional, el cual estructura la informaci&oacute;n a trav&eacute;s de  dimensiones y hechos. Una dimensi&oacute;n es un concepto abstracto que agrupa datos  que comparten un significado sem&aacute;ntico com&uacute;n, modelada mediante jerarqu&iacute;as de  categor&iacute;as, las que contienen elementos. Una dimensi&oacute;n es estricta si cada  elemento de toda categor&iacute;a tiene un &uacute;nico ancestro en cada categor&iacute;a superior y  homog&eacute;nea si cada elemento tiene al menos un ancestro en cada categor&iacute;a  superior. Una dimensi&oacute;n puede volverse inconsistente con respecto a sus  restricciones de integridad estrictas y homog&eacute;neas despu&eacute;s de una actualizaci&oacute;n  y cuando esto sucede la dimensi&oacute;n debe ser reparada. Una reparaci&oacute;n es una  nueva dimensi&oacute;n que satisface el conjunto de restricciones estrictas y  homog&eacute;neas y se obtiene insertando y eliminando arcos entre elementos de las  categor&iacute;as. Si la dimensi&oacute;n se vuelve inconsistente luego de una &uacute;nica  operaci&oacute;n de reclasificaci&oacute;n de elementos es posible computar una reparaci&oacute;n,  que contiene la actualizaci&oacute;n, en tiempo polinomial, sin embargo, esta  reparaci&oacute;n no garantiza la sem&aacute;ntica de los datos. En este art&iacute;culo se indican  otra clase de restricciones que gu&iacute;an el proceso de reparaci&oacute;n tales como  restricciones de prioridad y seguras, nuevas heur&iacute;sticas y una propuesta  algor&iacute;tmica que permitan encontrar una reparaci&oacute;n con correcto sentido sem&aacute;ntico,  sin embargo, es posible no encontrar una reparaci&oacute;n que garantice la sem&aacute;ntica  de los datos. </font>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>Palabras clave:</span></b></font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Data Warehouse, inconsistencia, restricciones estrictas, restricciones  homog&eacute;neas, heur&iacute;sticas.</font></p> <hr>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>ABSTRACT</span></b> </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">A Data Warehouse (DW) is a data repository that is modeled using the  multidimensional model, which structures the information according to  dimensions and facts. A dimension is an abstract concept that brings together  data that share a common semantic meaning, modeled by category hierarchies,  which contain elements. A dimension is strict if all category each element has  a unique ancestor in each upper and covering category if each element has at  least one ancestor each higher category. A dimension can become inconsistent  with respect to their strictness constraint and covering integrity after update  operations and when this happens the dimension must be repaired. A repair is a  new dimension that satisfies the set of strictness and covering constraints and  that is obtained inserting and deleting arcs between elements of the  categories. If the dimension becomes inconsistent after a single operation  reclassification of items it is possible to compute a repair, in polynomial  time, but this repair does not guarantee the semantics of the data. In this  article different kind of restrictions that guide the repair process such as  priority and safe constraints, new heuristics and a algorithmic approach that  allow to find a repair with a correct semantic meaning, however, it is possible  not to find a repair that guarantees the semantics of the data.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>Key words: </span></b>Data Warehouse, inconsistency, stricness constraints, covering  constraints, heuristics.</font></p> <hr>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>INTRODUCCI&Oacute;N</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Un Data Warehouse (DW) es un conjunto de datos orientados a temas  espec&iacute;ficos, integrados, que se acumulan en el tiempo, para apoyar la toma de  decisiones (Chaudhuri and Dayal, 1997), los cuales son integrados de distintas fuentes.  &Eacute;stos son modelados bajo un enfoque multidimensional a trav&eacute;s de dimensiones y  hechos. Las dimensiones reflejan la forma en que se organizan los datos y se  modelan como jerarqu&iacute;as de elementos, llamadas esquemas jer&aacute;rquicos donde cada  elemento pertenece a una categor&iacute;a. Los hechos corresponden a eventos que se  asocian generalmente a valores num&eacute;ricos llamados medidas, y hacen referencia a  elementos de una dimensi&oacute;n (Hurtado et al., 1999).</font></p>     <p align="center"><img src="/img/revistas/rcci/v11n2/f0106217.jpg" alt="f01" width="315" height="249"><a name="f01"></a></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Como un ejemplo, la <a href="#f01">Figura 1(a)</a> muestra un esquema jer&aacute;rquico de la dimensi&oacute;n  &ldquo;Jugador de F&uacute;tbol&rdquo;, mientras que la <a href="#f01">Figura 1(b)</a> muestra los elementos y como &eacute;stos se relacionan,  es decir sus relaciones rollup (Hurtado et al., 1999). Aqu&iacute; se se&ntilde;ala que CONM (que significa CONMEBOL) y UEFA son elementos de la  categor&iacute;a CONFEDERACION, L. Chi. (Liga Chilena) y L.Esp. (Liga Espa&ntilde;ola) son  elementos de la categor&iacute;a LIGA, UC (Universidad Cat&oacute;lica) y Sevilla son elementos de la  categor&iacute;a EQUIPO, Chile y Espa&ntilde;a son elementos de la categor&iacute;a RESIDENCIA  y  por &uacute;ltimo Medel, Beto y Reyes son elementos de la categor&iacute;a JUGADOR  (categor&iacute;a  inferior). La estructura jer&aacute;rquica de las dimensiones permite el c&aacute;lculo de  consultas a diferentes niveles de granularidad, por ejemplo, en la dimensi&oacute;n  indicada en la <a href="#f01">Figura 1(b)</a> es f&aacute;cil computar consultas agrupadas por JUGADOR,  LIGA y as&iacute; sucesivamente.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Es una pr&aacute;ctica com&uacute;n en DWs utilizar los resultados precomputados en  los niveles inferiores de jerarqu&iacute;a de la dimensi&oacute;n, para calcular resultados  en niveles superiores (esto se llama sumarizabilidad (Hurtado et al., 2005), (Lenz and Shoshani, 1997))</font>.</p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para garantizar la  sumarizabilidad, una dimensi&oacute;n debe satisfacer ciertas restricciones de  integridad (Hurtado and Gutierrez, 2007).  Primero, debe ser estricta, es decir que cada elemento de una categor&iacute;a  inferior est&eacute; relacionado con un &uacute;nico elemento en la categor&iacute;a superior, y  homog&eacute;nea, es decir que cada elemento de una categor&iacute;a inferior est&eacute;  relacionado por lo menos con un elemento en las categor&iacute;as superiores. Una  dimensi&oacute;n es consistente si satisface todas sus restricciones de integridad, de  lo contrario, es inconsistente (Caniup&aacute;n et al., 2012).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Una dimensi&oacute;n puede  volverse inconsistente con respecto a sus restricciones de integridad despu&eacute;s  de una reclasificaci&oacute;n de elementos, que es una modificaci&oacute;n a la relaci&oacute;n  rollup entre dos elementos, sobre todo para dimensiones cuyos esquemas  jer&aacute;rquicos cuentan con un nivel de conflicto (Caniup&aacute;n and Vaisman, 2011), es decir, una categor&iacute;a  que es alcanzada desde la categor&iacute;a inferior por caminos alternativos, como el  esquema jer&aacute;rquico de la <a href="#f01">Figura 1(a)</a>, donde la categor&iacute;a CONFEDERACION  es  un nivel de conflicto. </font></p>     <p align="center"><img src="/img/revistas/rcci/v11n2/f0206217.jpg" alt="f02" width="320" height="231"><a name="f02"></a></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">De acuerdo a (Caniup&aacute;n et al., 2012) una dimensi&oacute;n  inconsistente debe ser reparada (corregida). A modo de ejemplo, la <a href="#f02">Figura 2(b)</a> muestra una actualizaci&oacute;n en la dimensi&oacute;n &ldquo;Jugador  de F&uacute;tbol&rdquo; (D) indicada en la <a href="#f02">Figura 2(a)</a>, es decir un cambio en la relaci&oacute;n rollup entre  elementos de las categor&iacute;as JUGADOR y EQUIPO, ya que el elemento Medel se relaciona con Sevilla, en vez de UC. Despu&eacute;s de esta  actualizaci&oacute;n, la dimensi&oacute;n no satisface la restricci&oacute;n estricta JUGADOR &rarr; CONFEDERACION (la que establece que un  jugador est&aacute; asociado a una &uacute;nica confederaci&oacute;n), ya que ahora el jugador Medel est&aacute; asociado con dos elementos de la categor&iacute;a CONFEDERACION, esto es con CONM  a  trav&eacute;s de la categor&iacute;a RESIDENCIA y con UEFA por las categor&iacute;as EQUIPO y LIGA. Para resolver este problema, la dimensi&oacute;n necesita ser corregida.</font></p>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <p><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="3">MATERIALES Y M&Eacute;TODOS </font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El problema de reparaci&oacute;n en  bases de datos relacionales con respecto a un conjunto de restricciones de  integridad (por ejemplo, dependencias funcionales y dependencias de inclusi&oacute;n)  ha sido ampliamente estudiado en (Arenas et al., 1999; Arenas  and Bertossi,  2003;  Bravo and Bertossi, 2004;  Bertossi,  2006;  Lopatenko and Bertossi, 2006).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Si bien existen muchas formas de  poder representar un DW usando modelos relacionales (esquema en estrella o  esquema copo de nieve (Chaudhuri and Dayal, 1997),  (Anisimov,  2003)),  no es posible usar las t&eacute;cnicas de reparaci&oacute;n para bases de datos relacionales  para calcular las reparaciones de DWs.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Esto se debe a que en el enfoque  relacional, la inconsistencia de la base de datos se soluciona mediante la  insersi&oacute;n, eliminaci&oacute;n y actualizaci&oacute;n de tuplas e incluso alterando la  dimensi&oacute;n (Kimball,  1996)  y esto no coincide con el enfoque utilizado en DWs que modifica arcos entre  elementos. En (Caniup&aacute;n et al.,  2012)  se muestran varios ejemplos donde se puede concluir que es imposible codificar  una dimensi&oacute;n multidimensional dentro de un esquema relacional de DW y obtener  las mismas reparaciones minimales mostradas en (Caniup&aacute;n et al., 2015) utilizando t&eacute;cnicas  relacionales.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Una  diferencia importante con respecto a las reparaciones relacionales es que en  los DWs se utiliza una sem&aacute;ntica de reparaci&oacute;n basada en cardinalidad (Afrati  and Kolaitis,  2009),  (Bertossi,  2006),  es decir, reducir al m&iacute;nimo el n&uacute;mero de cambios realizados en una dimensi&oacute;n,  mientras que en el modelo relacional adem&aacute;s de basarse en la cardinalidad, se  puede reparar reduciendo al m&iacute;nimo el conjunto de tuplas insertadas y  eliminadas.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Una r-reparaci&oacute;n minimal  es una nueva dimensi&oacute;n que satisface su conjunto de restricciones de integridad  la cual se obtiene desde la dimensi&oacute;n original aplicando eliminaci&oacute;n e  insersi&oacute;n de arcos entre elementos y en el caso general, encontrar una  r-reparaci&oacute;n minimal es NP-duro (Caniup&aacute;n and Vaisman, 2011), sin embargo bajo  ciertas condiciones, el c&oacute;mputo de r-reparaciones puede hacerse en tiempo  polinomial y para ello ya hay algoritmos procedurales que resuelven este  problema (Caniup&aacute;n et al., 2015). </font></p>     <p align="center"><img src="/img/revistas/rcci/v11n2/f0306217.jpg" alt="f03" width="315" height="219"><a name="f03" id="f03"></a></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Como  se se&ntilde;ala en la <a href="#f03">Figura 3(b)</a>,  la r-reparaci&oacute;n computada por lo presentado en (Caniup&aacute;n et al., 2015) es un cambio entre  las categor&iacute;as RESIDENCIA y CONFEDERACION ya que la relaci&oacute;n  rollup existente entre los elementos Chile y CONM  es  reemplazada por Chile y UEFA.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La  <a href="#f03">Figura 3(b)</a>  es una r-reparaci&oacute;n sint&aacute;cticamente correcta de la dimensi&oacute;n D se&ntilde;alada  en <a href="#f03">3(a)</a>  ya que devuelve la consistencia a la dimensi&oacute;n, sin embargo, por la sem&aacute;ntica y  l&oacute;gica de los datos, no tiene sentido que Chile se relacione con UEFA. Esto se debe a que UEFA es la confederaci&oacute;n de f&uacute;tbol que asocia a pa&iacute;ses de  Europa y algunos pa&iacute;ses en controversia como Israel, mientras que CONM (CONMEBOL) agrupa a pa&iacute;ses de  Sudam&eacute;rica. Por esta raz&oacute;n, se han considerado se&ntilde;alar nuevas restricciones  impuestas por el administrador del DW para obtener una r-reparaci&oacute;n con  correcto sentido sem&aacute;ntico:</font></p> <ul>       ]]></body>
<body><![CDATA[<li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Restricciones seguras: Una restricci&oacute;n segura  se&ntilde;ala que el v&iacute;nculo directo entre dos categor&iacute;as no se debe modificar, es  decir, que ninguna relaci&oacute;n rollup que involucre a elementos de estas  categor&iacute;as puede alterarse aunque sea necesario hacer cambios para lograr la  consistencia de una dimensi&oacute;n.</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Restricciones con grado de prioridad: Un grado  de prioridad es una constante real que oscila entre 0 y 1, la cual indica el  grado de confianza que existe entre los v&iacute;nculos di rectos entre dos  categor&iacute;as. Mientras la prioridad sea m&aacute;s cercana a 0, menos confiable es la  relaci&oacute;n que existe entre las categor&iacute;as involucradas; contrariamente es el  caso en que la prioridad sea m&aacute;s cercana al valor 1.</font></p>   </li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Cabe se&ntilde;alar que estas restricciones deben ser  se&ntilde;aladas por el administrador del DW previo a ejecutar un proceso de  reparaci&oacute;n y que no son parte del esquema jer&aacute;rquico de una dimensi&oacute;n.</font></p>     <p align="center"><img src="/img/revistas/rcci/v11n2/f0406217.jpg" alt="f04" width="300" height="213"><a name="f04"></a></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Como  se indica en la <a href="#f04">Figura 4</a>,  se han denotado las siguientes restricciones con grado de prioridad:</font></p> <ul>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Grado de prioridad  entre las categor&iacute;as RESIDENCIA  y CONFEDERACION: 1,0</font></p>   </li>       ]]></body>
<body><![CDATA[<li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Grado de prioridad entre las categor&iacute;as JUGADOR y RESIDENCIA: 0,2</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Grado de prioridad entre las categor&iacute;as JUGADOR y EQUIPO: 0,3</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Grado de prioridad  entre las categor&iacute;as EQUIPO  y LIGA: 0,6</font></p>   </li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Adicionalmente,  en la <a href="#f04">Figura 4</a>,  se ha denotado la restricci&oacute;n segura entre las categor&iacute;as LIGA y CONFEDERACION (se&ntilde;alada con una flecha).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">A modo de an&aacute;lisis, las  relaciones rollups entre RESIDENCIA  y CONFEDERACION son muy confiables,  es decir, hist&oacute;ricamente se han hecho pocos cambios entre estas categor&iacute;as. Sin  embargo, las relaciones rollups entre JUGADOR y RESIDENCIA  han  sufrido diferentes actualizaciones en el transcurso del tiempo.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para  poder computar una r-reparaci&oacute;n con correcto sentido sem&aacute;ntico en tiempo  polinomial se ha redefinido el proceso de reparaci&oacute;n considerando las  siguientes heur&iacute;sticas:</font></p>     ]]></body>
<body><![CDATA[<blockquote>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">(i) No  generar nuevas inconsistencias en el proceso de reparaci&oacute;n: esta heur&iacute;stica se  encuentra definida en (Caniup&aacute;n and Vaisman, 2011).</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">(ii) Elegir  en lo posible, los cambios donde el rollup tenga menor grado de prioridad: Sea  el esquema jer&aacute;rquico, las restricciones con grado de prioridad y la  restricci&oacute;n segura mostrada en la <a href="#f05">Figura 5(a)</a> y la  actualizaci&oacute;n se&ntilde;alada en la <a href="#f02">Figura 2(b)</a>.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Esta  heur&iacute;stica permite orientar la b&uacute;squeda de cambios en las relaciones rollups  donde las categor&iacute;as posean el menor grado de prioridad posible. Como se se&ntilde;ala  en la <a href="#f05">Figura 5(c)</a>,  la modificaci&oacute;n esperada sea en una relaci&oacute;n rollup entre las categor&iacute;as JUGADOR y RESIDENCIA, puesto que tienen el menor  grado de prioridad seg&uacute;n el administrador del Data Warehouse (0,2).</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La r-reparaci&oacute;n computada  utilizando el algoritmo mostrado en Caniup&aacute;n et al. (2015), ya que este algoritmo  realiza los cambios entre las categor&iacute;as RESIDENCIA  y  CONFEDERACION, que seg&uacute;n el  administrador del Data Warehouse tiene prioridad 1,0. </font></p>       <p align="center"><img src="/img/revistas/rcci/v11n2/f0506217.jpg" alt="f05" width="459" height="252"><a name="f05" id="f05"></a></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">(iii) No modificar relaciones rollup en la(s)  restriccion(es) segura(s):Sea el esquema jer&aacute;rquico, las restricciones con  grado de prioridad y la restricci&oacute;n segura mostrada en la <a href="#f06">Figura 6(a)</a> y la  actualizaci&oacute;n se&ntilde;alada en la <a href="#f02">Figura 2(b)</a>.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La <a href="#f06">Figura 6(b)</a> indica un mal cambio, puesto que no se pueden  modificar las relaciones rollups existentes entre las categor&iacute;as LIGA y CONFEDERACION puesto que es una  restricci&oacute;n segura. Adem&aacute;s, si se quisieran realizar cambios entre estas  categor&iacute;as, nuevos elementos se ven involucrados en la inconsistencia, violando  la heur&iacute;stica (i) definida en Caniup&aacute;n and Vaisman (2011).</font></p>       <p align="center"><img src="/img/revistas/rcci/v11n2/f0606217.jpg" alt="f06" width="438" height="253"><a name="f06"></a></p> </blockquote>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">A  continuaci&oacute;n se presenta una propuesta algor&iacute;tmica para poder computar, en lo  posible, una r- reparaci&oacute;n con correcto sentido sem&aacute;ntico:</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para  explicar el funcionamiento del <a href="/img/revistas/rcci/v11n2/fo0106217.jpg" target="_blank">algoritmo 1</a> se analizar&aacute; el  esquema jer&aacute;rquico mostrado en la <a href="#f01">Figura 1(a)</a>, la  actualizaci&oacute;n se&ntilde;alada en la <a href="#f02">Figura 2(b)</a> y las restricciones impuestas  por el administrador del DW (grados de prioridad y restricciones seguras)  indicados en la  <a href="#f04">Figura 4</a>.  Para ello se detalla el valor de las variables de entradas del <a href="/img/revistas/rcci/v11n2/fo0106217.jpg" target="_blank">algoritmo 1</a>:</font></p> <ul>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">D:  es la dimensi&oacute;n con la que se trabajar&aacute;, en este caso &ldquo;Jugador de F&uacute;tbol&rdquo;.</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">R: es la reclasificaci&oacute;n que origin&oacute; la  inconsistencia con respecto a sus restricciones de integridad. En este caso, es  el cambio en la relaci&oacute;n rollup entre Medel y UC, por la relaci&oacute;n  rollup entre Medel y Sevilla.</font></p>   </li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la l&iacute;nea 1 del <a href="/img/revistas/rcci/v11n2/fo0106217.jpg" target="_blank">algoritmo 1</a> se obtienen todos los elementos que se volvieron  inconsistentes con respecto a sus restricciones de  integridad representados en caminos, almacenando sus grados de prioridad (por  notaci&oacute;n, la restricci&oacute;n segura tendr&aacute; el valor 2<em>,</em>0 y el elemento perteneciente al  nivel de conflicto tendr&aacute; el valor 1<em>,</em>5), en esta situaci&oacute;n:</font></p> <ul>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Medel(0,3) &rarr;  Sevilla(0,6) &rarr; L.Esp.(2,0) &rarr; UEFA(1,5) &rarr; </font></p>   </li>       <li>         ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Medel(0,2) &rarr; Chile(1,0) &rarr; CONM(1,5) &rarr; </font></p>   </li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Como  no hay m&aacute;s elementos en la categor&iacute;a inferior (JUGADOR) involucrados en la inconsistencia, se procede a  ejecutar las l&iacute;neas 2 y  3 del  <a href="/img/revistas/rcci/v11n2/fo0106217.jpg" target="_blank">algoritmo 1</a>,  en las cuales se obtienen los elementos en el nivel de conflicto que est&aacute;n  involucrados en la inconsistencia, en este caso:</font></p> <ul>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">UEFA que ser&aacute; almacenada en la  variable <em>var1 </em>(elemento afectado por  la reclasificaci&oacute;n).</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">CONM que ser&aacute; almacenada  en la variable <em>var2 </em>(elemento no  afectado por la reclasificaci&oacute;n).</font></p>   </li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En  las l&iacute;neas 4 y  5 de  este algoritmo, se procede a obtener las m&iacute;nimas prioridades que alcanzan los  caminos que llegan a los elementos en el nivel de conflicto involucrados en la  inconsistencia con respecto a sus restricciones de integridad, lo que en el  ejemplo mostrado es:</font></p> <ul>       <li>         ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">M&iacute;nima prioridad en  la ruta entre Medel y UEFA es 0<em>,</em>3. Este valor es almacenado en la  variable <em>p</em>_<em>var</em>1.</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">M&iacute;nima  prioridad en la ruta entre Medel  y CONM es 0<em>,</em>2. &Eacute;ste es almacenado en la  variable <em>p</em>_<em>var</em>2.</font></p>   </li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El ciclo descrito entre  las l&iacute;neas 6 y 20 del <a href="/img/revistas/rcci/v11n2/fo0106217.jpg" target="_blank">algoritmo 1</a> se ejecutar&aacute; hasta que no hayan inconsistencias con  respecto a sus restricciones de integridad (l&iacute;neas 7 a la 18), o hasta que no encuentre una r-reparaci&oacute;n con  correcto sentido sem&aacute;ntico (l&iacute;neas 19 y 20). Siempre se buscar&aacute; hacer los cambios en las  relaciones rollups con menor grado de prioridad y para este ejemplo se buscar&aacute;  un cambio en la ruta cuyo &uacute;ltimo elemento es CONM, puesto que la m&iacute;nima  prioridad existente en la ruta entre Medel  y  CONM (0<em>,</em>2) es menor que la m&iacute;nima  prioridad existente entre Medel y UEFA (0<em>,</em>3), es decir, se  ejecutar&aacute;n las instrucciones entre las l&iacute;neas 12 y 16 de este algoritmo. Si se da una situaci&oacute;n contraria a  la descrita anteriormente, se ejecutar&aacute;n las instrucciones entre las l&iacute;neas 7 y 11 del <a href="/img/revistas/rcci/v11n2/fo0106217.jpg" target="_blank">algoritmo 1</a>.</font> </p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Si  no se encuentra un cambio que retorne la consistencia a la dimensi&oacute;n (l&iacute;nea 15 del <a href="/img/revistas/rcci/v11n2/fo0106217.jpg" target="_blank">algoritmo 1</a> para este caso), se  proceder&aacute; a buscar el siguiente grado de prioridad m&iacute;nimo existente en la ruta  analizada (l&iacute;nea 16 del  algoritmo en esta situaci&oacute;n). De lo contrario, se buscar&aacute; un nuevo elemento en  la categor&iacute;a inferior involucrado en la inconsistencia (l&iacute;neas 17 y 18 del <a href="/img/revistas/rcci/v11n2/fo0106217.jpg" target="_blank"> algoritmo 1</a>), situaci&oacute;n que no  se da en este escenario.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El algoritmo 2 trata de computar los cambios con correcto sentido  sem&aacute;ntico que devolver&aacute;n la consistencia a la dimensi&oacute;n. Las variables de  entrada a este algoritmo depender&aacute; de las l&iacute;neas 9 y 14 del <a href="/img/revistas/rcci/v11n2/fo0106217.jpg" target="_blank">algoritmo 1</a>. Para este ejemplo, se ejecut&oacute; la l&iacute;nea 14 del <a href="/img/revistas/rcci/v11n2/fo0106217.jpg" target="_blank">algoritmo 1</a> y se tienen los siguientes resultados: </font></p> <ul>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">D es  la dimensi&oacute;n con la que se trabajar&aacute;, en este caso &ldquo;Jugador de F&uacute;tbol&rdquo;</font></p>   </li>       <li>         ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">R es la reclasificaci&oacute;n que origin&oacute; la inconsistencia  con respecto a sus restricciones de integridad. En este caso, es el cambio en  la relaci&oacute;n rollup entre Medel  y UC, por la relaci&oacute;n rollup entre Medel y Sevilla. </font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><em>inc </em>representa a todos los elementos  involucrados en la inconsistencia con respecto a sus restricciones de  integridad.</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><em>v1 </em>es el elemento en la categor&iacute;a  nivel de conflicto que ser&aacute; relacionado con todos los elementos involucrados en  la inconsistencia, en este escenario UEFA.</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><em>v2 </em>es el elemento en la  categor&iacute;a nivel de conflicto que no tendr&aacute; relaci&oacute;n con todos los elementos  involucrados en la inconsistencia, en este ejemplo CONM.</font> </p>   </li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En  este caso, para cada ruta de un elemento en la categor&iacute;a inferior involucrado  en la inconsistencia con respecto a sus restricciones de integridad (l&iacute;neas 1 a la 17 del <a href="/img/revistas/rcci/v11n2/fo0206217.jpg" target="_blank">algoritmo 2</a>), se busca la ruta  donde se encuentre el elemento <em>v2 </em>(l&iacute;neas  2 y  3 del  <a href="/img/revistas/rcci/v11n2/fo0206217.jpg" target="_blank">algoritmo 2</a>),  en este caso:    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></p> <ul>       ]]></body>
<body><![CDATA[<li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Medel(0,2) &rarr; Chile(1,0) &rarr; CONM(1,5) &rarr; </font></p>   </li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Posteriormente,  se obtiene el elemento <em>e</em>1 en la ruta donde se encuentre la  menor prioridad, que no deshaga la actualizaci&oacute;n que origin&oacute; la inconsistencia  y que no origine nuevas inconsistencias en el proceso de reparaci&oacute;n (funci&oacute;n  elemento_min_prio(), l&iacute;nea 4),  que en este ejemplo es Medel. En caso de no  encontrar un elemento <em>e</em>1, el <a href="/img/revistas/rcci/v11n2/fo0206217.jpg" target="_blank">algoritmo 2</a> retorna 0 al  <a href="/img/revistas/rcci/v11n2/fo0106217.jpg" target="_blank">algoritmo 1</a>,  para que contin&uacute;e su ejecuci&oacute;n (l&iacute;neas 5, 14 y 15 del <a href="/img/revistas/rcci/v11n2/fo0206217.jpg" target="_blank">algoritmo 2</a>).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la l&iacute;nea 6, se obtiene la categor&iacute;a (<em>C</em>1) a la que pertenece el  elemento <em>e</em>1, que seg&uacute;n este ejemplo Medel pertenece a la categor&iacute;a JUGADOR. Entre las l&iacute;neas 7 y 8, se obtienen la categor&iacute;a superior (<em>C</em>2) y el elemento en esta categor&iacute;a (<em>e</em>2), que permitir&aacute; computar la reclasificaci&oacute;n de  elementos que devolver&aacute; la consistencia a la dimensi&oacute;n, que para este ejemplo (<em>C</em>2) corresponde a la categor&iacute;a RESIDENCIA y <em>e</em>2 al elemento Espa&ntilde;a. De no existir estos valores, el <a href="/img/revistas/rcci/v11n2/fo0206217.jpg" target="_blank">algoritmo 2</a> retorna 0 al algoritmo 1, para que contin&uacute;e su ejecuci&oacute;n (l&iacute;neas 12 y 13 del <a href="/img/revistas/rcci/v11n2/fo0206217.jpg" target="_blank">algoritmo 2</a>). En definitiva, obtener una r-reparaci&oacute;n con  correcto sentido sem&aacute;ntico, se compone de dos procesos:</font></p> <ul>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El proceso que obtiene los elementos que son  inconsistentes con respecto a restricciones estrictas y permite analizar las  posibles variantes de reparaci&oacute;n (algoritmo 1).</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El proceso que se encarga de computar los  cambios aplicando las heur&iacute;sticas mencionadas anteriormente: </font></p>     <ul>           <li>             ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">No generar nuevas  inconsistencias en el proceso de reparaci&oacute;n.</font></p>       </li>           <li>             <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Elegir en lo  posible, los cambios donde el rollup tenga menor grado de prioridad.</font></p>       </li>           <li>             <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">No modificar  relaciones rollup en la(s) restriccion(es) segura(s)</font>.</p>       </li>         </ul>   </li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Sea <em>n </em>el n&uacute;mero m&aacute;ximo de  elementos de una categor&iacute;a, <em>r </em>el n&uacute;mero m&aacute;ximo de  relaciones rollups entre dos categor&iacute;as, y <em>ms </em>el n&uacute;mero de restricciones estrictas. El costo de comprobar si una  restricci&oacute;n estricta <em>ci </em>&rarr; <em>cj </em>es violada por una dimensi&oacute;n D es <em>O</em>(<em>r</em><sup>2</sup>)  ya  que la relaci&oacute;n <img src="/img/revistas/rcci/v11n2/fo0306217.jpg" alt="fo03" width="18" height="21"> es de tama&ntilde;o <em>O</em>(<em>r</em>) y se necesita comparar cada tupla en ella con todas sus tuplas. A pesar  de que en el peor de los casos <em>r </em>es <em>O</em>(<em>n</em><sup>2</sup>), se espera que <em>r </em>sea <em>O</em>(<em>n</em>) ya que en general el n&uacute;mero de violaciones de una restricci&oacute;n es  peque&ntilde;a, y por lo tanto la mayor&iacute;a de los elementos en una categor&iacute;a se  relacionan con un &uacute;nico elemento en una categor&iacute;a superior.</font></p>     <p align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Luego,  para realizar los cambios que restauran la consistencia es necesario obtener el  o los elementos que hacen rollup a un elemento inconsistente <em>e </em>&isin; <em>ci</em>, sea ese elemento <em>e</em><sup>0</sup> que  pertenece a la categor&iacute;a <em>c<sub>inferior</sub> </em>con <em>c<sub>inferior</sub></em> <img src="/img/revistas/rcci/v11n2/fo0406217.jpg" alt="fo04" width="26" height="21"> (rollup) <em>ci</em>, tal que (<em>e</em>'<em>,e</em>) con <em>e </em>&isin; <em>ci</em>. El n&uacute;mero de rutas y el costo  de computarlas, en el peor de los casos es <em>O</em>(<em>n</em><sup>|C|</sup>),  pero en la mayor&iacute;a de los casos, en que el n&uacute;mero de elementos inconsistentes  es bajo, es de <em>O</em>(|<em>C</em>|). Por lo tanto, el  Algoritmo para obtener una r-reparaci&oacute;n con correcto sentido sem&aacute;ntico se  ejecuta en el peor de los casos en <em>O</em>(<em>ms</em>(<em>r</em><sup>2</sup> + <em>n</em><sup>|C|</sup>)) y en el caso  esperado en <em>O</em>(<em>n</em><sup>2</sup>(<em>ms</em>)).</font></p>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<p><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><B>CONCLUSIONES</B></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Es posible que en determinados  casos se permitan encontrar r-reparaciones con correcto sentido sem&aacute;ntico al  incorporar grados de prioridad y restricciones seguras en las relaciones  rollups, para ello es necesario considerar las siguientes heur&iacute;sticas: (i) no  generar nuevas inconsistencias en el proceso de reparaci&oacute;n, (ii) elegir, en lo  posible, los cambios donde el rollup tenga menor grado de prioridad, (iii) no  modificar rollup en la(s) restriccion(es) segura(s). Sin embargo, es posible  que al existir restricciones seguras no se pueda encontrar una r-reparaci&oacute;n con  correcto sentido sem&aacute;ntico.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la <a href="#f07">Figura 7</a> se indica un caso  donde no es posible computar una r-reparaci&oacute;n con correcto sentido sem&aacute;ntico,  donde la <a href="#f07">Figura 7(a)</a>  se indican las restricciones de prioridad y restricciones seguras del esquema jer&aacute;rquico  mostrado en la <a href="#f07">Figura 1(a)</a>,  la dimensi&oacute;n original reflejada en la<a href="#f07"> Figura 7(b)</a> y la  actualizaci&oacute;n a la dimensi&oacute;n indicada en la <a href="#f07">Figura 5(c)</a>. No es posible,  bajo las restricciones indicadas en la <a href="#f07">Figura 7(a)</a> computar la  r-reparaci&oacute;n reflejada en la <a href="#f07">Figura 7(d)</a>, puesto que cambiar el rollup  L.Chi. y CONM por L.Chi. y UEFA  viola  la restricci&oacute;n segura entre las categor&iacute;as LIGA y CONFEDERACION.</font></p>     <p align="center"><img src="/img/revistas/rcci/v11n2/f0706217.jpg" alt="f07" width="421" height="234"><a name="f07"></a></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Como  trabajo futuro se tiene la experimentaci&oacute;n con grandes vol&uacute;menes de datos y  comparar el rendimiento con diferentes herramientas para reparar dimensiones  inconsistentes.</font></p>     <p>&nbsp;</p>     <p><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><B>A</B></font><font size="3"><strong><font face="Verdana, Arial, Helvetica, sans-serif">GRADECIMIENTOS</font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Ra&uacute;l  Arredondo y Luis Mu&ntilde;oz agradecen a la Universidad de Los Lagos, a trav&eacute;s del  proyecto interno de investigaci&oacute;n R12/15. Adicionalmente Ra&uacute;l Arredondo  agradece a M&oacute;nica Caniup&aacute;n por insertarlo en el &aacute;rea de investigaci&oacute;n en  tem&aacute;ticas relevantes en Ciencias de la Computaci&oacute;n.</font></p>     <p>&nbsp;</p>     <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><B>REFERENCIAS    BIBLIOGR&Aacute;FICAS</B></font>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Foto Afrati and Phokion  Kolaitis. Repair checking in inconsistent databases: algorithms and complexity.  In <em>Proceedings of the 12th International  Conference on Database Theory</em>, ICDT &rsquo;09, pages 31&ndash;41. ACM, 2009.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Alexander Anisimov. Review  of The data warehouse toolkit: the complete guide to dimensional modeling (2nd  edition) by Ralph Kimball, Margy Ross. John Wiley &amp; Sons, Inc. 2002. <em>ACM SIGMOD Record</em>, 32(3):101&ndash;102, 2003.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Marcelo  Arenas and Leopoldo Bertossi. Answer Sets for Consistent Query Answering in  Inconsistent Databases. <em>Theory and  Practice of Logic Programming</em>, 3(4):393 &ndash; 424, 2003.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Marcelo Arenas, Leopoldo  Bertossi, and Jan Chomicki. Consistent query answers in inconsistent databases.  In <em>Proceedings of the eighteenth ACM  symposium on Principles of database systems PODS&rsquo;99</em>, pages 68&ndash;79. ACM  Press, 1999.</font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Leopoldo  Bertossi. Consistent query answering in databases. <em>ACM SIGMOD Record</em>, 35(2):68, June 2006.    </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Loreto Bravo and Leopoldo Bertossi. Consistent query  answering under inclusion dependencies. In <em>Proceedings  of the 2004 conference of the Centre for Advanced Studies on Collaborative  research</em>, CASCON &rsquo;04, pages 202&ndash;216. IBM Press, 2004.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">M&oacute;nica Caniup&aacute;n and  Alejandro Vaisman. Repairing dimension hierarchies under inconsistent  reclassification. In <em>ER Workshops</em>,  pages 75&ndash;85, 2011.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">M&oacute;nica Caniup&aacute;n, Loreto  Bravo, and Carlos Hurtado. Repairing inconsistent dimensions in data  warehouses. <em>Data &amp; Knowledge  Engineering</em>, 79-80:17&ndash;39, 2012.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">M&oacute;nica Caniup&aacute;n, Alejandro  Vaisman, and Ra&uacute;l Arredondo. Efficient repair of dimension hierarchies under  inconsistent reclassification. <em>Data &amp;  Knowledge Engineering</em>, 95:1&ndash;22, 2015.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Surajit Chaudhuri and  Umeshwar Dayal. An overview of data warehousing and OLAP technology. <em>ACM SIGMOD Record</em>, 26(1):65&ndash;74, 1997.  ISSN 0163-5808.</font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Carlos Hurtado and Claudio  Gutierrez. <em>Data Warehouses and OLAP:  Concepts, Architectures and Solutions</em>, chapter Handling Structural  Heterogeneity in OLAP. Idea  Group, Inc, 2007.    </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Carlos Hurtado, Alberto Mendelzon, and Alejandro  Vaisman. Maintaining Data Cubes under Dimension Updates. In <em>Proceedings of the 15th International  Conference on Data Engineering</em>, ICDE &rsquo;99, pages 346&mdash;-. IEEE Computer  Society, 1999. ISBN 0-7695-0071-4.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Carlos Hurtado, Claudio Gutierrez, and Alberto  Mendelzon. Capturing summarizability with integrity constraints  in OLAP. <em>ACM Transactions on Database  Systems</em>, 30(3):854&ndash;886, 2005.</font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Ralph  Kimball. Slowly changing dimensions. <em>DBMS  Magazine</em>, 9(4):14, 1996.    </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Hans-Joachim Lenz and Arie  Shoshani. Summarizability in olap and statistical data bases. In <em>SSDBM</em>, pages 132&ndash;143, 1997.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Andrei Lopatenko and Leopoldo Bertossi.  Complexity of consistent query answering in databases under cardinalitybased  and incremental repair semantics. In <em>Proceedings  of the 11th international conference on Database Theory</em>, ICDT&rsquo;07, pages  179&ndash;193. Springer-Verlag, 2006. ISBN 3-540-69269-X, 978-3-540-69269-0. </font></p>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<p name="_ENREF_1">&nbsp;</p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Recibido: 21/04/2016    <br> Aceptado: 16/02/2017</font></p>      ]]></body><back>
<ref-list>
<ref id="B1">
<nlm-citation citation-type="">
<collab>Foto Afrati and Phokion Kolaitis</collab>
<source><![CDATA[Repair checking in inconsistent databases: algorithms and complexity.]]></source>
<year>2009</year>
<page-range>31-41</page-range></nlm-citation>
</ref>
<ref id="B2">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Anisimov]]></surname>
<given-names><![CDATA[Alexander]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Review of The data warehouse toolkit: the complete guide to dimensional modeling (2nd edition) by Ralph Kimball, Margy Ross.]]></article-title>
<source><![CDATA[]]></source>
<year>2003</year>
<volume>32</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>101-102</page-range></nlm-citation>
</ref>
<ref id="B3">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Arenas]]></surname>
<given-names><![CDATA[Marcelo]]></given-names>
</name>
<name>
<surname><![CDATA[Bertossi]]></surname>
<given-names><![CDATA[Leopoldo]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Answer Sets for Consistent Query Answering in Inconsistent Databases]]></article-title>
<source><![CDATA[]]></source>
<year>2003</year>
<volume>3</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>393 - 424</page-range></nlm-citation>
</ref>
<ref id="B4">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Arenas]]></surname>
<given-names><![CDATA[Marcelo]]></given-names>
</name>
<name>
<surname><![CDATA[Bertossi]]></surname>
<given-names><![CDATA[Leopoldo]]></given-names>
</name>
<name>
<surname><![CDATA[Chomicki]]></surname>
<given-names><![CDATA[Jan]]></given-names>
</name>
</person-group>
<source><![CDATA[Consistent query answers in inconsistent databases.]]></source>
<year>1999</year>
<page-range>68-79</page-range><publisher-name><![CDATA[ACM Press]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B5">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bertossi]]></surname>
<given-names><![CDATA[Leopoldo]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Consistent query answering in databases]]></article-title>
<source><![CDATA[]]></source>
<year>June</year>
<month> 2</month>
<day>00</day>
<volume>35</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>68</page-range></nlm-citation>
</ref>
<ref id="B6">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bravo]]></surname>
<given-names><![CDATA[Loreto]]></given-names>
</name>
<name>
<surname><![CDATA[Bertossi]]></surname>
<given-names><![CDATA[Leopoldo]]></given-names>
</name>
</person-group>
<source><![CDATA[Consistent query answering under inclusion dependencies.]]></source>
<year>2004</year>
<page-range>202-216</page-range><publisher-name><![CDATA[IBM Press]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B7">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Caniupán]]></surname>
<given-names><![CDATA[Mónica]]></given-names>
</name>
<name>
<surname><![CDATA[Vaisman]]></surname>
<given-names><![CDATA[Alejandro]]></given-names>
</name>
</person-group>
<source><![CDATA[Repairing dimension hierarchies under inconsistent reclassification]]></source>
<year>2011</year>
<page-range>75-85</page-range></nlm-citation>
</ref>
<ref id="B8">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Caniupán]]></surname>
<given-names><![CDATA[Mónica]]></given-names>
</name>
<name>
<surname><![CDATA[Bravo]]></surname>
<given-names><![CDATA[Loreto]]></given-names>
</name>
<name>
<surname><![CDATA[Hurtado]]></surname>
<given-names><![CDATA[Carlos]]></given-names>
</name>
</person-group>
<source><![CDATA[Repairing inconsistent dimensions in data warehouses]]></source>
<year>2012</year>
<volume>79-80</volume>
<page-range>17-39</page-range><publisher-name><![CDATA[Data & Knowledge Engineering]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B9">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Caniupán]]></surname>
<given-names><![CDATA[Mónica]]></given-names>
</name>
<name>
<surname><![CDATA[Vaisman]]></surname>
<given-names><![CDATA[Alejandro]]></given-names>
</name>
<name>
<surname><![CDATA[Arredondo]]></surname>
<given-names><![CDATA[Raúl]]></given-names>
</name>
</person-group>
<source><![CDATA[Efficient repair of dimension hierarchies under inconsistent reclassification.]]></source>
<year>2015</year>
<volume>95</volume>
<page-range>1-22</page-range><publisher-name><![CDATA[Data & Knowledge Engineering]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B10">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Chaudhuri]]></surname>
<given-names><![CDATA[Surajit]]></given-names>
</name>
<name>
<surname><![CDATA[Dayal]]></surname>
<given-names><![CDATA[Umeshwar]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An overview of data warehousing and OLAP technology]]></article-title>
<source><![CDATA[]]></source>
<year>1997</year>
<volume>26</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>65-74</page-range></nlm-citation>
</ref>
<ref id="B11">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hurtado]]></surname>
<given-names><![CDATA[Carlos]]></given-names>
</name>
<name>
<surname><![CDATA[Gutierrez]]></surname>
<given-names><![CDATA[Claudio]]></given-names>
</name>
</person-group>
<source><![CDATA[Data Warehouses and OLAP: Concepts, Architectures and Solutions, chapter Handling Structural Heterogeneity in OLAP]]></source>
<year>2007</year>
<publisher-name><![CDATA[Idea Group]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B12">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hurtado]]></surname>
<given-names><![CDATA[Carlos]]></given-names>
</name>
<name>
<surname><![CDATA[Mendelzon]]></surname>
<given-names><![CDATA[Alberto]]></given-names>
</name>
<name>
<surname><![CDATA[Vaisman]]></surname>
<given-names><![CDATA[Alejandro]]></given-names>
</name>
</person-group>
<source><![CDATA[Maintaining Data Cubes under Dimension Updates.]]></source>
<year>1999</year>
<page-range>pages 346</page-range><publisher-name><![CDATA[IEEE Computer Society]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B13">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hurtado]]></surname>
<given-names><![CDATA[Carlos]]></given-names>
</name>
<name>
<surname><![CDATA[Gutierrez]]></surname>
<given-names><![CDATA[Claudio]]></given-names>
</name>
<name>
<surname><![CDATA[Mendelzon]]></surname>
<given-names><![CDATA[Alberto]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Capturing summarizability with integrity constraints in OLAP.]]></article-title>
<source><![CDATA[]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B14">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kimball]]></surname>
<given-names><![CDATA[Ralph]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Slowly changing dimensions]]></article-title>
<source><![CDATA[]]></source>
<year>1996</year>
<volume>9</volume>
<numero>4</numero>
<issue>4</issue>
</nlm-citation>
</ref>
<ref id="B15">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Lenz]]></surname>
<given-names><![CDATA[Hans-Joachim]]></given-names>
</name>
<name>
<surname><![CDATA[Shoshani]]></surname>
<given-names><![CDATA[Arie]]></given-names>
</name>
</person-group>
<source><![CDATA[Summarizability in olap and statistical data bases]]></source>
<year>1997</year>
<page-range>132-143</page-range></nlm-citation>
</ref>
<ref id="B16">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Lopatenko]]></surname>
<given-names><![CDATA[Andrei]]></given-names>
</name>
<name>
<surname><![CDATA[Bertossi]]></surname>
<given-names><![CDATA[Leopoldo]]></given-names>
</name>
</person-group>
<source><![CDATA[Complexity of consistent query answering in databases under cardinalitybased and incremental repair semantics.]]></source>
<year>2006</year>
<page-range>179-193</page-range><publisher-name><![CDATA[Springer-Verlag]]></publisher-name>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
