• No se han encontrado resultados

MANUAL DE LA BASE DE DATOS APLICACIÓN BacteriumSimulatorGrid ELABORADO POR: ING. MARIO JOSÉ VILLAMIZAR CANO

N/A
N/A
Protected

Academic year: 2022

Share "MANUAL DE LA BASE DE DATOS APLICACIÓN BacteriumSimulatorGrid ELABORADO POR: ING. MARIO JOSÉ VILLAMIZAR CANO"

Copied!
10
0
0

Texto completo

(1)

   

PROYECTO APROXIMACIONES INICIALES PARA EL ESTUDIO DEL PROCESO DE ESPORULACIÓN DE  LA BACTERIA BACILLUS THURINGIENSIS PARA AUMENTAR LA EFICIENCIA EN LA PRODUCCIÓN DE 

LA DELTA ENDOTOXINA USANDO UNA APROXIMACIÓN DE CINÉTICA ESTOCÁSTICA   

     

MANUAL DE LA BASE DE DATOS ‐ APLICACIÓN BacteriumSimulatorGrid   

                 

ELABORADO POR: 

ING. MARIO JOSÉ VILLAMIZAR CANO   

                               

UNIVERSIDAD DE LOS ANDES  FACULTAD DE INGENIERÍA 

CENTRO DE INVESTIGACIÓN DE LA FACULTAD DE INGENIERÍA (CIFI)  BOGOTÁ D.C. 

(2)

TABLA DE CONTENIDO   

 

INTRODUCCIÓN ... 3 

1.  DIAGRAMA ENTIDAD ‐ RELACION ... 3 

2.  DIAGRAMA DE VISTAS MATERIALIZADAS ... 5 

3.  TAMAÑO Y TIPOS DE DATOS DE LOS REGISTROS DE LAS TABLAS ... 6 

4.  SCRIPT PARA LA CREACIÓN DE LA TABLAS ... 7 

5.  SCRIPT PARA LA CREACIÓN DE LAS VISTAS MATERIALIZADAS ... 9 

6.  FORZAR LA SINCRONIZACION DE LAS VISTAS MATERIALIZADAS ... 10 

7.  INFORMACIÓN SOBRE LAS MEJORAS EN LOS TIEMPOS DE RESPUESTA AL UTILIZAR VISTAS  MATERIALIZADAS ... 10   

               

(3)

MANUAL DE LA BASE DE DATOS ‐ APLICACIÓN BacteriumSimulatorGrid  INTRODUCCIÓN 

 

El  objetivo  de  este  documento  es  dar  una  descripción  global  de  la  forma  como  fue  diseñada  la  base  de  datos  donde  se  almacena  la  información  de  las  poblaciones  de  bacterias  ejecutada  a  través de la aplicación. 

 

El  motor  de  base  de  datos  utilizados  es  Oracle  10g  Entreprise  Edition,  la  información  generada  durante  la  ejecución  de  poblaciones  de  bacterias  es  almacenada  mediante  tablas  de  un  modelo  relacional  y  el  acceso  a  dicha  información  desde  la  aplicación  es  realizado  a  través  de  vistas  materializadas. 

 

1. DIAGRAMA ENTIDAD ‐ RELACION   

El diagrama entidad relación de la base de datos se ilustra en la siguiente figura: 

   

                                                 

(4)

 

(5)

2. DIAGRAMA DE VISTAS MATERIALIZADAS   

El diagrama de las vistas materializadas utilizadas para acceder a los datos desde de la aplicación se ilustra en la siguiente figura: 

 

   

                           

(6)

3. TAMAÑO Y TIPOS DE DATOS DE LOS REGISTROS DE LAS TABLAS   

• Tabla poblacion   

   

• Tabla Bacteria   

   

• Tabla Bac_RegValFuncion   

   

• Tabla Bac_RegistroReaccion   

Nombre de la tabla:

Nombre del campo: Tipo de Datos en JAVA Tipo de Dato en Oracle 10G Tamaño del Tipo de Dato Oracle 10G (bytes)

IDPoblacion int Number(10) 10

nombreBacteria String Varchar2(100) 100

fechaCreacionPoblacion String TimeStamp 6

estructuraBacteriaXML XML Clob 20000

20116 Poblacion

Tamaño de cada registro de esta tabla:

Nombre de la tabla:

Nombre del campo: Tipo de Datos en JAVA Tipo de Dato en Oracle 10G Tamaño del Tipo de Dato Oracle 10G (bytes)

IDPoblacion int Number(10) 10

IDBacteria int Number(10) 10

fechaFinalizacionEjecucion Date Date 7

duracionEjecucionAlgoritmo long Number(20) 20

