• No se han encontrado resultados

Cómo se puede observar en el ejemplo 4.8, el análisis de datos básicos puede realizarse mediante la ayuda de ciclos y condiciones que indiquen que elemento se esta leyendo en el vector XML, y conforme se vayan creando los objetos como: Autor, Revisor, Carrera. DirInternet, Asignatura, DatosAsignatura y Bibliografía, estos se almacenan en un tipo de datos DatosBasicos. Al final de la ejecución del código del ejemplo 4.8, se obtiene una instancia de DatosBasicos con la información referente a los DatosBasicos de un documento XML.

El mismo procedimiento para analizar datos básicos se realiza para contenidos, la búsqueda de información referente a Contenidos en un vector con información XML, se puede realizar con una serie de ciclos y condiciones que ayuden a identificar que información se esta leyendo y de esta forma ir formando los diferentes objetos considerados para Contenidos, como: Ejemplos, Objetivos, Información Extra, Descripción, Bibliografía. La única diferencia radica en que DatosBasicos sólo se presenta en una sola ocasión en un documento XML con datos de contenidos curriculares, en Cambio Contenido, puede presentarse en varias ocasiones, por lo tanto, la clase que creará Contenidos no regresaría un tipo de datos Contenido, ejemplo 4.3 , sino, un Vector con Contenidos.

4.2.2.2.4 Clases de Interacción con la Base de Datos.

Para desarrollar las clases que interactúan con la Base de Datos, es necesario haber realizado las clases que almacenan la información, definidas en la sección 4.2.2.2.1, las clases que leen los documentos XML, definidas en la sección 4.2.2.2.2, y las cuales generan un vector con la información XML en términos de Elementos y por último las clases que analizan el vector con la información XML, y la estructuran en clases, definidas en la sección 4.2.2.2.3.

Existen muchas operaciones sobre el manejo de la información en relación a las Bases de Datos. Las operaciones definidas en esta sección, son operaciones básicas a partir de las cuales se pueden realizar nuevas operaciones, de acuerdo a las necesidades particulares en el manejo de la información semiestructurada que se presenten.

Las operaciones básicas que se describen para el manejo de la información semiestructurada en la Base de Datos son:

1. Alta de Información 2. Baja de Información 3. Consultas de Información 4. Modificación de Información

El desarrollo de las operaciones es el siguiente:

4.2.2.2.4.1 Alta de Información

El alta de información semiestructurada en Base de Datos, se realizará a partir de las clases que analizan la información y la representan en términos de clases, etapa realizada en la sección 4.2.2.2.3.

Para el caso del alta de información semiestructurada de contenidos curriculares del campo de computación e informática, el alta de información se realiza de la siguiente forma:

public class AltaXML extends CConexion{

//Se ejecutan las clases que devuelven las partes del documento a analizar: DatosBasicos y Contenidos

public void Alta(Vector vectorXML){

//Para el caso de CreaDatosBasicos, se crea una instancia de la clase del ejemplo 4.8.

CreaDatosBasicos cdbCreaDBasicos = new CreaDatosBasicos();

//CreaDatosBasicos regresará un tipo de datos DatosBasicos, para lo cual se crea una //instacia de la clase del ejemplo 4.7, DatosBasicos.

//Al invocar el método CreaDBasicos de la clase CreaDatosBasicos, pasándole como

//paramento el vector con la información del documento XML en términos de Elementos, se //obtiene la información correspondiente a los datos básicos del documento que se leyó.

dbDBasicos = cdbCreaDBasicos.CreaDBasicos(vectorXML);

//Variables que obtiene la informacion de DatosBasicos

Vector vAutor = dbDBasicos.getAutor(); Vector vRevisor = dbDBasicos.getRevisor();

Vector vCarrera = dbDBasicos.getCarrera(); String strDirInternet = dbDBasicos.getDirInternet(); Vector vAsignatura = dbDBasicos.getAsignatura(); Vector vDatosAsignatura = dbDBasicos.getDatosAsignatura(); Vector vBibliografia = dbDBasicos.getBibliografia();

//Crea la Conexión a la Base de Datos, en donde Conexion(), es un método definido en // la clase CConexion, que hereda esta clase

Connection Con = Conexion();

Con.setAutoCommit(false); //Permite controlar la ejecución de commits en la BD //Se llenan las diversas tablas en la base de datos, definida en la sección 3.4.5.4 //con la información que se tiene.

//Por ejemplo: Se almacena en la Tabla TBL_CreadoPor, los autores que participan en la //creación de un contenido

for(iCont = 0; iCont < vAutor.size(); iCont++){ Persona pAutor = (Persona) vAutor.get(iCont);

strInstruccion="INSERT INTO tbl_creadopor (strIDAutor_Revisor, strIDDatosContenido) "; strInstruccion= strInstruccion+ "strIDDatosContenido) " + "values ('" + pAutor.getIDPersona(); strInstruccion= strInstruccion + "','" + strIDDatosContenido + "')";

Statement stmt = Con.createStatement();

stmt.executeUpdate(strInstruccion); //Se ejecuta la instrucción

stmt.close(); }

//Igual que para la tabla TBL_CreadoPor, se van llenando el resto de las tablas, de //acuerdo a la información con la que se cuenta

//Después de obtener y almacenar la información referente a DatosBasicos, se //obtiene y almacena la información de Contenidos

CreaContenidos ccContenidos = new CreaContenidos(); Vector vContenidos = new Vector();

vContenidos = ccContenidos.CContenidos(vectorXML); for(iCont = 0; iCont < vContenidos.size(); iCont++){ //Se obtiene un contenido

Contenido cContenido = (Contenido) vContenidos.get(iCont); //Variables que obtiene la información de un Contenido

String strIDDocumento = cContenido.getIDDocumento(); String strInformacion = cContenido.getInformacion();

String strIDPertenencia = cContenido.getIDPertenencia(); Vector vObjetivo = cContenido.getObjetivo();

Vector vDescripcion = cContenido.getDescripcion(); Vector vEjemplo = cContenido.getEjemplo();

Vector vBibliografiaC = cContenido.getBibliografia();

Vector vInformacionExtra = cContenido.getInformacionExtra();

//Se llenan las tablas relacionadas con Contenidos, de acuerdo a la información //con la que se cuente

//Llave que cierra el for que lee el vector con todos los contenidos

}

Con.commit(); //Al final se realiza un commit para asegurar los cambios en la base de datos

Con.close(); //Finalmente se cierra la conexión establecida a la base de Datos

//Llave que cierra el método Alta

}

//Llave que cierra la clase AltaXML

}

Documento similar