Universidad de Costa Rica
|
|
-- Entidad Relación Atributo Valor CREATE TABLE [ERAV] ( [ID_ENT] INTEGER NOT NULL, -- <K+++> <E> Entidad -- [REL] NOT NULL, <R> Relación [REL_ID] SMALLINT NOT NULL, -- <+K++> [REL_SUB] SMALLINT NOT NULL, -- <++K+> [REL_TYPE] CHAR(01) NOT NULL, [ATTRIB] INTEGER NOT NULL, -- <+++K> <A> Atributo -- [VAL] NOT NULL, -- Solo uno no es NULL <V> Valor [VAL_INT] INTEGER, -- entero o referencia a "WORD" [VAL_FLOAT] FLOAT, -- punto flotante [VAL_TIME] TIMESTAMP, -- tiempo [VAL_DATE] DATE, -- fecha [VAL_HOUR] TIME, -- hora [VAL_BLOB] BLOB, -- valor binario enorme CONSTRAINT [ERAV_KEY] UNIQUE ( [ID_ENT],[REL_ID],[REL_SUB],[ATTRIB] ) ); |
Implemente un reconcedor que reciba sentencias SQL que declaren una base de datos y genere un documento XML que describa esa base de datos. Use Lex.
<table name="ERAV"> <item name="[ID_ENT]" type="INTEGER" attrib="NOT NULL" /> <item name="[REL_ID]" type="SMALLINT" attrib="NOT NULL" /> <item name="[REL_SUB]" type="SMALLINT" attrib="NOT NULL" /> <item name="[REL_TYPE]" type="CHAR(01)" attrib="NOT NULL" /> <item name="[ATTRIB]" type="INTEGER" attrib="NOT NULL" /> <item name="[VAL_INT]" type="INTEGER" /> <item name="[VAL_FLOAT]" type="FLOAT" /> <item name="[VAL_TIME]" type="TIMESTAMP" /> <item name="[VAL_DATE]" type="DATE" /> <item name="[VAL_HOUR]" type="TIME" /> <item name="[VAL_BLOB]" type="BLOB" /> <constraint name="[ERAV_KEY]" attrib ="UNIQUE"> <item name="[ID_ENT]" /> <item name="[REL_ID]" /> <item name="[REL_SUB]" /> <item name="[ATTRIB]" /> </constraint> </table> |
Entregue su tarea por correo electrónico, como lo hizo anteriormente.
Tiempo de entrega: | 10 días |
|
|
Primera etapa: | 7 días | ||
Modalidad: | En parejas |
Adolfo Di Mare <adolfo@di-mare.com>.
|