numeroReaccionesEjec utadas long Number(20) 20

Tamaño de cada registro de esta tabla: 67

Bacteria

Nombre de la tabla:

Nombre del campo: Tipo de Datos en JAVA Tipo de Dato en Oracle 10G Tamaño del Tipo de Dato Oracle 10G (bytes)

IDPoblacion int Number(10) 10

IDBacteria int Number(10) 10

IDFuncion String Varchar(4) 4

intervalo int Number(10) 10

tiempo double binary_double 8

valor double binary_double 8

50 Bac_RegValFuncion

Tamaño de cada registro de esta tabla:

Nombre de la tabla:

Nombre del campo: Tipo de Datos en JAVA Tipo de Dato en Oracle 10G Tamaño del Tipo de Dato Oracle 10G (bytes)

IDPoblacion int Number(10) 10

IDBacteria int Number(10) 10

IDReaccion int Number(10) 10

Bac_RegistroReaccion

(7)

4. SCRIPT PARA LA CREACIÓN DE LA TABLAS   

• Tabla Poblacion 

CREATE TABLE "Poblacion"

( "IDPoblacion" NUMBER(10,0),

"nombreBacteria" VARCHAR2(100) NOT NULL ENABLE,

"fechaCreacionPoblacion" TIMESTAMP (6) NOT NULL ENABLE,

"estructuraBacteriaXml" CLOB,

CONSTRAINT "Poblacion_IDPoblacion_pk" PRIMARY KEY ("IDPoblacion") ENABLE

) /

• Tabla Bacteria   

CREATE TABLE "Bacteria"

( "IDPoblacion" NUMBER(10,0),

"IDBacteria" NUMBER(10,0),

"fechaFinalizacionEjecucion" DATE NOT NULL ENABLE,

"duracionEjecucionAlgortimo" NUMBER(20,0) NOT NULL ENABLE,

"numeroReaccionesEjecutadas" NUMBER(20,0) NOT NULL ENABLE, CONSTRAINT "Bacteria_IDP_IDB_pk" PRIMARY KEY

("IDPoblacion", "IDBacteria") ENABLE,

CONSTRAINT "Bacteria_IDP_fk" FOREIGN KEY ("IDPoblacion") REFERENCES "Poblacion" ("IDPoblacion") ON DELETE CASCADE ENABLE

) /

• Tabla Bac_RegValFuncion 

CREATE TABLE "Bac_RegValFuncion"

( "IDPoblacion" NUMBER(10,0) NOT NULL ENABLE,

"IDBacteria" NUMBER(10,0) NOT NULL ENABLE,

"IDFuncion" VARCHAR2(4) NOT NULL ENABLE,

"intervalo" NUMBER(10,0) NOT NULL ENABLE,

"tiempo" BINARY_DOUBLE NOT NULL ENABLE,

"valor" BINARY_DOUBLE NOT NULL ENABLE,

CONSTRAINT "Bac_RegValFuncion_pk" PRIMARY KEY

("IDPoblacion", "IDBacteria", "IDFuncion", "intervalo") ENABLE, CONSTRAINT "Bac_RegValFuncion_IDP_IDB_fk" FOREIGN KEY ("IDPoblacion", "IDBacteria")

REFERENCES "Bacteria" ("IDPoblacion", "IDBacteria") ON DELETE CASCADE ENABLE

) /

(8)

• Tabla Bac_RegistroReaccion

CREATE TABLE "Bac_RegistroReaccion"

( "IDPoblacion" NUMBER(10,0) NOT NULL ENABLE,

"IDBacteria" NUMBER(10,0) NOT NULL ENABLE,

"IDReaccion" NUMBER(10,0) NOT NULL ENABLE,

"numeroVecesEjecutada" NUMBER(20,0) NOT NULL ENABLE,

CONSTRAINT "Bac_RegReaccion_pk" PRIMARY KEY ("IDPoblacion",

"IDBacteria", "IDReaccion") ENABLE,

CONSTRAINT "Bac_RegReaccion_IDP_IDB_fk" FOREIGN KEY ("IDPoblacion", "IDBacteria")

REFERENCES "Bacteria" ("IDPoblacion", "IDBacteria") ON DELETE CASCADE ENABLE

) /

• Tabla Bac_RegPobEspecie 

CREATE TABLE "Bac_RegPobEspecie"

