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>.
|
|
|