<?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>0120-6230</journal-id>
<journal-title><![CDATA[Revista Facultad de Ingeniería Universidad de Antioquia]]></journal-title>
<abbrev-journal-title><![CDATA[Rev.fac.ing.univ. Antioquia]]></abbrev-journal-title>
<issn>0120-6230</issn>
<publisher>
<publisher-name><![CDATA[Facultad de Ingeniería, Universidad de Antioquia]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0120-62302010000500017</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Detección y corrección de inconsistencias de referencias cíclicas en esquemas lógicos de bases de datos]]></article-title>
<article-title xml:lang="en"><![CDATA[Detection and correction of inconsistencies of cyclical references in database logical schemas]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[García]]></surname>
<given-names><![CDATA[Carlos]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Rodríguez]]></surname>
<given-names><![CDATA[Abel]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Cabrera]]></surname>
<given-names><![CDATA[Norma]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[González]]></surname>
<given-names><![CDATA[Luisa]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Central de Las Villas Departamento de Ciencia de la Computación ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Cuba</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>09</month>
<year>2010</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>09</month>
<year>2010</year>
</pub-date>
<numero>55</numero>
<fpage>165</fpage>
<lpage>173</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S0120-62302010000500017&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S0120-62302010000500017&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S0120-62302010000500017&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[La transformación de esquemas conceptuales a esquemas lógicos llevada a cabo por herramientas de diseño de bases de datos puede traer como resultado esquemas lógicos que presenten algún tipo de inconsistencia y por consiguiente los esquemas físicos tendrán problemas de implementación. En este trabajo se analiza un tipo de inconsistencia (nombrada por los autores como "inconsistencia de referencias cíclicas") que puede presentarse en el esquema lógico de la base de datos y se propone un algoritmo para su detección y corrección. Este algoritmo puede ser implementado en herramientas de diseño de bases de datos.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[The transformations of conceptual schemes into logical schemes carried out by database design tools may result in logical schemes that present some kind of inconsistence and therefore the physical schemes will have implementation problems. This work presents an algorithm that allows detecting and correcting these inconsistencies in the logical schema. This algorithm can be implemented in a database design tool.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[modelo entidad-relación]]></kwd>
<kwd lng="es"><![CDATA[esquema conceptual]]></kwd>
<kwd lng="es"><![CDATA[esquema lógico]]></kwd>
<kwd lng="es"><![CDATA[inconsistencias en bases de datos]]></kwd>
<kwd lng="es"><![CDATA[restricciones de integridad referencial]]></kwd>
<kwd lng="en"><![CDATA[entity-relationship model]]></kwd>
<kwd lng="en"><![CDATA[conceptual schema]]></kwd>
<kwd lng="en"><![CDATA[logical schema]]></kwd>
<kwd lng="en"><![CDATA[database inconsistencies]]></kwd>
<kwd lng="en"><![CDATA[referential integrity constraints]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="center"><font face="Verdana" size="4"> <b>Detecci&oacute;n y correcci&oacute;n de inconsistencias de referencias c&iacute;clicas en esquemas l&oacute;gicos de bases de datos</b></font></p>      <p align="center"><font face="Verdana" size="4"> <b>Detection and correction of inconsistencies of cyclical references in database logical schemas</b></font></p>       <p> <font face="Verdana" size="2"> <i>Carlos Garc&iacute;a <sup>*</sup>, Abel Rodr&iacute;guez, Norma Cabrera, Luisa Gonz&aacute;lez</i></font></p>      <p><font face="Verdana" size="2"> Departamento de Ciencia de la Computaci&oacute;n, Universidad Central de Las Villas, Carretera a Camajuan&iacute; Km. 5%, Las Antillas, CP 54830, Cuba.    <br>         <br> </font></p>   <hr noshade size="1">      <p><font face="Verdana" size="3"> <b>Resumen</b></font></p>      <p><font face="Verdana" size="2">La transformaci&oacute;n de esquemas conceptuales  a esquemas l&oacute;gicos llevada a cabo por herramientas de dise&ntilde;o de bases de datos  puede traer como resultado esquemas l&oacute;gicos que presenten alg&uacute;n tipo de  inconsistencia y por consiguiente los esquemas f&iacute;sicos tendr&aacute;n problemas de  implementaci&oacute;n. En este trabajo se analiza un tipo de inconsistencia (nombrada  por los autores como &quot;inconsistencia de referencias c&iacute;clicas&quot;) que  puede presentarse en el esquema l&oacute;gico de la base de datos y se propone un  algoritmo para su detecci&oacute;n y correcci&oacute;n. Este algoritmo puede ser implementado  en herramientas de dise&ntilde;o de bases de datos.</font></p>      <p><font face="Verdana" size="2"><b>Palabras clave: </b> modelo entidad-relaci&oacute;n, esquema  conceptual, esquema l&oacute;gico, inconsistencias en bases de datos, restricciones de  integridad referencial </font></p>  <hr noshade size="1">      <p><font face="Verdana" size="3"> <b>Abstract</b></font></p>      ]]></body>
<body><![CDATA[<p><font face="Verdana" size="2">The transformations of conceptual schemes into logical schemes carried  out by database design tools may result in logical schemes that present some  kind of inconsistence and therefore the physical schemes will have  implementation problems. This work presents an algorithm that allows detecting  and correcting these inconsistencies in the logical schema. This algorithm can  be implemented in a database design tool. </font></p>      <p><font face="Verdana" size="2"><b>Keywords: </b>entity-relationship  model, conceptual schema, logical schema, database inconsistencies, referential  integrity constraints</font></p>  <hr noshade size="1">      <p><font face="Verdana" size="3"><b>Introducci&oacute;n</b></font>      <p><font face="Verdana" size="2">El dise&ntilde;o de una base de datos  es un proceso, que a pesar de la experiencia del dise&ntilde;ador y del empleo de  herramientas CASE (Computer  Aided Software Engineering),  no est&aacute; exento de errores e insuficiencias, lo que puede comprometer la calidad  de los esquemas generados, en particular del esquema f&iacute;sico. Por tanto es  deseable detectar estos errores e insuficiencias en las fases iniciales del  dise&ntilde;o. En este sentido se han publicado numerosos trabajos cuyo objetivo es  detectar inconsistencias en esquemas conceptuales basados en las restricciones  de cardinalidad. Algunos de estos m&eacute;todos s&oacute;lo deciden si el conjunto de  restricciones asociado al esquema conceptual puede ser satisfecho o no [1, 2],  otros m&eacute;todos permiten determinar los conjuntos de restricciones de  cardinalidad que hacen que el esquema conceptual sea inconsistente [3-10] y en  algunos casos se propone al dise&ntilde;ador un plan de posibles correcciones a  realizar en el esquema conceptual [11, 12]. Con relaci&oacute;n a la detecci&oacute;n de  inconsistencias en esquemas l&oacute;gicos, la producci&oacute;n cient&iacute;fica no ha sido tan  numerosa y ha estado enfocada principalmente al empleo de la teor&iacute;a de la  normalizaci&oacute;n [13-17] para prevenir inconsistencias en los datos, de modo que  la base de datos pueda normalizarse hasta el grado deseado, garantiz&aacute;ndose al  menos que no ocurran anomal&iacute;as de actualizaci&oacute;n [18].    <br>    <br> Como resultado del estudio de  los m&eacute;todos de detecci&oacute;n de inconsistencias en esquemas conceptuales, se pudo  comprobar con el empleo de casos de estudio, que al transformar esquemas  conceptuales consistentes era posible obtener un esquema l&oacute;gico con esquemas de  relaci&oacute;n que presentaban un tipo de inconsistencia que los autores de este trabajo  han nombrado como &quot;inconsistencia de referencias c&iacute;clicas&quot; las que  provocan problemas en el momento de la inserci&oacute;n de los datos en la base de  datos. La principal contribuci&oacute;n de este art&iacute;culo es presentar un algoritmo  para validar esquemas l&oacute;gicos, que permite detectar y corregir inconsistencias  de referencias c&iacute;clicas que se presenten a este nivel y que puede ser  implementado en una herramienta CASE de dise&ntilde;o de bases de datos.</font></p>      <br>    <p><font face="Verdana" size="2"><b><i>Inconsistencias en el esquema l&oacute;gico de una base de datos</i></b></font></p>     <p><font face="Verdana" size="2">Para introducir el problema  del tipo de inconsistencia que trata este art&iacute;culo, se mostrar&aacute;n varios  ejemplos y se har&aacute; una caracterizaci&oacute;n del caso m&aacute;s general. Los diagramas  Entidad- Relaci&oacute;n que se muestran utilizan la notaci&oacute;n de Elmasri [18], en la  cual el rect&aacute;ngulo representa los conjuntos de entidades y el rombo a los  conjuntos de interrelaciones. La cardinalidad m&aacute;xima de una interrelaci&oacute;n se  indica con un &quot;1&quot; o con la letra &quot;M&quot;. Para la cardinalidad  m&iacute;nima una l&iacute;nea simple indica participaci&oacute;n opcional y una l&iacute;nea doble  participaci&oacute;n obligatoria de las entidades en la interrelaci&oacute;n. En la notaci&oacute;n  de Elmasri la cardinalidad m&aacute;xima y la cardinalidad m&iacute;nima se expresan mediante  la notaci&oacute;n  look across y look here [19] respectivamente. La  transformaci&oacute;n del esquema conceptual al esquema l&oacute;gico se hace siguiendo las  reglas de transformaci&oacute;n de Elmasri [18], aunque se pudieran haber aplicado  otras como las propuestas por Teorey [20], Jajodia [21], De Miguel [22] o  Ponniah [23].    <br> El diagrama Entidad-Relaci&oacute;n  (ER) de la figura 1 modela el hecho de que un empleado tiene que ser  supervisado por otro empleado y que un empleado puede supervisar a ninguno, uno  o varios empleados.</font></p>      ]]></body>
<body><![CDATA[<p align="center"><img src="/img/revistas/rfiua/n55/n55a17i01.gif"><a name="figura1"></a></p>      <p><font face="Verdana" size="2"><b>Figura 1</b> Diagrama ER con una interrelaci&oacute;n recursiva</font></p>     <p><font face="Verdana" size="2">Al transformar el esquema  conceptual se obtiene el siguiente esquema de relaci&oacute;n, en el cual como  convenio se adoptar&aacute; que las llaves primarias estar&aacute;n subrayadas y las llaves  extranjeras estar&aacute;n en it&aacute;lica:    <br> EMPLOYEE (EMPID,  EMPNAME, SUPERVISOR)    <br> En  el esquema anterior la llave extranjera SUPERVISOR no permite valores nulos  debido a la participaci&oacute;n obligatoria del conjunto entidad EMPLOYEE en la  interrelaci&oacute;n supervise. Al generar el c&oacute;digo SQL correspondiente al esquema de  relaci&oacute;n EMPLOYEE se obtiene lo siguiente:</font></p>      <p align="center"><img src="/img/revistas/rfiua/n55/n55a17cod1.gif"><a name="codigo1"></a></p>     <p><font face="Verdana" size="2">Como puede observarse no es  posible insertar un primer empleado sin antes haber insertado al empleado  supervisor, por lo que se presenta un problema de implementaci&oacute;n y no es  posible insertar una fila en la tabla EMPLOYEE. Es importante destacar que el  problema de implementaci&oacute;n expuesto es consecuencia de un esquema de relaci&oacute;n  inconsistente.    <br>   En  el diagrama de la figura 2 se modelan los hechos de que los empleados tienen  que pertenecer a un departamento y que un departamento tiene que ser dirigido  por un empleado.</font></p>        <p align="center"><img src="/img/revistas/rfiua/n55/n55a17i02.gif"><a name="figura2"></a></p>      <p><font face="Verdana" size="2"><b>Figura 2</b> Diagrama ER que forma un ciclo entre dos conjuntos de entidades</font></p>     ]]></body>
<body><![CDATA[<p><font face="Verdana" size="2">Al transformar el esquema  conceptual se obtienen los siguientes esquemas de relaci&oacute;n:    <br> EMPLOYEE( EMPID, EMPNAME, DEPTNO ) DEPARTMENT( DEPTNO, DEPTNAME, DIRECTOR )     <br> En este caso, debido a la  participaci&oacute;n obligatoria de los conjuntos entidad DEPARTMENT y EMPLOYEE en las  interrelaciones DIRECTED_ BY y MEMBER_OF respectivamente, las llaves  extranjeras correspondientes no permiten valores nulos, lo cual se expresa a  trav&eacute;s del siguiente c&oacute;digo SQL:</font></p>      <p><img src="/img/revistas/rfiua/n55/n55a17cod2.gif"><a name="codigo2"></a></p>     <p><font face="Verdana" size="2">Con la restricci&oacute;n de  integridad NOT NULL sobre el atributo EMPID en la tabla DEPARTMENT, no es  posible insertar un departamento a menos que se haya insertado el empleado jefe  en la tabla EMPLOYEE; por otro lado con la restricci&oacute;n de integridad NOT NULL  sobre el atributo DEPTNO en la tabla EMPLOYEE, no es posible insertar un  empleado a menos que se haya insertado el departamento al que pertenece el  mismo. Como puede observarse hay una dependencia mutua que genera un conflicto  que no permite la inserci&oacute;n de tuplas en ninguno de los dos esquemas. Este tipo  de inconsistencia en los esquemas de relaci&oacute;n genera un problema de  implementaci&oacute;n dado por la presencia de llaves extranjeras con referencias  mutuas y que no admiten valores nulos.    <br>    <br> En el diagrama de la figura 3  se modelan los siguientes hechos: los empleados tienen que pertenecer a un  departamento; un departamento tiene que financiar un proyecto y un proyecto  tiene que ser apoyado por un empleado.</font></p>      <p align="center"><img src="/img/revistas/rfiua/n55/n55a17i03.gif"><a name="figura3"></a></p>      <p><font face="Verdana" size="2"><b>Figura 3</b> Entorno de red AOLS</font></p>     <p><font face="Verdana" size="2">Transformando el esquema  conceptual se obtienen los siguientes esquemas de relaciones:</font></p>    ]]></body>
<body><![CDATA[<br>      <p><img src="/img/revistas/rfiua/n55/n55a17cod3.gif"><a name="codigo3"></a></p>      <p><font face="Verdana" size="2">N&oacute;tese que las  llaves extranjeras de los esquemas obtenidos no admiten valores nulos debido a  la participaci&oacute;n obligatoria de los conjuntos de entidades del lado  &quot;mucho&quot; de la interrelaci&oacute;n.</font></p>    <br>    <br>      <p><img src="/img/revistas/rfiua/n55/n55a17cod4.gif"><a name="codigo4"></a></p>     <p><img src="/img/revistas/rfiua/n55/n55a17cod5.gif"><a name="codigo5"></a></p>     <p><font face="Verdana" size="2">Como se puede notar en el  c&oacute;digo SQL anterior, las llaves extranjeras de los esquemas tienen la  restricci&oacute;n NOT NULL y al mismo tiempo existe una referencia c&iacute;clica entre las  tablas, de manera que no es posible insertar una fila en ninguna de las tres  tablas, por lo que tambi&eacute;n se presenta un problema de implementaci&oacute;n debido a  esquemas de relaciones inconsistentes.    <br> Los  ejemplos mostrados anteriormente permiten concluir que a pesar de que un  diagrama Entidad- Relaci&oacute;n sea estructuralmente v&aacute;lido este pudiera generar un  esquema l&oacute;gico con inconsistencias de referencias c&iacute;clicas en dependencia del  conjunto de reglas de transformaci&oacute;n que se le apliquen a los esquemas conceptuales.</font></p>      <br>     ]]></body>
<body><![CDATA[<p><font face="Verdana" size="2"><b><i>Caracterizaci&oacute;n de la inconsistencia de referencias c&iacute;clicas</i></b></font></p> <font face="Verdana" size="2">Sean R<sub>1</sub> R<sub>2</sub>,...,  R<sub>n</sub> esquemas de relaciones de un esquema l&oacute;gico L, la inconsistencia  de referencias c&iacute;clicas se presenta en el esquema l&oacute;gico de la base de datos si  existe una llave extranjera en R que no admite valor nulo y que hace referencia  a una llave primaria en R<sub>i+1</sub>, para i=l,...,n-l; y tambi&eacute;n existe una  llave extranjera en Rn que no admite valor nulo y que hace  referencia a una llave primaria en R<sub>l</sub>, donde R<sub>n</sub> y R<sub>l</sub>  no son necesariamente diferentes.    <br>    <br> De esta caracterizaci&oacute;n se  puede concluir que este tipo de inconsistencia se puede presentar en el esquema  l&oacute;gico cuando existen referencias c&iacute;clicas entre esquemas de relaci&oacute;n. Estas  referencias pueden ser entre un mismo esquema, entre dos esquemas o entre n esquemas.    <br> Algunas soluciones desde el  punto de vista de implementaci&oacute;n y de las facilidades aportadas por algunos  Sistemas de Gesti&oacute;n de Bases de Datos Relacionales (SGBDR) pueden ser:  <ol>       <li>CODASYL  [24], por ejemplo, proporciona una soluci&oacute;n para las referencias c&iacute;clicas entre  esquemas.</li>       <li>Un  esquema de relaci&oacute;n con una referencia a si mismo puede permitir la inserci&oacute;n  de filas si se asume que la primera fila tenga una referencia a si misma.</li>       <li>Las  referencias c&iacute;clicas entre dos o m&aacute;s esquemas pueden ser resueltas a nivel del  lenguaje SQL mediante transacciones donde una restricci&oacute;n de integridad  referencial puede ser desactivada hasta que se haya completado la transacci&oacute;n.  Esto se conoce como el modo SQL diferido (SQL deferred mode) que est&aacute; incluido en el est&aacute;ndar  SQL- 1992 [25].</li>     </ol> La soluci&oacute;n l no est&aacute; presente  en la mayor&iacute;a de los SGBDR comerciales. La soluci&oacute;n 2 para las referencias  c&iacute;clicas a un mismo esquema es posible y habr&aacute; que tener en cuenta que la  inserci&oacute;n de la primera fila debe tener una referencia a si misma. Aunque la  soluci&oacute;n 3 es una facilidad incluida en el est&aacute;ndar SQL-92, el modo SQL  diferido no se encuentra implementado en todos los SGBDR.    <br>   A partir de este an&aacute;lisis, los  autores de este art&iacute;culo proponen una soluci&oacute;n que es independiente del SGBDR a  utilizar en la implementaci&oacute;n de la base de datos. En este caso se consideraron  dos alternativas: realizar la detecci&oacute;n de inconsistencias en el esquema  conceptual o realizarla en el esquema l&oacute;gico.    <br>    ]]></body>
<body><![CDATA[<br>   Al valorar la detecci&oacute;n de  este tipo de inconsistencia en el esquema conceptual, se pudo comprobar que  incluso ante la presencia de esquemas conceptuales estructuralmente v&aacute;lidos, es  posible obtener un esquema l&oacute;gico de la base de datos con inconsistencias de  referencias c&iacute;clicas y lo que algunas ocasiones tambi&eacute;n depende del conjunto de  reglas de transformaci&oacute;n se que apliquen para obtener el esquema l&oacute;gico. Por  esta raz&oacute;n la propuesta est&aacute; basada en la segunda alternativa, es decir,  detectar el tipo de inconsistencia en el esquema l&oacute;gico. La soluci&oacute;n tambi&eacute;n  incluye la correcci&oacute;n de las inconsistencias tratando de mantener la sem&aacute;ntica  de las interrelaciones expresadas en el esquema conceptual. La correcci&oacute;n  consiste modificar y crear esquemas de relaci&oacute;n que eliminen la inconsistencia  de referencias c&iacute;clicas, lo cual ser&aacute; explicado a continuaci&oacute;n.    <br>    <br>   Considere de nuevo el ejemplo  de la figura 2 y el esquema l&oacute;gico obtenido:    <br>    <br>   EMPLOYEE( EMPID, EMPNAME, DEPTNO ) DEPARTMENT(DEPTNO, DEPTNAME, DIRECTOR)     <br>    <br>   La inconsistencia de este  esquema es posible comprobarla a trav&eacute;s del an&aacute;lisis de los estados    <br>   s<sub>1</sub> y s<sub>2</sub>: s<sub>1</sub>= { r employee = [e1, e1name d1L r     <br>   department = [d1,  d1name e1] }; s2 = { r employee =    [e2, e2name, null], r <sub>department</sub> = [d2, d2name, e2] }. El estado S<sub>1</sub> no es  posible satisfacerlo debido a las referencias mutuas de las llaves extranjeras  de los esquemas EMPLOYEE y DEPARTMENT. El estado S2 tampoco puede  ser satisfecho debido a que la llave extranjera del esquema EMPLOYEE no admite  valores nulos.       <br> Para eliminar esta  inconsistencia se propone crear un nuevo esquema de relaci&oacute;n en lugar de una de  las restricciones de integridad referencial, por ejemplo se seleccionar&aacute; la  llave extranjera que representa a la interrelaci&oacute;n MEMBER_OF y en su lugar se  crear&aacute; un nuevo esquema con el mismo nombre, de manera que el esquema l&oacute;gico  resultante ser&iacute;a:</font></p> </p>      ]]></body>
<body><![CDATA[<p><img src="/img/revistas/rfiua/n55/n55a17cod6.gif"><a name="codigo6"></a></p>     <p><font face="Verdana" size="2">Considere ahora el siguiente estado: S<sub>1</sub> = { r <sub>EMPLOYEE</sub> =  [el, elname], r <sub>department</sub> = [d1,  dlname, el], r member_of =  [el, dl]}. Como puede  observarse este estado es consistente y se logra insertando primero una tupla  en el esquema EMPLOYEE y luego insertando una tupla en el esquema DEPARTMENT.  Una vez que se tenga al menos una tupla en los esquemas EMPLOYEE y DEPARTMENT  entonces es posible insertar una tupla en el esquema MEMBER_OF.    <br> La soluci&oacute;n planteada evita el  tipo de inconsistencia objeto de estudio en este art&iacute;culo, a la vez que permite  reducir el n&uacute;mero de nuevos esquemas de relaci&oacute;n a generar y tambi&eacute;n reducir el  n&uacute;mero de tuplas con valores nulos.</font></p>      <br>     <p><font face="Verdana" size="2"><b><i>Detecci&oacute;n de inconsistencias de referencias c&iacute;clicas en esquemas l&oacute;gicos</i></b></font></p>     <p><font face="Verdana" size="2">En esta secci&oacute;n se describe el  algoritmo de detecci&oacute;n y correcci&oacute;n de inconsistencias de referencias c&iacute;clicas  en esquemas l&oacute;gicos. El algoritmo utiliza un multigrafo dirigido para  representar el conjunto de esquemas de relaciones generados a partir del  esquema conceptual. El algoritmo selecciona una soluci&oacute;n que respeta el  criterio de tener la menor cantidad de esquemas posibles, al generar esquemas  independientes con el objetivo de eliminar las inconsistencias, y de esta  manera representar m&aacute;s adecuadamente la sem&aacute;ntica del problema modelado.</font></p>      <br>     <p><font face="Verdana" size="2"><i>Representaci&oacute;n de un esquema l&oacute;gico</i></font></p> <font face="Verdana" size="2">Como representaci&oacute;n del  esquema l&oacute;gico se propone como estructura de datos un multigrafo dirigido.  Seg&uacute;n [26] un grafo dirigido G = (V, A, f) consta de un conjunto no vac&iacute;o V  denominado conjunto de v&eacute;rtices del grafo, un conjunto A de aristas del grafo y  una correspondencia f del conjunto de aristas A en un conjunto de pares  ordenados de V. La funci&oacute;n f se define como sigue: f : A &egrave;  VxV ; e &epsilon; A ; f(e) = (u,v) donde u,veV.    <br> La representaci&oacute;n de un  esquema l&oacute;gico de una base de datos mediante un multigrafo dirigido es directa  si se asume que los v&eacute;rtices son los esquemas de relaciones y las aristas  dirigidas indican la relaci&oacute;n que existe entre la llave extranjera de un  esquema de relaci&oacute;n con su correspondiente llave primaria en el otro esquema de  relaci&oacute;n.    <br> Sea G<sub>EL</sub>=(V,A, f) un  multigrafo dirigido para la representaci&oacute;n del esquema l&oacute;gico de una base de  datos, donde: <ol>       ]]></body>
<body><![CDATA[<li>V  es el conjunto de v&eacute;rtices que representan los esquemas de relaci&oacute;n generados a  partir del esquema conceptual.</li>       <li>A  es el conjunto de aristas del grafo que se construyen a partir de la funci&oacute;n f.</li>       <li>f(e)=(u,v)  la arista e representa que el esquema de relaci&oacute;n asociado al v&eacute;rtice u tiene  una llave extranjera cuya llave primaria corresponde al esquema de relaci&oacute;n  asociado al v&eacute;rtice v, donde u y v son no necesariamente diferentes.</li>       <li>La  arista e tiene pesos representados por FK_ constraint y Involvement, cuyos posibles valores son:</li>     </ol> </font>      <p><img src="/img/revistas/rfiua/n55/n55a17e01.gif"><a name="ecuacion1"></a></p>      <p><font face="Verdana" size="2"><i>Involvement:</i> Contiene un valor entero mayor o  igual a cero que indica la cantidad de veces que la arista e participa en alg&uacute;n ciclo simple de  longitud n.</font> </p> </p>      <p><font face="Verdana" size="2"><i>Algoritmo de detecci&oacute;n de inconsistencias</i></font></p>     <p><font face="Verdana" size="2">La representaci&oacute;n del esquema  l&oacute;gico mediante un grafo tiene como ventaja que permite el uso de estructuras  de datos y algoritmos conocidos en la literatura.    <br> Algoritmo:    ]]></body>
<body><![CDATA[<br>    <br> PASO 1: Creaci&oacute;n del grafo G<sub>EL</sub>  que representa al esquema l&oacute;gico.    <br> PASO 2: Detecci&oacute;n  de inconsistencias en el grafo Gel.    <br> PASO  3: Correcci&oacute;n de las inconsistencias en el    <br> grafo G<sub>el</sub>.    <br>    <br> A continuaci&oacute;n se describe  cada paso del algoritmo propuesto.    <br>    <br> PASO 1. El grafo G<sub>EL</sub>  es creado cuando se realiza el proceso de transformaci&oacute;n del esquema conceptual  al esquema l&oacute;gico. Para cada arista se establece el valor del peso FK_constraint indicando si la llave extranjera  admite o no el valor nulo.    <br>    ]]></body>
<body><![CDATA[<br>    <br> PASO 2. Se buscan todos los  ciclos de longitud n, actualizando el peso Involvement de las aristas. Para cada uno de  los ciclos encontrados, si todas las aristas que forman parte del ciclo tienen  el valor del peso  FK_constraint indicando  que no admiten el valor nulo, entonces se marca ese ciclo como inconsistente.    <br>    <br> PASO 3. El proceso de  correcci&oacute;n distingue entre los lazos o bucles y los ciclos simples de longitud  mayor o igual que dos que han sido marcados como inconsistentes.    <br>    <br> PASO 3.1. Para cada arista e de un v&eacute;rtice u que sea un lazo se hace lo  siguiente: eliminar del v&eacute;rtice  u los atributos que  forman la llave extranjera y que hacen referencia al propio esquema a trav&eacute;s de  la arista  e; crear un nuevo  v&eacute;rtice w con aristas f(e')=(w,u) y f(e'')= (w,u); insertar en el esquema w una llave extranjera por cada  arista  e'y e&quot; que haga  referencia a la llave primaria del esquema u y definir una de las dos llaves  extranjeras como llave primaria del esquema w; actualizar los pesos de las  aristas e' y e''; eliminar la arista e.    <br>    <br> PASO 3.2. Para todos los  ciclos simples de longitud mayor o igual que dos hacer lo siguiente: buscar una  arista e con valor m&aacute;ximo en el peso Involvement y eliminar del v&eacute;rtice u la llave extranj era que hace  referencia al v&eacute;rtice  v a trav&eacute;s de la  arista e; crear un nuevo v&eacute;rtice w con aristas f(e')=(w,u) y f(e'')=(w,v); insertar en el esquema w dos llaves extranjeras, una llave  extranjera que har&aacute; referencia a trav&eacute;s de la arista e' a la llave primaria del v&eacute;rtice u y la otra har&aacute; referencia a trav&eacute;s  de la arista  e&quot; a la llave primaria  del v&eacute;rtice v; definir como llave primaria a la llave extranjera que hace  referencia al v&eacute;rtice u; actualizar los pesos de las aristas e' y e''; eliminar la arista e y disminuir en uno el valor del  peso  Involvement para  aquellas aristas que formaban parte del ciclo con la arista e. Repetir este paso mientras existan  aristas con peso  Involvement mayor o  igual que cero.    <br>    <br> Como resultado de la  aplicaci&oacute;n del algoritmo descrito se obtiene un nuevo esquema l&oacute;gico que no  presenta inconsistencias de referencias c&iacute;clicas, el cual puede ser entonces  traducido al esquema f&iacute;sico de la base de datos donde se a llevar cabo la  implementaci&oacute;n de la misma.</font></p>      ]]></body>
<body><![CDATA[<p><font face="Verdana" size="2"><i>Un ejemplo de aplicaci&oacute;n del algoritmo</i></font></p>     <p><font face="Verdana" size="2">A partir del diagrama  Entidad-Relaci&oacute;n que aparece en la figura 4, se mostrar&aacute; un esquema l&oacute;gico con  inconsistencias y a continuaci&oacute;n el esquema l&oacute;gico que se obtiene cuando se  aplica el algoritmo descrito anteriormente. Al transformar el diagrama Entidad-Relaci&oacute;n de la  figura 4 se obtiene el siguiente esquema l&oacute;gico:</font></p>      <p><img src="/img/revistas/rfiua/n55/n55a17cod7.gif"><a name="codigo7"></a></p>      <p align="center"><img src="/img/revistas/rfiua/n55/n55a17i04.gif"><a name="figura4"></a></p>      <p><font face="Verdana" size="2"><b>Figura 4</b> Diagrama ER del ejemplo</font></p>     <p><font face="Verdana" size="2">En  la figura 5 se muestra la representaci&oacute;n de este esquema en el grafo G<sub>EL</sub>.</font></p>      <p align="center"><img src="/img/revistas/rfiua/n55/n55a17i05.gif"><a name="figura5"></a></p>      <p><font face="Verdana" size="2"><b>Figura 5</b> Grafo GEL representando esquemas l&oacute;gicos con inconsistencias</font></p>     <p><font face="Verdana" size="2">Como puede observarse, los  ciclos de longitud 2 entre los v&eacute;rtices DEPARTMENT y PROFESSOR que presentan  inconsistencias de referencias c&iacute;clicas son:</font></p>      <p><img src="/img/revistas/rfiua/n55/n55a17cod8.gif"><a name="codigo8"></a></p>     ]]></body>
<body><![CDATA[<p><font face="Verdana" size="2">Note que la arista  MEMBER_OF participa en dos ciclos por lo que el valor del peso Involvement es 2, y tiene el valor mayor en  comparaci&oacute;n con las otras aristas del grafo, por lo que seg&uacute;n el algoritmo  explicado esta arista se elimina y en su lugar crea un nuevo v&eacute;rtice llamado  MEMBER_ OF: donde una arista se dirigir&aacute; hacia el v&eacute;rtice PROFESSOR y la otra  arista hacia el v&eacute;rtice DEPARTMENT. La figura 6 muestra una soluci&oacute;n luego de  la aplicaci&oacute;n del algoritmo descrito.</font></p>      <p align="center"><img src="/img/revistas/rfiua/n55/n55a17i06.gif"><a name="figura6"></a></p>     <p><font face="Verdana" size="2"><b>Figura 6</b> Grafo G<sub>EL</sub> representando esquemas l&oacute;gicos sin inconsistencias de referencias c&iacute;clicas</font></p>     <p><font face="Verdana" size="2">Observe que este grafo no  tiene ciclos de longitud 2 que est&eacute;n en conflicto. A partir de este grafo se  puede obtener el siguiente esquema l&oacute;gico de la base de datos sin  inconsistencias.</font></p>      <p><img src="/img/revistas/rfiua/n55/n55a17cod9.gif"><a name="codigo9"></a></p>       <p>&nbsp;</p>       <p><font face="Verdana" size="3"><b>Conclusiones</b></font></p>     <p><font face="Verdana" size="2">En este art&iacute;culo  se ha caracterizado un tipo de inconsistencia que se puede presentar en el  esquema l&oacute;gico de una base de datos. Como principal contribuci&oacute;n se ha  presentado un algoritmo para la detecci&oacute;n y correcci&oacute;n de inconsistencias de  referencias c&iacute;clicas en el esquema l&oacute;gico. La soluci&oacute;n propuesta es  independiente del Sistema de Gesti&oacute;n de Bases de Datos Relacionales a utilizar  en la implementaci&oacute;n de la base de datos. Como trabajo futuro est&aacute; la  implementaci&oacute;n del algoritmo en la herramienta ERECASE que ha sido desarrollada  por los autores de este art&iacute;culo.</font>    <br> </p>      <p><font face="Verdana" size="3"><b>Referencias</b></font></p>      ]]></body>
<body><![CDATA[<!-- ref --><p><font face="Verdana" size="2"> 1. D. Calvanese, M. Lenzerini.  &quot;On the Interaction Between ISA and Cardinality Constraints,&quot; Tenth  International Conference on Data Engineering. Houston (TX). 1994. pp.  204-213.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000133&pid=S0120-6230201000050001700001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 2. M. Lenzerini, P. Nobili.  &quot;On the satisfiability of dependency constraints in entity-relationship  schemata.&quot; Information Systems. Vol. 15. 1990. pp. 453-461.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000135&pid=S0120-6230201000050001700002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 3. J. Dullea, I. Y. Song.  &quot;An Analysis of Structural Validity of Ternary Relationships in Entity  Relationship Modeling.&quot; 7th International Conference on Information and Knowledge  Management (CIKM '98). Washington. 1998. pp. 331-339.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000137&pid=S0120-6230201000050001700003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 4. J. Dullea, I. Y. Song.  &quot;An Analysis of the Structural Validity of Unary and Binary Relationships  in Entity Relationship Modeling.&quot; 4th International  Conference on Computer Science and Informatics. Research Triangle Park. North  Carolina. Vol. 3. 1998. pp. 329&shy;334.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000139&pid=S0120-6230201000050001700004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 5. J. Dullea, I. Y. Song.  &quot;A Taxonomy of Recursive Relationships and Their Structural Validity in ER  Modeling.&quot; ER 1999. Paris. Vol. LNCS 1728. 1999. pp. 384-398.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000141&pid=S0120-6230201000050001700005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    ]]></body>
<body><![CDATA[<!-- ref --><br> 6. J. Dullea, I. Y. Song, I.  Lamprou. &quot;An Analysis of Structural Validity in Entity-Eelationship  Modeling&quot;. Data &amp; Knowledge Engineering. Vol. 47. 2003. pp. 167-205.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000143&pid=S0120-6230201000050001700006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 7. S. Hartmann. &quot;On the  Consistency of Int-cardinality Constraints.&quot; ER 1998. Singapore. Vol. LNCS 1507.  1998. pp. 150-163.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000145&pid=S0120-6230201000050001700007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 8. S. Hartmann. &quot;On  Interactions of Cardinality Constraints, Keys and Functional  Dependencies.&quot; FoIKS 2000. Vol. LNCS 1762. Burg (Germany). 2000. pp. 136-155.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000147&pid=S0120-6230201000050001700008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 9. S. Hartmann. &quot;On the  implication problem for cardinality constraints and functional  dependencies.&quot; Annals of Mathematics and Artificial Intelligence. Vol. 33. 2001. pp. 253-307.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000149&pid=S0120-6230201000050001700009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 10. B. Thalheim.  &quot;Fundamentals of cardinality constraints.&quot; ER 1992. Karlsruhe (Germany). Vol.  LNCS 645. 1992. pp. 7-23.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000151&pid=S0120-6230201000050001700010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    ]]></body>
<body><![CDATA[<!-- ref --><br> 11. S. Hartmann. &quot;Coping  with Inconsistent Constraint Specifications.&quot; ER 2001. Yokohama (Jap&oacute;n). Vol. LNCS  2224. 2001. pp. 241-255.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000153&pid=S0120-6230201000050001700011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 12. S. Hartmann. &quot;Soft  Constraints and Heuristic Constraint Correction in Entity-Relationship  Modelling.&quot; International workshop on semantics in databases. Dagstuhl Castle (Germany).  Vol. LNCS 2582. 2003.pp. 82-99.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000155&pid=S0120-6230201000050001700012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 13. E. F. Codd. &quot;Further  Normalization of the Data Base Relational Model.&quot; Database Systems. Ed. Prentice- Hall. Englewood  Cliffs (NJ). 1972. pp. 200-216.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000157&pid=S0120-6230201000050001700013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 14. E. F. Codd. &quot;Recent  Investigations in Relational Database Systems,&quot; IFIP Congress. Amsterdam. 1974. pp.  1017-1021.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000159&pid=S0120-6230201000050001700014&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 15. D. Maier. The Theory of  Relational Databases. Ed. Computer Science Press. Rockville (MD). 1983. pp.  269-283.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000161&pid=S0120-6230201000050001700015&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    ]]></body>
<body><![CDATA[<!-- ref --><br> 16. J. D. Ullman. Principles of  Database and Knowledge&shy;Base Systems . Ed. Computer Science Press. New York. Vol. 1. 1988. pp.  121-123.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000163&pid=S0120-6230201000050001700016&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 17. E. F. Codd. &quot;A  Relational Model of Data for Large Shared Data Banks.&quot; Communications of  the ACM. Vol.  13. 1970. pp. 377-387.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000165&pid=S0120-6230201000050001700017&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 18. R. Elmasri, S. B. Navathe. Fundamentals of  Database Systems&#094;  ed. Ed. Addison-Wesley. Boston (MA). 2007. pp. 49-361.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000167&pid=S0120-6230201000050001700018&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 19. I.Y. Song, M. Evans, E. K.  Park. &quot;A comparative analysis of entity-relationship diagrams.&quot; Journal of  Computer and Software Engineering. Vol. 3. 1995. pp. 427-459.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000169&pid=S0120-6230201000050001700019&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 20. T. Teorey, D. Yang, J.  Fry. &quot;A logical design methodology for relational databases using the  extended E-R model.&quot; ACM Computing Surveys. Vol. 18. 1986. pp. 197-222.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000171&pid=S0120-6230201000050001700020&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    ]]></body>
<body><![CDATA[<!-- ref --><br> 21. S. Jajodia, P. Ng, F.  Springsteel. &quot;The problem of equivalence for entity-relationship  diagrams.&quot; IEEE Transactions on Software Engineer. Vol. SE-9. 1983. pp. 617-630.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000173&pid=S0120-6230201000050001700021&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 22. A. De Miguel, M. Piattini,  E. Marcos.  Dise&ntilde;o de Bases de Datos Relacionales. RA-MA. Madrid. 1999. pp.  313-366.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000175&pid=S0120-6230201000050001700022&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 23. P. Ponniah. Database Design  and Development.  Ed. Wiley Interscience. New York. 2003. pp. 274-298.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000177&pid=S0120-6230201000050001700023&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 24. G. T. Fadok. Effective design  of CODASYL database. Ed. Collier Macmillan. Basingstoke (UK). 1985. pp. 90-140.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000179&pid=S0120-6230201000050001700024&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 25. ANSI/ISO/IEC.  &quot;ISO/IEC 9075:1992. Database Language SQL.&quot; ANSI/ISO/IEC  International Standard. Maynard (MA). 1992. pp19-422.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000181&pid=S0120-6230201000050001700025&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    ]]></body>
<body><![CDATA[<!-- ref --><br> 26. W. K.  Grassmann J. P. Tremblay. Matem&aacute;tica Discreta y L&oacute;gica. Una perspectiva desde la  Ciencia de la Computaci&oacute;n. Ed Prentice Hall. Madrid. 1997. pp. 392-403.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000183&pid=S0120-6230201000050001700026&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>         <p><font face="Verdana" size="2">(Recibido el 15 de mayo de 2009. Aceptado el 9 de marzo de 2010)    <br>    <br> <sup>*</sup>Autor de correspondencia: tel&eacute;fono: + 53 + 42 + 281 515, correo electr&oacute;nico: <a href="mailto:cgarcia@uclv.edu.cu">cgarcia@uclv.edu.cu</a> (C. Garc&iacute;a)</font></p>         ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Calvanese]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Lenzerini]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<source><![CDATA[On the Interaction Between ISA and Cardinality Constraints]]></source>
<year></year>
<conf-name><![CDATA[ Tenth International Conference on Data Engineering]]></conf-name>
<conf-date>1994</conf-date>
<conf-loc> </conf-loc>
<page-range>204-213</page-range></nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Lenzerini]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Nobili]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[On the satisfiability of dependency constraints in entity-relationship schemata]]></article-title>
<source><![CDATA[Information Systems]]></source>
<year>1990</year>
<volume>15</volume>
<page-range>453-461</page-range></nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Dullea]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Song]]></surname>
<given-names><![CDATA[I. Y]]></given-names>
</name>
</person-group>
<source><![CDATA[An Analysis of Structural Validity of Ternary Relationships in Entity Relationship Modeling]]></source>
<year></year>
<conf-name><![CDATA[7 International Conference on Information and Knowledge Management (CIKM '98)]]></conf-name>
<conf-date>1998</conf-date>
<conf-loc>Washington </conf-loc>
<page-range>331-339</page-range></nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Dullea]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Song]]></surname>
<given-names><![CDATA[I. Y]]></given-names>
</name>
</person-group>
<source><![CDATA[An Analysis of the Structural Validity of Unary and Binary Relationships in Entity Relationship Modeling]]></source>
<year>1998</year>
<volume>3</volume>
<conf-name><![CDATA[4 International Conference on Computer Science and Informatics]]></conf-name>
<conf-loc> </conf-loc>
<page-range>329-334</page-range></nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Dullea]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Song]]></surname>
<given-names><![CDATA[I. Y]]></given-names>
</name>
</person-group>
<source><![CDATA[A Taxonomy of Recursive Relationships and Their Structural Validity in ER Modeling]]></source>
<year>1999</year>
<page-range>384-398</page-range></nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Dullea]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Song]]></surname>
<given-names><![CDATA[I. Y]]></given-names>
</name>
<name>
<surname><![CDATA[Lamprou]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An Analysis of Structural Validity in Entity-Eelationship Modeling]]></article-title>
<source><![CDATA[Data & Knowledge Engineering]]></source>
<year>2003</year>
<volume>47</volume>
<page-range>167-205</page-range></nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hartmann]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[On the Consistency of Int-cardinality Constraints]]></source>
<year>1998</year>
<page-range>150-163</page-range><publisher-loc><![CDATA[Singapore ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hartmann]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[On Interactions of Cardinality Constraints, Keys and Functional Dependencies]]></source>
<year>2000</year>
<page-range>136-155</page-range></nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hartmann]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[On the implication problem for cardinality constraints and functional dependencies]]></article-title>
<source><![CDATA[Annals of Mathematics and Artificial Intelligence]]></source>
<year>2001</year>
<volume>33</volume>
<page-range>253-307</page-range></nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Thalheim]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
</person-group>
<source><![CDATA[Fundamentals of cardinality constraints]]></source>
<year>1992</year>
<page-range>7-23</page-range></nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hartmann]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[Coping with Inconsistent Constraint Specifications]]></source>
<year>2001</year>
<page-range>241-255</page-range></nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hartmann]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[Soft Constraints and Heuristic Constraint Correction in Entity-Relationship Modelling]]></source>
<year>2003</year>
<page-range>82-99</page-range><publisher-name><![CDATA[International workshop on semantics in databases]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Codd]]></surname>
<given-names><![CDATA[E. F]]></given-names>
</name>
</person-group>
<source><![CDATA[Further Normalization of the Data Base Relational Model: Database Systems]]></source>
<year>1972</year>
<page-range>200-216</page-range></nlm-citation>
</ref>
<ref id="B14">
<label>14</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Codd]]></surname>
<given-names><![CDATA[E. F]]></given-names>
</name>
</person-group>
<source><![CDATA[Recent Investigations in Relational Database Systems]]></source>
<year>1974</year>
<page-range>1017-1021</page-range><publisher-loc><![CDATA[Amsterdam ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B15">
<label>15</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Maier]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<source><![CDATA[The Theory of Relational Databases]]></source>
<year>1983</year>
<page-range>269-283</page-range><publisher-name><![CDATA[Ed. Computer Science Press]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B16">
<label>16</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ullman]]></surname>
<given-names><![CDATA[J. D]]></given-names>
</name>
</person-group>
<source><![CDATA[Principles of Database and Knowledge&shy;Base Systems]]></source>
<year>1988</year>
<volume>1</volume>
<page-range>121-123</page-range><publisher-loc><![CDATA[New York ]]></publisher-loc>
<publisher-name><![CDATA[Ed. Computer Science Press]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B17">
<label>17</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Codd]]></surname>
<given-names><![CDATA[E. F]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A Relational Model of Data for Large Shared Data Banks]]></article-title>
<source><![CDATA[Communications of the ACM]]></source>
<year>1970</year>
<volume>13</volume>
<page-range>377-387</page-range></nlm-citation>
</ref>
<ref id="B18">
<label>18</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Elmasri]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Navathe]]></surname>
<given-names><![CDATA[S. B]]></given-names>
</name>
</person-group>
<source><![CDATA[Fundamentals of Database Systems]]></source>
<year>2007</year>
<page-range>49-361</page-range><publisher-loc><![CDATA[Boston ]]></publisher-loc>
<publisher-name><![CDATA[Ed. Addison-Wesley]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B19">
<label>19</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Song]]></surname>
<given-names><![CDATA[I.Y]]></given-names>
</name>
<name>
<surname><![CDATA[Evans]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Park]]></surname>
<given-names><![CDATA[E. K]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A comparative analysis of entity-relationship diagrams]]></article-title>
<source><![CDATA[Journal of Computer and Software Engineering]]></source>
<year>1995</year>
<volume>3</volume>
<page-range>427-459</page-range></nlm-citation>
</ref>
<ref id="B20">
<label>20</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Teorey]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[Yang]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Fry]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A logical design methodology for relational databases using the extended E-R model]]></article-title>
<source><![CDATA[ACM Computing Surveys]]></source>
<year>1986</year>
<volume>18</volume>
<page-range>197-222</page-range></nlm-citation>
</ref>
<ref id="B21">
<label>21</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Jajodia]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Ng]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Springsteel]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The problem of equivalence for entity-relationship diagrams]]></article-title>
<source><![CDATA[IEEE Transactions on Software Engineer]]></source>
<year>1983</year>
<volume>SE-9</volume>
<page-range>617-630</page-range></nlm-citation>
</ref>
<ref id="B22">
<label>22</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[De Miguel]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Piattini]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Marcos]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
</person-group>
<source><![CDATA[Diseño de Bases de Datos Relacionales]]></source>
<year>1999</year>
<page-range>313-366</page-range><publisher-loc><![CDATA[Madrid ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B23">
<label>23</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ponniah]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
</person-group>
<source><![CDATA[Database Design and Development]]></source>
<year>2003</year>
<page-range>274-298</page-range><publisher-loc><![CDATA[New York ]]></publisher-loc>
<publisher-name><![CDATA[Ed. Wiley Interscience]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B24">
<label>24</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Fadok]]></surname>
<given-names><![CDATA[G. T]]></given-names>
</name>
</person-group>
<source><![CDATA[Effective design of CODASYL database]]></source>
<year>1985</year>
<page-range>90-140</page-range><publisher-loc><![CDATA[Basingstoke ]]></publisher-loc>
<publisher-name><![CDATA[Ed. Collier Macmillan]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B25">
<label>25</label><nlm-citation citation-type="book">
<collab>ANSI</collab>
<collab>ISO</collab>
<collab>IEC</collab>
<source><![CDATA[ISO/IEC 9075:1992: Database Language SQL]]></source>
<year>1992</year>
<page-range>19-422</page-range><publisher-name><![CDATA[ANSI/ISO/IEC International Standard]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B26">
<label>26</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Grassmann]]></surname>
<given-names><![CDATA[W. K]]></given-names>
</name>
<name>
<surname><![CDATA[Tremblay]]></surname>
<given-names><![CDATA[J. P]]></given-names>
</name>
</person-group>
<source><![CDATA[Matemática Discreta y Lógica: Una perspectiva desde la Ciencia de la Computación]]></source>
<year>1997</year>
<page-range>392-403</page-range><publisher-loc><![CDATA[Madrid ]]></publisher-loc>
<publisher-name><![CDATA[Ed Prentice Hall]]></publisher-name>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