( "IDPoblacion" NUMBER(10,0) NOT NULL ENABLE,

"IDBacteria" NUMBER(10,0) NOT NULL ENABLE,

"IDEspecie" VARCHAR2(4) NOT NULL ENABLE,

"intervalo" NUMBER(10,0) NOT NULL ENABLE,

"tiempo" BINARY_DOUBLE NOT NULL ENABLE,

"cantidad" NUMBER(10,0) NOT NULL ENABLE, CONSTRAINT "Bac_RegPobEspecie_pk" PRIMARY KEY

("IDPoblacion", "IDBacteria", "IDEspecie", "intervalo") ENABLE, CONSTRAINT "Bac_RegPobEspecie_IDP_IDB_fk" FOREIGN KEY ("IDPoblacion", "IDBacteria")

REFERENCES "Bacteria" ("IDPoblacion", "IDBacteria") ON DELETE CASCADE ENABLE

) /  

(9)

5. SCRIPT PARA LA CREACIÓN DE LAS VISTAS MATERIALIZADAS   

• POBLACION 

CREATE MATERIALIZED VIEW "ResumenPoblacion"

BUILD IMMEDIATE USING INDEX REFRESH COMPLETE AS

SELECT "IDPoblacion", COUNT("IDBacteria") AS "numeroBacterias", MIN("IDBacteria") AS "minimoIDBacteria", MAX("IDBacteria") AS

"maximoIDBacteria", AVG("duracionEjecucionAlgortimo") AS

"promedioDuracionAlgoritmo", AVG("numeroReaccionesEjecutadas") AS

"promedioNumeroReacciones"

FROM "Bacteria"

GROUP BY "IDPoblacion"

ORDER BY "IDPoblacion";

• REACCIONES 

CREATE MATERIALIZED VIEW "ResumenReaccion"

BUILD IMMEDIATE USING INDEX REFRESH COMPLETE AS

SELECT "IDPoblacion", "IDReaccion", COUNT("IDBacteria") AS

"numeroBacterias", AVG("numeroVecesEjecutada") AS

"numeroPromedioVecesEjecutada"

FROM "Bac_RegistroReaccion"

GROUP BY "IDPoblacion", "IDReaccion"

ORDER BY "IDPoblacion", "IDReaccion";

• ESPECIES DE LA POBLACION 

CREATE MATERIALIZED VIEW "ResumenEspeciePoblacion"

BUILD IMMEDIATE USING INDEX REFRESH COMPLETE AS

SELECT "IDPoblacion", "IDEspecie", "intervalo" AS "intervalo", COUNT(*) AS "numeroBacteriaTenidasEnCuenta", AVG("tiempo") AS

"tiempoPromedio", AVG("cantidad") AS "cantidadPromedio", STDDEV("cantidad") AS "desviacionEstandar"

FROM "Bac_RegPobEspecie"

GROUP BY "IDPoblacion", "IDEspecie", "intervalo"

ORDER BY "IDPoblacion", "IDEspecie", "intervalo";

• FUNCIONES DE LA POBLACION 

CREATE MATERIALIZED VIEW "ResumenFuncionPoblacion"

(10)

USING INDEX REFRESH COMPLETE AS

SELECT "IDPoblacion", "IDFuncion", "intervalo" AS "intervalo", COUNT(*) AS "numeroBacteriaTenidasEnCuenta", AVG("tiempo") AS

"tiempoPromedio", AVG("valor") AS "valorPromedio", STDDEV("valor") AS "desviacionEstandar" FROM "Bac_RegValFuncion"

GROUP BY "IDPoblacion", "IDFuncion", "intervalo"

ORDER BY "IDPoblacion", "IDFuncion", "intervalo";

6. FORZAR LA SINCRONIZACION DE LAS VISTAS MATERIALIZADAS   

Las vistas materializadas deben ser refrescadas o recreadas nuevamente para que se sincronicen  con las tablas reales, en el caso utilizado por la aplicación las vistas son recreadas, por ello cada  vez  que  se  quiera  actualizar  la  información  de  las  cuatro  vistas  materializadas,  éstas  deben  borrarse y crearse nuevamente. 

 

Para eliminar una vista materializada se debe utilizar el siguiente comando: 

 

DROP MATERIALIZED VIEW "nombre_vista_materializada"; 

 

Para crear nuevamente la vista materializada se debe ingresar el comando CREATE MATERIALIZED  VIEW correspondiente. 

 

7. INFORMACIÓN SOBRE LAS MEJORAS EN LOS TIEMPOS DE RESPUESTA AL UTILIZAR VISTAS  MATERIALIZADAS 

 

TIEMPOS ESTIMADOS PARA UNA POBLACIÓN CON 150.000 BACTERIAS   

• VENTANA PRINCIPAL DE RESULTADOS DE LA POBLACION   

TIEMPO SIN VISTAS MATERIALIZADAS: 140 SEGUNDOS  TIEMPO CON VISTAS MATERIALIZADAS: 14 SEGUNDOS 

Referencias

Documento similar

You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)