<?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>1692-3324</journal-id>
<journal-title><![CDATA[Revista Ingenierías Universidad de Medellín]]></journal-title>
<abbrev-journal-title><![CDATA[Rev. ing. univ. Medellín]]></abbrev-journal-title>
<issn>1692-3324</issn>
<publisher>
<publisher-name><![CDATA[Universidad de Medellín]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S1692-33242011000100014</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Generación automática del diagrama entidad-relación y su representación en SQL desde un lenguaje controlado (UN-LENCEP)]]></article-title>
<article-title xml:lang="en"><![CDATA[Automatic generation of entity-relationship diagram and its representation in SQL from a controlled language (UN-LENCEP)]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Zapata Jaramillo]]></surname>
<given-names><![CDATA[Carlos Mario]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[González Calderón]]></surname>
<given-names><![CDATA[Guillermo]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Chaverra Mojica]]></surname>
<given-names><![CDATA[John Jairo]]></given-names>
</name>
<xref ref-type="aff" rid="A03"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Nacional de Colombia Facultad de Minas Escuela de Sistemas]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad de Medellín Grupo de investigación ARKADIUS ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<aff id="A03">
<institution><![CDATA[,Universidad Nacional de Colombia  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>01</month>
<year>2011</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>01</month>
<year>2011</year>
</pub-date>
<volume>10</volume>
<numero>18</numero>
<fpage>127</fpage>
<lpage>136</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S1692-33242011000100014&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S1692-33242011000100014&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S1692-33242011000100014&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[Entidad-relación es uno de los diagramas que se utilizan en el desarrollo de modelos para representar la información de un dominio. Con el fin de agilizar y mejorar el proceso de desarrollo de software, diferentes propuestas surgieron para contribuir en la obtención automática o semiautomática del diagrama entidad-relación. Varias de estas propuestas utilizan como punto de partida lenguaje natural o lenguaje controlado, mientras otras propuestas utilizan representaciones intermedias. Los interesados en el desarrollo de una aplicación de software no suelen comprender varias de las representaciones utilizadas sin tener previa capacitación, lo cual restringe la participación activa del interesado en todas las etapas del desarrollo. Con el fin de solucionar estos problemas, en este artículo se propone un conjunto de reglas heurísticas para la obtención automática del diagrama entidad-relación y su representación en SQL. Se toma como punto de partida el lenguaje controlado UN-Lencep, que ya se emplea para la generación de otros artefactos en el desarrollo de aplicaciones de software.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[Entity-relationship diagram (ERD) is one of the used in modelling the domain information. Several proposals have emerged for speeding up and improving the software development process by either automatically or semi-automatically obtain the ERD. Natural language, controlled languages, and intermediate representations have been used in such a task. The stakeholders (people with some concern in application development), when untrained, are incapable to understand several of such representations. As a consequence, stakeholder active participation in software development is highly restricted. Trying to solve these problems, a set of heuristic rules for automatically obtaining ERD and its SQL-based equivalence is proposed in this paper. The starting point is UN-Lencep, a controlled language already used for generating other artefacts belonging to software application development.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[UN-Lencep]]></kwd>
<kwd lng="es"><![CDATA[entidad-relación]]></kwd>
<kwd lng="es"><![CDATA[SQL]]></kwd>
<kwd lng="en"><![CDATA[UN-Lencep]]></kwd>
<kwd lng="en"><![CDATA[entity relationship]]></kwd>
<kwd lng="en"><![CDATA[SQL]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[  	    <p ALIGN="CENTER"><FONT SIZE="4" FACE="Verdana"><B>Generaci&oacute;n autom&aacute;tica 	      del diagrama entidad-relaci&oacute;n y su representaci&oacute;n en SQL desde un lenguaje controlado (UN-LENCEP)</B></FONT></p> 	    <p ALIGN="CENTER">&nbsp;</p> 	    <p ALIGN="CENTER"><B><FONT SIZE="3" FACE="Verdana">Automatic generation           of entity-relationship diagram and its representation in SQL from a     controlled language (UN-LENCEP)  </FONT></B></p> 																														      <p>&nbsp;</p>       <p>         <CENTER>       <FONT SIZE="2" FACE="Verdana">      </FONT>     </CENTER> </p>       <p ALIGN="LEFT"><FONT SIZE="2" FACE="Verdana">Carlos Mario Zapata Jaramillo <SUP>*</SUP>;       Guillermo Gonz&aacute;lez Calder&oacute;n<SUP>**</SUP>; John Jairo Chaverra Mojica<SUP>***</SUP> 																															  </FONT></p>       <p><FONT SIZE="2" FACE="Verdana"><SUP>*</SUP>	Ingeniero civil, Ph D en Ingenier&iacute;a. Profesor asociado de la Universidad Nacional de Colombia, L&iacute;der del grupo de investigaci&oacute;n en Lenguajes Computacionales. Correo electr&oacute;nico cmzapata@unal.edu.co. Tel&eacute;fono: (57)(4) 4255374. Fax: (57)(4) 4255365 Carrera 80 No. 65-223 Bloque M8A-310. Facultad de Minas, Escuela de Sistemas.           <BR>   </FONT><FONT SIZE="2" FACE="Verdana"><SUP>**</SUP> Msc. en Ingenier&iacute;a de Sistemas. Doctor(C) en Ingenier&iacute;a. Grupo de investigaci&oacute;n ARKADIUS. Docente Ingenier&iacute;a de Sistemas. Universidad de Medell&iacute;n. Correo electr&oacute;nico:   <A HREF="mailto:ggonzalezc@udem.edu.co">ggonzalezc@udem.edu.co</A>.     ]]></body>
<body><![CDATA[<BR>   </FONT><FONT SIZE="2" FACE="Verdana"><SUP>***</SUP> Ingeniero de sistemas e inform&aacute;tica. Msc. en Ingenier&iacute;ade Sistemas. Universidad Nacional de Colombia. Correo electr&oacute;nico <A HREF="mailto:jjchaver@unal.edu.co">jjchaver@unal.edu.co</A>. </FONT></p>       <p>&nbsp;</p>       <p>&nbsp;</p>   <hr size="1" noshade>   <font size="2" face="Verdana"><B>Resumen</B></font>     <p><FONT SIZE="2" FACE="Verdana">Entidad-relaci&oacute;n es uno de los diagramas que se utilizan en el desarrollo de modelos para representar la informaci&oacute;n de un dominio. Con el fin de agilizar y mejorar el proceso de desarrollo de software, diferentes propuestas surgieron para contribuir en la obtenci&oacute;n autom&aacute;tica o semiautom&aacute;tica del diagrama entidad-relaci&oacute;n. Varias de estas propuestas utilizan como punto de partida lenguaje natural o lenguaje controlado, mientras otras propuestas utilizan representaciones intermedias. Los interesados en el desarrollo de una aplicaci&oacute;n de software no suelen comprender varias de las representaciones utilizadas sin tener previa capacitaci&oacute;n, lo cual restringe la participaci&oacute;n activa del interesado en todas las etapas del desarrollo. Con el fin de solucionar estos problemas, en este art&iacute;culo se propone un conjunto de reglas heur&iacute;sticas para la obtenci&oacute;n autom&aacute;tica del diagrama entidad-relaci&oacute;n y su representaci&oacute;n en SQL. Se toma como punto de partida el lenguaje controlado UN-Lencep, que ya se emplea para la generaci&oacute;n de otros artefactos en el desarrollo de aplicaciones de software.</FONT></p>   <FONT SIZE="2" FACE="Verdana">  <B>Palabras clave:</B> UN-Lencep, entidad-relaci&oacute;n, SQL </FONT>   <hr size="1" noshade> <font size="2" face="Verdana"><B>Abstract</B></font>     <p><FONT SIZE="2" FACE="Verdana">Entity-relationship diagram (ERD) is one of the used in modelling the domain information. Several proposals have emerged for speeding up and improving the software development process by either automatically or semi-automatically obtain the ERD. Natural language, controlled languages, and intermediate representations have been used in such a task. The stakeholders (people with some concern in application development), when untrained, are incapable to understand several of such representations. As a consequence, stakeholder active participation in software development is highly restricted. Trying to solve these problems, a set of heuristic rules for automatically obtaining ERD and its SQL-based equivalence is proposed in this paper. The starting point is UN-Lencep, a controlled language already used for generating other artefacts belonging to software application development.</FONT></p>   <FONT SIZE="2" FACE="Verdana">  <B>Key words:</B> UN-Lencep, entity relationship, SQL.</FONT>   <hr size="1" noshade>     <p>&nbsp;</p>     <p>&nbsp;</p>     <p><FONT SIZE="3" FACE="Verdana"><B>INTRODUCCI&Oacute;N   </B></FONT></p> 			       <p><FONT SIZE="2" FACE="Verdana">Entidad-Relaci&oacute;n &#91;1&#93; es un diagrama de ingenier&iacute;a de software que se utiliza para desarrollar un modelo de datos de alta calidad. Este diagrama, paulatinamente se est&aacute; convirtiendo en la t&eacute;cnica universal para modelar datos. Por ello, con el fin de mejorar y agilizar el proceso de desarrollo de software, son diversas las propuestas dirigidas a permitir la obtenci&oacute;n autom&aacute;tica y semiautom&aacute;tica de los diferentes elementos del diagrama entidad-relaci&oacute;n y su correspondiente representaci&oacute;n 			       en el lenguaje SQL <I>(Structured Query Language).</I>                </FONT></p>       <p><FONT SIZE="2" FACE="Verdana">Algunos autores &#91;2-5&#93; proponen la obtenci&oacute;n semiautom&aacute;tica del diagrama entidad-relaci&oacute;n a partir de lenguaje natural. Para tal fin, proponen un conjunto de reglas heur&iacute;sticas que se basan, principalmente, en la sintaxis de las frases. Estas propuestas se concentran en la obtenci&oacute;n de las entidades y sus atributos. En acciones m&aacute;s complejas, como es la definici&oacute;n de relaciones entre las entidades, es necesaria la intervenci&oacute;n del analista para resolver las ambig&uuml;edades. </FONT></p>       ]]></body>
<body><![CDATA[<p><FONT SIZE="2" FACE="Verdana">Siguiendo la misma tendencia, Gangopadhyay &#91;6&#93; propuso la obtenci&oacute;n autom&aacute;tica del diagrama entidad-relaci&oacute;n a partir de un lenguaje controlado. Esta propuesta utiliza un diagrama de dependencias conceptuales como representaci&oacute;n intermedia. Al utilizar representaciones intermedias, se ve restringida la participaci&oacute;n activa del interesado en el proceso de desarrollo del software. </FONT></p>       <p><FONT SIZE="2" FACE="Verdana">Con el fin de dar soluci&oacute;n a estos problemas, en este art&iacute;culo se propone un conjunto de reglas heur&iacute;sticas para obtener, autom&aacute;ticamente, el diagrama entidad-relaci&oacute;n y su correspondiente representaci&oacute;n en SQL a partir de un lenguaje controlado, UN-Lencep (Universidad Nacional de Colombia-Lenguaje Controlado para la Especificaci&oacute;n de Esquemas Preconceptuales). Al utilizar UN-Lencep se mejora la comunicaci&oacute;n entre el analista e interesado, ya que UN-Lencep es de f&aacute;cil comprensi&oacute;n por su cercan&iacute;a con el lenguaje natural. </FONT></p>       <p><FONT SIZE="2" FACE="Verdana">Este art&iacute;culo se organiza de la siguiente manera: en la secci&oacute;n 2 se define el marco te&oacute;rico que agrupa los conceptos de este dominio; en la secci&oacute;n 3 se resumen algunos trabajos en obtenci&oacute;n autom&aacute;tica y semiautom&aacute;tica del diagrama entidad-relaci&oacute;n; en la secci&oacute;n 4 se plantea un conjunto de reglas heur&iacute;sticas para la obtenci&oacute;n autom&aacute;tica del diagrama entidad-relaci&oacute;n y su representaci&oacute;n en SQL; en la secci&oacute;n 5 se plantea un caso de estudio para ejemplificar el uso de la reglas; las conclusiones y el trabajo futuro se incluyen en la secci&oacute;n 6. </FONT></p>     <p>&nbsp;</p> 		    <p><FONT SIZE="3" FACE="Verdana"><B>1	MARCO TE&Oacute;RICO 	</B></FONT></p> 					    <p><FONT SIZE="2" FACE="Verdana"><B>1.1	UN-LENCEP Un lenguaje controlado 			      para obtenci                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      &oacute;n autom&aacute;tica de diagramas UML </B></FONT></p>     <p><FONT SIZE="2" FACE="Verdana">La educci&oacute;n de requisitos es una de las     primeras fases en el desarrollo de software. En ella, el interesado suele     expresar el dominio de un problema. En este discurso es posible identificar     artefactos que constituyen parte fundamental de la soluci&oacute;n del problema.     UN-Lencep (Universidad Nacional de Colombia-Lenguaje Controlado para la Especificaci&oacute;n     de Esquemas Preconceptuales) se dise&ntilde;&oacute;, inicialmente, para     que el interesado pudiera expresar las ideas de un dominio espec&iacute;fico,     con el fin de realizar su traducci&oacute;n autom&aacute;tica     hacia los esquemas preconceptuales. En la <A HREF="#t1">tabla 1</A> se presentan     las equivalencias de sus especificaciones b&aacute;sicas en un subconjunto     del lenguaje natural &#91;7&#93;. </FONT></p>       <p ALIGN="CENTER"><A NAME="t1"></A><FONT SIZE="2" FACE="Verdana"><img src="img/revistas/rium/v10n18/v10n18a14t1.jpg"></FONT></p>     <p>&nbsp;</p> 		    <p><FONT SIZE="3" FACE="Verdana"><B>2	GENERACI&Oacute;N AUTOM&Aacute;TICA DEL DIAGRAMA ENTIDAD-RELACI&Oacute;N	 </B></FONT></p> 														     ]]></body>
<body><![CDATA[<p><FONT SIZE="2" FACE="Verdana">RADD <I>(Rapid Application and Database Development)</I> &#91;2&#93;, <I>ER-Converter</I> &#91;3&#93;, <I>E-R Generator</I> &#91;4&#93; y ANNAPURNA &#91;5&#93; procuran elaborar un diagrama entidad-relaci&oacute;n a partir de especificaciones en lenguaje natural y, luego, promover la completitud del diagrama obtenido mediante un di&aacute;logo 														     controlado con el usuario. En <I>ER-Converter</I> se utilizan 														     dos tipos de reglas: normas vinculadas a la sem&aacute;ntica y normas gen&eacute;ricas 														     que identifican entidades y sus atributos. En <I>E-R Generator,</I> en 														     algunos casos, es necesario que el analista intervenga para 														     resolver las ambig&uuml;edades tales como la fijaci&oacute;n de los atributos y las relaciones con las dem&aacute;s entidades. ANNAPURNA define un conjunto de reglas sem&aacute;nticas 														     con el fin de extraer las entidades y sus relaciones. Luego, 														     estas entidades se representan en <I>S-diagram,</I> que es 														     un modelo de datos gr&aacute;fico utilizado para especificar 														     las entidades, atributos y las conexiones entre entidades. <I>S-diagram</I> funciona 													     mejor cuando la complejidad es peque&ntilde;a. </FONT></p>       <p><FONT SIZE="2" FACE="Verdana">Gangopadhyay &#91;6&#93; continu&oacute; con esta tendencia proponiendo una herramienta CASE <I>(Computer Aided Software Engineering)</I> para la obtenci&oacute;n autom&aacute;tica del diagrama entidad-relaci&oacute;n a partir de un lenguaje controlado. Esta herramienta emplea un diagrama de dependencias conceptuales como representaci&oacute;n intermedia a partir del lenguaje controlado, y un <I>parser</I> basado en una red de transici&oacute;n aumentada para el procesamiento de las diferentes palabras. Esta propuesta se implement&oacute; en un prototipo usando Oracle como gestor de bases de datos. </FONT></p>       <p><FONT SIZE="2" FACE="Verdana">TRIDENT <I>(Tools for an Interactive Development Environment)</I> &#91;8-11&#93;, emplea an&aacute;lisis de requisitos funcionales y an&aacute;lisis de tareas. A partir del an&aacute;lisis de los requisitos funcionales se obtiene un diagrama entidad-relaci&oacute;n extendido. El an&aacute;lisis de tareas se obtiene construyendo un ACG <I>(Activity Chan Graphs)</I> que liga las tareas interactivas del usuario con la funcionalidad del sistema. </FONT></p>       <p><FONT SIZE="2" FACE="Verdana">La mayor&iacute;a de estas propuestas son procesos semiautom&aacute;ticos y, en muchos casos, requieren la intervenci&oacute;n del analista para resolver ambig&uuml;edades, como es el caso de <I>E-R Generator</I> y ANNAPURNA. En el caso de ANNAPURNA, el problema es a&uacute;n mayor, puesto que en modelos grandes tiende a fallar. Algunas propuestas utilizan diagramas intermedios para lograr el objetivo final, lo cual tiende a generar problemas de comunicaci&oacute;n con el interesado, debido a su complejidad. </FONT></p>     <p>&nbsp;</p> 		    <p><FONT SIZE="4" FACE="Verdana"><B><FONT SIZE="3">3	OBTENCI&Oacute;N AUTOM&Aacute;TICA DEL DIAGRAMA ENTIDAD RELACI&Oacute;N Y SU REPRESENTACI&Oacute;N EN SQL, A PARTIR DE UN LENGUAJE CONTROLADO (UN-Lencep) </FONT></B></FONT></p>     <p><FONT SIZE="2" FACE="Verdana">UN-Lencep posee un conjunto b&aacute;sico de plantillas para facilitar su uso a los interesados. Los principales componentes de UN-Lencep son: &#91;7&#93;. </FONT></p>       <p><FONT SIZE="2" FACE="Verdana">&bull;<B>	A &lt;ES&gt;<ES> B:</B> Representa       una relaci&oacute;n de generalizaci&oacute;n, en la cual el concepto de       origen es el subtipo y el concepto destino el super-tipo.    <BR>   </FONT><FONT SIZE="2" FACE="Verdana">&bull;	<B>A &lt;TIENE&gt;<ES> B:</B> El       concepto destino se representa como un atributo del concepto, siempre y       cuando el concepto destino no se identifique, en s&iacute; mismo, como una entidad.    <BR>   </FONT><FONT SIZE="2" FACE="Verdana">&bull;	<B>A &lt;R1&gt;<ES> B:</B> El       concepto origen ejecuta una operaci&oacute;n (R1) sobre el concepto destino. R1 es una operaci&oacute;n del concepto destino.    ]]></body>
<body><![CDATA[<BR>   </FONT><FONT SIZE="2" FACE="Verdana">&bull;	<B>C <R2> &lt;R2&gt; D, <SI>  <SI> &lt;SI&gt; A &lt;R1&gt; B:</B> En       la ejecuci&oacute;n de la primera operaci&oacute;n, el concepto origen       C ejecuta una operaci&oacute;n sobre el concepto destino D, siempre que       ocurra, que el concepto destino A ejecute una operaci&oacute;n sobre el       concepto destino B. As&iacute;, la primera operaci&oacute;n mencionada       se invocar&aacute; despu&eacute;s de realizar el proceso que establece la operaci&oacute;n entre A y B.    <BR>   </FONT><FONT SIZE="2" FACE="Verdana">&bull;<B>	<SI>  <SI> <SI> &lt;SI&gt; &#123; COND&#125; <ENTONCES>  <SI> <SI> &lt;ENTONCES&gt; A <R1> &lt;R1&gt; B, <SINO> &lt;SINO&gt; C &lt;R2&gt;<R2> D: </B>La       operaci&oacute;n R1 que A realiza sobre B, se ejecuta s&oacute;lo si COND       se cumple; en caso de que no se cumpla, entonces C realizar&aacute; la       acci&oacute;n R2 sobre B. La ejecuci&oacute;n del condicional se lleva       a cabo dentro de una operaci&oacute;n E<B> </B>&lt;R3&gt;<B><R2></B>  <R3> F,       donde F es una entidad que tiene como atributo alg&uacute;n elemento que aparece en el condicional. </FONT></p>       <p><FONT SIZE="2" FACE="Verdana">UN-Lencep a&uacute;n no posee artefactos que permitan identificar los tipos de datos en un discurso. Por ello, en el marco de este trabajo las claves primarias y las claves for&aacute;neas se definir&aacute;n de tipo <I>&quot;int&quot;</I> y los dem&aacute;s atributos ser&aacute;n de tipo <I>&quot;varchar&quot;.</I> Para cada tabla se definir&aacute; como clave principal un <I>&quot;id&quot;</I> autonum&eacute;rico. </FONT></p>       <p><FONT SIZE="2" FACE="Verdana">Las reglas para la traducci&oacute;n autom&aacute;tica de UN-Lencep al diagrama entidad-relaci&oacute;n se clasifican en dos tipos; aquellas que tienen como precondici&oacute;n elementos propios de UN-Lencep (tipo A) y, las que tienen como precondici&oacute;n, adem&aacute;s de los elementos propios de UN-Lencep, elementos del diagrama de clases (tipos B). </FONT></p>     <p><FONT SIZE="2" FACE="Verdana"><B>3.1	Reglas de Tipo A: 	</B></FONT></p>     <p><FONT SIZE="2" FACE="Verdana">Se presentan en la <A HREF="#t2">tabla 2</A>.	 </FONT></p>        <p ALIGN="CENTER"><FONT SIZE="2" FACE="Verdana"><A NAME="t2"></A><img src="img/revistas/rium/v10n18/v10n18a14t2.jpg"> </FONT></p>        <p><FONT SIZE="2" FACE="Verdana"><B>3.2	Reglas de Tipo B  </B></FONT></p>     <p><FONT SIZE="2" FACE="Verdana">Estas reglas tienen como precondici&oacute;n elementos propios del diagrama de clases los cuales, dicho sea de paso, se obtienen autom&aacute;ticamente con otras reglas que definen Zapata <I>et al.</I> &#91;7&#93;.     Las reglas de tipo B se presentan en la <A HREF="#t3">tabla 3</A>. </FONT></p>      <p ALIGN="CENTER"><A NAME="t3"></A><img src="img/revistas/rium/v10n18/v10n18a14t3.jpg"></p> 		    ]]></body>
<body><![CDATA[<p>&nbsp;</p> 		    <p><FONT SIZE="3" FACE="Verdana"><B>4	CASO DE ESTUDIO	 </B></FONT></p> 		    <p><FONT SIZE="2" FACE="Verdana">Con el fin de ejemplificar las reglas 					     definidas en este art&iacute;culo, se presenta un caso de estudio relacionado 					     con el sistema de notas en un colegio. El siguiente es un relato en 				     UN-Lencep que representa el dominio del problema. </FONT></p>       <p><FONT SIZE="2" FACE="Verdana">&bull;	persona tiene_&uacute;nico identificaci&oacute;n    <br> &bull;	persona tiene nombre    <br> &bull;	profesor es persona    <br> &bull;	profesor tiene salario    <br> &bull;	profesor califica examen    <br> &bull;	profesor dise&ntilde;a examen    <br> &bull;	estudiante es persona    ]]></body>
<body><![CDATA[<br> &bull;	estudiante tiene estado    <br> &bull;	activo es_posible_valor de estado    <br> &bull;	retirado es_posible_valor de estado    <br> &bull;	estudiante presenta soluci&oacute;n    <br> &bull;	solucion tiene_&uacute;nico c&oacute;digo    <br> &bull;	solucion tiene nota    <br> &bull;	solucion tiene estudiante    <br> &bull;	solucion tiene respuesta    <br> &bull;	respuesta tiene_&uacute;nico c&oacute;digo    <br> &bull;	respuesta tiene calificaci&oacute;n    ]]></body>
<body><![CDATA[<br> &bull;	respuesta tiene descripci&oacute;n    <br> &bull;	examen tiene tema    <br> &bull;	examen tiene nota_m&aacute;xima    <br> &bull;	examen tiene pregunta    <br> &bull;	examen tiene soluci&oacute;n    <br> &bull;	pregunta tiene porcentaje    <br> &bull;	pregunta tiene_&uacute;nico n&uacute;mero    <br> &bull;	pregunta tiene respuesta_correcta    <br> &bull;	pregunta tiene enunciado    <br> &bull;	pregunta tiene_&uacute;nico respuesta </FONT></p>       ]]></body>
<body><![CDATA[<p><FONT SIZE="2" FACE="Verdana">En la <A HREF="#t4">tabla 4</A> se muestra la forma de aplicar       cada una de las reglas definidas en la secci&oacute;n       4. La <A HREF="#f1">figura 1</A> muestra el diagrama entidad-relaci&oacute;n       completo que se obtiene a partir del caso de estudio. </FONT></p>     <p ALIGN="CENTER"><A NAME="f1"></A><FONT SIZE="2" FACE="Verdana"><img src="img/revistas/rium/v10n18/v10n18a14f1.jpg"></FONT></p>     <p ALIGN="CENTER">&nbsp;</p>     <p ALIGN="CENTER"><A NAME="t4"></A><FONT SIZE="2" FACE="Verdana"><img src="img/revistas/rium/v10n18/v10n18a14t4.jpg"></FONT></p>     <p><FONT SIZE="2" FACE="Verdana">Al ser un proceso autom&aacute;tico, el analista no debe preocuparse por la aplicaci&oacute;n de las reglas de conversi&oacute;n. De esta manera, se evitan errores humanos que se puedan cometer. N&oacute;tese que, a excepci&oacute;n de las relaciones din&aacute;micas (acciones), cada especificaci&oacute;n en UN-Lencep se refleja en el diagrama entidad-relaci&oacute;n y, por lo tanto, en el SQL correspondiente. </FONT></p>     <p>&nbsp;</p> 		    <p><FONT SIZE="3" FACE="Verdana"><B>5	CONCLUSIONES Y TRABAJO FUTURO  </B></FONT></p> 								       <p><FONT SIZE="2" FACE="Verdana">En este art&iacute;culo, se present&oacute; un conjunto de reglas heur&iacute;sticas que permiten obtener autom&aacute;ticamente el diagrama entidad-relaci&oacute;n y su representaci&oacute;n 								       en SQL, a partir de un lenguaje natural controlado (UN-Lencep). 							       Algunos de los principales aportes de este trabajo son: </FONT></p>       <p><FONT SIZE="2" FACE="Verdana">&bull;	Al ser un proceso autom&aacute;tico, se evitan errores humanos en la aplicaci&oacute;n de las reglas de conversi&oacute;n.    <br> &bull;	Se reducen tiempo y costos en el desarrollo de una aplicaci&oacute;n.    ]]></body>
<body><![CDATA[<br> &bull;	Se mejora la comunicaci&oacute;n con el interesado, dado que el lenguaje natural controlado (UN-Lencep) es de f&aacute;cil comprensi&oacute;n y no requiere previa capacitaci&oacute;n.    <br> &bull;	El interesado puede proveer una validaci&oacute;n de la informaci&oacute;n que se representa en UN-Lencep en las etapas iniciales del proceso de desarrollo de software.    <br> Las l&iacute;neas de trabajo futuro que se pueden derivar de este trabajo son:    <br> &bull;	Desarrollar un prototipo, que implemente las reglas definidas en este art&iacute;culo, adem&aacute;s de generarlos diferentes diagramas UML que establecen Zapata <I>et al.</I> &#91;7&#93;.    <br> &bull;	Definir nuevas reglas heur&iacute;sticas con el fin de obtener SQL para varios gestores de bases de datos (ORACLE, MYSQL, PostgreSQL).    <br> &bull;	Definir reglas para la generaci&oacute;n de <I>triggers </I>con el fin de validar procesos no solo en la aplicaci&oacute;n sino tambi&eacute;n en la base de datos.    <br> &bull;	Definir reglas para la definici&oacute;n de tipos de datos <I>(varchar, int, boolean,</I> etc.).</FONT></p>     <p>&nbsp;</p> 		    <p><FONT SIZE="3" FACE="Verdana"><B>6	AGRADECIMIENTOS	 </B></FONT></p> 					     <p><FONT SIZE="2" FACE="Verdana">Este trabajo se financi&oacute; parcialmente con fondos de la Vicerrector&iacute;a de Investigaci&oacute;n de la Universidad Nacional de Colombia, mediante el proyecto de investigaci&oacute;n &quot;Transformaci&oacute;n semiautom&aacute;tica de los esquemas conceptuales, generados en unc-Diagramador, en prototipos funcionales&quot;. </FONT></p>       ]]></body>
<body><![CDATA[<p>&nbsp;</p> 		    <p><FONT SIZE="3" FACE="Verdana"><B>REFERENCIAS   </B></FONT></p> 			      <!-- ref --><p><FONT SIZE="2" FACE="Verdana">&#91;1&#93;	P. Chen, &quot;English sentence 			      structure and entity relationship diagrams,&quot; <I>Information Sciences,</I> vol. 29, no. 2, pp. 127-149, 1983.               </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=000105&pid=S1692-3324201100010001400001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><FONT SIZE="2" FACE="Verdana">&#91;2&#93;	E. Buchholz, y A. D&uuml;sterh&ouml;ft, &quot;Using natural language for database design,&quot; presentado a Deutsche Jahrestagung f&uuml;r K&uuml;nstliche Intelligenz, Bonn, 1994, pp. 5. </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=000106&pid=S1692-3324201100010001400002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><FONT SIZE="2" FACE="Verdana">&#91;3&#93;	N. Omar <I>et al.,</I> &quot;Heuristics-based entity-relationship modelling through natural Language processing,&quot; en Fifteenth Irish Conference on Artificial Intelligence and Cognitive Science (AICS-04), Galway, Ireland, 2004. </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=000107&pid=S1692-3324201100010001400003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><FONT SIZE="2" FACE="Verdana">&#91;4&#93;	F. Gomez <I>et al.,</I> &quot;A system for the semiautomatic generation of ER models from natural language specifications,&quot; <I>Data and Knowledge Engineering,</I> vol. 29, no. 1, pp. 57-81, 1999. </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=000108&pid=S1692-3324201100010001400004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><FONT SIZE="2" FACE="Verdana">&#91;5&#93;	E. Christoph, y P. C. Lockemann, &quot;Acquisition of Terminology Knowledge Using Database Design Techniques,&quot; en ACM SIGMOD Conference, New York, 1985. </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=000109&pid=S1692-3324201100010001400005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><FONT SIZE="2" FACE="Verdana">&#91;6&#93;	A. Gangopadhyay, &quot;Conceptual modeling from natural language functional specifications,&quot; <I>Artificial Intelligence in Engineering,</I> vol. 15, no. 2, pp. 207-218, 2001. </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=000110&pid=S1692-3324201100010001400006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><FONT SIZE="2" FACE="Verdana">&#91;7&#93;	C. M. Zapata <I>et al.,</I> &quot;UN-Lencep: Obtenci&oacute;n autom&aacute;tica de diagramas UML a partir de un lenguaje controlado,&quot; presentado a 3er Taller en tecnolog&iacute;as del Lenguaje Humano del Encuentro Nacional de Computaci&oacute;n, San Luis Potos&iacute;, 2006. </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=000111&pid=S1692-3324201100010001400007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><FONT SIZE="2" FACE="Verdana">&#91;8&#93;	F. Bodart <I>et al.,</I> &quot;Architecture Elements for Highly-Interactive Business-Oriented Applications,&quot; en Lecture Notes in Computer Science, Mosc&uacute;, 1993. </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=000112&pid=S1692-3324201100010001400008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><FONT SIZE="2" FACE="Verdana">&#91;9&#93;	F. Bodart, y J. Vanderdonckt, &quot;On the Problem of Selecting Interaction Objects.&quot; in a Proceedings of BCS Conf. HCI'94 People and Computers IX, Cambridge: Cambridge University Press, pp. 163-178, 1994. </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=000113&pid=S1692-3324201100010001400009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><FONT SIZE="2" FACE="Verdana">&#91;10&#93;	F. Bodart <I>et al.,</I> &quot;Towards a Systematic Building of Software Architectures: the TRIDENT methodological guide.&quot; in 2nd Eurographics Workshop on Design, Specification, Verification of Interactive Systems DSV-IS'95, Viena: Springer- Verlag, pp. 262-278, 1995. </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=000114&pid=S1692-3324201100010001400010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><FONT SIZE="2" FACE="Verdana">&#91;11&#93;	J. Vanderdonckt, y F. Bodart, &quot;Encapsulating Knowledge for Intelligent Automatic Interaction Objects Selection.&quot; in Proceedings of the Conference on Human Factors in Computing Systems InterCHI'93 &quot;Bridges Between Worlds&quot;, Amsterdam: ACM Press, pp. 424-429, 1993. </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=000115&pid=S1692-3324201100010001400011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><p>&nbsp;</p>       <p><FONT SIZE="2" FACE="Verdana"> <B>Recibido:</B> 08/03/2011 <B>    <BR> Aceptado:</B> 11/05/2011 														  </FONT></p>      ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Chen]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[English sentence structure and entity relationship diagrams]]></article-title>
<source><![CDATA[Information Sciences]]></source>
<year>1983</year>
<volume>29</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>127-149</page-range></nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Buchholz]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
<name>
<surname><![CDATA[Düsterhöft]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<source><![CDATA[Using natural language for database design]]></source>
<year></year>
<conf-name><![CDATA[ Deutsche Jahrestagung für Künstliche Intelligenz]]></conf-name>
<conf-date>1994</conf-date>
<conf-loc>Bonn </conf-loc>
<page-range>5</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[Omar]]></surname>
<given-names><![CDATA[N.]]></given-names>
</name>
</person-group>
<source><![CDATA[Heuristics-based entity-relationship modelling through natural Language processing]]></source>
<year></year>
<conf-name><![CDATA[Fifteenth Irish Conference on Artificial Intelligence and Cognitive Science (AICS-04)]]></conf-name>
<conf-date>2004</conf-date>
<conf-loc>Galway </conf-loc>
</nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Gomez]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A system for the semiautomatic generation of ER models from natural language specifications]]></article-title>
<source><![CDATA[Data and Knowledge Engineering]]></source>
<year>1999</year>
<volume>29</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>57-81</page-range></nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="confpro">
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ ACM SIGMOD Conference]]></conf-name>
<conf-date>1985</conf-date>
<conf-loc>New York </conf-loc>
</nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Gangopadhyay]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Conceptual modeling from natural language functional specifications]]></article-title>
<source><![CDATA[Artificial Intelligence in Engineering]]></source>
<year>2001</year>
<volume>15</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>207-218</page-range></nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Zapata]]></surname>
<given-names><![CDATA[C. M.]]></given-names>
</name>
</person-group>
<source><![CDATA[UN-Lencep: Obtención automática de diagramas UML a partir de un lenguaje controlado]]></source>
<year>2006</year>
<conf-name><![CDATA[3 Taller en tecnologías del Lenguaje Humano del Encuentro Nacional de Computación]]></conf-name>
<conf-loc>San Luis Potosí </conf-loc>
</nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bodart]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
</person-group>
<source><![CDATA[Architecture Elements for Highly-Interactive Business-Oriented Applications]]></source>
<year></year>
<conf-name><![CDATA[ Lecture Notes in Computer Science]]></conf-name>
<conf-date>1993</conf-date>
<conf-loc>Moscú </conf-loc>
</nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bodart]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
<name>
<surname><![CDATA[Vanderdonckt]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[On the Problem of Selecting Interaction Objects]]></article-title>
<source><![CDATA[Proceedings of]]></source>
<year>1994</year>
<conf-name><![CDATA[IX BCS Conf. HCI'94 People and Computers]]></conf-name>
<conf-loc> </conf-loc>
<page-range>163-178</page-range><publisher-loc><![CDATA[Cambridge ]]></publisher-loc>
<publisher-name><![CDATA[Cambridge University Press]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bodart]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Towards a Systematic Building of Software Architectures: the TRIDENT methodological guide]]></article-title>
<source><![CDATA[]]></source>
<year>1995</year>
<conf-name><![CDATA[2 Eurographics Workshop on Design, Specification, Verification of Interactive Systems DSV-IS'95]]></conf-name>
<conf-loc> </conf-loc>
<page-range>262-278</page-range><publisher-loc><![CDATA[Viena ]]></publisher-loc>
<publisher-name><![CDATA[Springer- Verlag]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Vanderdonckt]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Bodart]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Encapsulating Knowledge for Intelligent Automatic Interaction Objects Selection]]></article-title>
<source><![CDATA[Proceedings of the]]></source>
<year>1993</year>
<conf-name><![CDATA[ Conference on Human Factors in Computing Systems InterCHI'93 "Bridges Between Worlds"]]></conf-name>
<conf-loc> </conf-loc>
<page-range>424-429</page-range><publisher-loc><![CDATA[Amsterdam ]]></publisher-loc>
<publisher-name><![CDATA[ACM Press]]></publisher-name>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
