Upload
angela-noyola
View
105
Download
1
Embed Size (px)
Citation preview
Concepción de Sistemas de InformaciónInstituto de Computación – Facultad de Ingeniería – Universidad de la República
Estudio de modelos y técnicas de workflow en vista a la definición de un proceso para la carga y mantenimiento de data
warehouses
SEMINARIO
Presentación día 18 con fecha 28/12/2001
Artículo: Conceptualización de DW de Enseñanza
Expositor: Ignacio Larrañaga
Índice
Contexto– Objetivos Generales y Específicos.
Arquitectura del DW de Enseñanza– Data Warehouse, Repositorio de Fuente de Datos, Datos
Auxiliares y Correspondencias Proceso de Carga
– Data Warehouse, Repositorio de Fuente de Datos, Datos Auxiliares y Correspondencias
Posibles Líneas de Trabajo Conclusiones Bibliografía
Objetivos Generales
El objetivo principal de este proyecto es construir un Sistema Informático al servicio de la Investigación Educativa, que permita el acceso flexible a información sobre actividades curriculares para la construcción de perfiles numéricos y evaluación de parámetros en la relación educación-plan de estudios.
Este sistema debe servir como apoyo a la toma de decisiones tanto en la asignación optima de los recursos educativos como en la evolución de las curriculas.
Este proyecto apunta también al fortalecimiento de los sistemas de información de apoyo a la toma de decisiones en la Facultad de Ingeniería, especialmente en el área de la enseñanza.
Informacion extraida de [SIAEE]
Informacion extraida de [SIAEE]
Objetivos Específicos
Los objetivos específicos del proyecto se enmarcan en los siguientes ítems:
– Fortalecimiento de las UAE y mejoramiento de la formación y evaluación docente vinculadas con el asesoramiento a los docentes en materia de gestión, de metodologías y de evaluación de enseñanza.
– Construcción de una base de datos con datos extraídos del Sistema de Bedelia, e implementación de su actualización de forma que sea transparente para los usuarios que la exploten.
– Implementación de reportes y consultas pre-definidas sobre valores de indicadores significativos a ser evaluados en forma permanente en la facultad.
Arquitectura del DW
Esta estructurado en tres capas.
La tercer capa corresponde al Data Warehouse propiamente dicho .
Datos Auxiliares yCorrespondencias
Repositorio deDatos Fuente
Data Warehouse
MER del DW
Para entender que es lo que hay en este comentare brevemente la información que hay en el DW.
Existen carreras, que pertenecen a un plan y sobre las cuales se manejan perfiles.
Estas carreras tienen materias que a su vez pueden estar en varias carreras.
BD_CARRERAS(CC_CODCARR,
CC_PERFIL,CC_PLAN)
BD_MATERIAS(MA_CODMAT)
BD_MAT_CARR
N
N
Los campos dentro de parentesis son los que identifican las entidades, por simplicidad los otros no fueron agregados.
Los campos dentro de parentesis son los que identifican las entidades, por simplicidad los otros no fueron agregados.
Datos Auxiliares yCorrespondencias
Repositorio deDatos Fuente
Data Warehouse
MER del DW (II)
Estas materias a su vez agrupan asignaturas que son dictadas por un instituto.
BD_CARRERAS(CC_CODCARR,
CC_PERFIL,CC_PLAN)
BD_INSTITUTOS(IN_CODINST)
BD_MATERIAS(MA_CODMAT)
BD_MAT_CARR
N
N
N1
INSTITUTO_ASIGNATURA
N
1
BD_ASIGNATURAS(AS_CODAS)
ASIGNATURAS_CARRERAS_
MATERIAS
En rojo se encuentran las relaciones que no tenían correspondiente en la base de datos.
En rojo se encuentran las relaciones que no tenían correspondiente en la base de datos.
Datos Auxiliares yCorrespondencias
Repositorio deDatos Fuente
Data Warehouse
MER del DW (III)
Por otro lado están los estudiantes, que estudian en diferentes carreras, y tienen cierto desempeño; al mismo tiempo que avanzan en las materias de la carrera.
BD_CARRERAS(CC_CODCARR,
CC_PERFIL,CC_PLAN)
BD_ESTUDIANTES(ES_CI)
BD_EST_CARRBD_AVANCE
BD_MATERIAS(MA_CODMAT)
BD_MAT_CARR
N
N
N
N
N
N
BD_DESEMPENIO
N
N
Datos Auxiliares yCorrespondencias
Repositorio deDatos Fuente
Data Warehouse
BD_CARRERAS(CC_CODCARR,
CC_PERFIL,CC_PLAN)
BD_ESTUDIANTES(ES_CI)
BD_EST_CARR
BD_EGRESOS_TITULOS(ET_CODTITULO)
BD_LUGARES(LU_CODLUGAR)
N
N
LUGAR_ESTUDIANTEN1
ESTUDIANTES_DE_CARRERAS_QUE
_EGRESAN
MER del DW (IV)
Los estudiantes son de distintos lugares, y egresan de las carreras en las que estudian obteniendo títulos.
Datos Auxiliares yCorrespondencias
Repositorio deDatos Fuente
Data Warehouse
MER del DW (V)
Estos estudiantes, de asignaturas que corresponden a materias, registran actividades, asociadas a institutos.
BD_ACTIVIDADES(AC_FECHA,
AC_TIPOACT,AC_CURRI)
BD_ESTUDIANTES(ES_CI)
BD_INSTITUTOS(IN_CODINST)
BD_MATERIAS(MA_CODMAT)
REGISTRO_ACTIVIDAD
INSTITUTO_ACTIVIDAD
1
N
BD_ASIGNATURAS(AS_CODAS)
Datos Auxiliares yCorrespondencias
Repositorio deDatos Fuente
Data Warehouse
Como habiamos visto las asignaturas tambien se relacionaban con Institutos
Como habiamos visto las asignaturas tambien se relacionaban con Institutos
MER del DW (VI)
Finalmente, los estudiantes de asignaturas (correspondientes con materias) se inscriben a cursos dictados por estos institutos (claramente el instituto debe dictar la asignatura, etc., etc.).
BD_ESTUDIANTES(ES_CI)
BD_INSTITUTOS(IN_CODINST)
BD_MATERIAS(MA_CODMAT)
BD_INSCUR(IC_ANIO,
IC_NROCURSO)
INSCRIPCION_ASIGNATURA
INSTITUTO_INSCRIPCION1 N
INSTITUTO_ASIGNATURA
N
1
BD_ASIGNATURAS(AS_CODAS)
Datos Auxiliares yCorrespondencias
Repositorio deDatos Fuente
Data Warehouse
Diseño Físico del DW
Básicamente solo para mostrar la complejidad del diseño de este.
BD_ESTUDIANTES
PK ES_CI
ES_NOMESTES_FECHANACES_NROESTES_SEXOES_GENERACIONES_SECUNDARIA
FK1 LU_CODLUGAR
BD_LUGARES
PK LU_CODLUGAR
LU_NOMLUGAR
BD_EST_CARR
PK,FK2 ES_CIPK,FK1 CC_CODCARRPK,FK1 CC_PLANPK,FK1 CC_PERFIL
EC_FECHAINGEC_CALINSCEC_FECHAFINEC_PORCAMBIO
FK2 ES_GENERACION
BD_CARRERAS
PK,FK1,FK2,FK3 CC_CODCARRPK,FK1,FK2 CC_PLANPK,FK1,FK2,FK3,FK3 CC_PERFIL
CC_NOMCARRCC_NOMPERFILCC_TIPOPLANCC_CREDITOSMIN
BD_INSCUR
PK,FK2 ES_CIPK,FK4 MA_CODMATPK,FK1 AS_CODASPK IC_ANIOPK IC_NROCURSO
FK2 ES_GENERACIONFK3 IN_CODINST
BD_MATERIAS
PK MA_CODMAT
MA_NOMMAT
BD_ASIGNATURAS
PK CC_CODCARRPK CC_PLANPK CC_PERFILPK,FK3 MA_CODMATPK,FK1 AS_CODAS
AS_NOMASAS_CREDITOSAS
FK2 IN_CODINSTAS_SEMESTRE
BD_INSTITUTOS
PK IN_CODINST
IN_NOMINST
BT_MAT_CARR
PK,FK1 CC_CODCARRPK,FK1 CC_PLANPK,FK1 CC_PERFILPK,FK2 MA_CODMAT
MA_CREDITOSMIN
BD_EGRESOS_TITULOS
PK,FK2 ES_CIPK,FK1 CC_CODCARRPK,FK1 CC_PLANPK,FK1 CC_PERFILPK ET_CODTITULO
ET_FECHATITET_NOMTITET_TIPOTITET_REVALIDA
BD_DESEMPENIO
PK,FK1,FK2 ES_CIPK,FK1 CC_CODCARRPK,FK1 CC_PLANPK,FK1 CC_PERFIL
FK1 EC_FECHAINGRDE_ANIODE_DESEMPENIODE_AVANCE
BD_ACTIVIDADES
PK,FK1 ES_CIPK,FK3 MA_CODMATPK AS_CODASPK AC_FECHAPK AC_TIPOACTPK AC_CURRI
FK1 ES_GENERACIONAC_PERIODOAC_NOMPERIODOAC_TIPOACTIVIDADAC_TIPORESULTADOAC_NOTAAC_CREDITOSAC_ANIOAC_APRUEBAASAC_TIPOGEN
FK2 IN_CODINST
Datos Auxiliares yCorrespondencias
Repositorio deDatos Fuente
Data Warehouse
Las claves foraneas se deducieron, dado que no estaban en el manual [MANDWE] porque lo que tome fue un manual de usuario.
Tampoco se si en realidad se establecieron.
Las claves foraneas se deducieron, dado que no estaban en el manual [MANDWE] porque lo que tome fue un manual de usuario.
Tampoco se si en realidad se establecieron.
Arquitectura del DW (II)
La segunda capa o capa intermedia corresponde a aquellas tablas que son cargadas con los datos extraídos mediante los scripts de la base de datos de Bedelía.
Datos Auxiliares yCorrespondencias
Repositorio deDatos Fuente
Data Warehouse
Diseño Físico de la Capa Intermedia
IN_GRUPOS
GRPNOMGRPCRMINCRMAX
IN_EGRESOS
CARRCICLOTITULONOMTITESTCIFECEGREVALIDATIPOTIT
IN_ACTIVIDADES
ESTCIASIGTACTNOTAFECHACURRITGENPERTIPOPERCODINSTOBS
IN_INSCUR
ESTCIASIGFECINSNROCURSO
IN_INSTIT
INSTNOMINST
IN_LUGARES
LUGARNOMLUGAR
IN_ESTCARR
ESTCICARRCICLOFECINGFECEGLUGAROBSCALINSCPORCAMBIO
IN_ASIGCARR
CARRCICLOASIGNOMASIGCODMATTIPOEXOCREDITOSINST
IN_MATERIAS
CARRCICLOCODMATNOMMATCRMAT
IN_ESTUDIANTES
ESTCINOMESTLUGARNACIDOSEXOANIOINSTDIRTELEST
IN_ASIGRUP
GRPASIGTACT
IN_CARRERAS
CARRNOMCARRPLANCICLONOMCICTIPOCICCRMINC
Datos Auxiliares yCorrespondencias
Repositorio deDatos Fuente
Data Warehouse
Problemas vistos al revisar la Capa Intermedia
Problemas vistos al revisar la documentación:– Las tablas de datos para esta capa no tienen
claves.– Problemas con tipos de datos (p.e.
IN_ACTIVIDADES.FECHA Numeric(18,0))
Datos Auxiliares yCorrespondencias
Repositorio deDatos Fuente
Data Warehouse
Arquitectura del DW (III)
– La primer capa está formada por tablas auxiliares y tablas que se utilizan para establecer correspondencias entre los datos de Bedelía y los datos del Data Warehouse.
Datos Auxiliares yCorrespondencias
Repositorio deDatos Fuente
Data Warehouse
Diseño Físico de la Capa Auxiliar
Estas tablas, básicamente de mapeos, catalogos internos y logs forman la capa intermedia.
Datos Auxiliares yCorrespondencias
Repositorio deDatos Fuente
Data Warehouse
AX_ASIG_SEM
PK CARRPK CICLOPK CODMATPK ASIGORI
NOMASIGCREDITOSSEMESTRENUEVA
AX_MAPEO_CARRERAS
PK CARRPK CICLO
CC_CODCARRCC_PLANCC_PERFILCC_NOMPERFILCC_CREDITOSMIN
AX_CARRERAS
PK CC_CODCARR
CC_NOMCARR
AX_ERRORES
PK CODIGO
DESCRIPCION
AX_MAPEO_MATERIAS
PK CODMATORIPK CODMATUNIPK CARRPK CICLO
NOMMATUNICC_CODCARRCC_PLANCC_PERFIL
AX_LOG_CARGA
NOM_PACKNOM_TRASNFFECHAT_ORIGT_DESTERRMAS_INFO
AX_RESPA_MATERIAS
PK CODMATORIPK CODMATUNIPK CARRPK CICLO
NOMMATUNICC_CODCARRCC_PLANCC_PERFILMA_CREDITOSMIN
AX_MAPEO_ASIGNATURAS
PK ASIGORIPK ASIGUNIPK CARRPK CICLOPK CODMATUNI
NOMASIGUNICODMATORIINSTCREDITOSSEMESTRECC_CODCARRCC_PLANCC_PERFIL AX_PARAMETROS
PK AXPARA1
AXPARA2ACTIVIDADESASIGYRELACIONADOSESTYRELACIONADOSINSCRIPACURSOMANTCREDMATALTAMAPEOCARRBAJAMAPEOCARRALTAMAPEOMATBAJAMAPEOMATALTACARRDWBAJACARRDWMODCARRDWCAPAINTERMEDIACAPAINTERMEDIAINSCCAPAINTERMEDIAACTSAVANCEDESEMPEÑOMANTSEMASIGCREDCARR
Datos de la Capa Auxiliar
Catalogos:– AX_CARRERAS, AX_ERRORES, AX_ASIG_SEM
Mapeos:– AX_MAPEO_ASIGNATURAS,
AX_MAPEO_CARRERAS, AX_MAPEO_MATERIAS,
Logs:– AX_PARAMETROS, AX_LOG_CARGA
Datos Auxiliares yCorrespondencias
Repositorio deDatos Fuente
Data Warehouse
Proceso de Carga
Procesos:1. Capa Intermedia
1. Base de Datos2. Inscripciones a Curso3. Actividades
2. Data Warehouse1. Estudiantes, Carreras,
Inscripción a Carreras, Egresos
2. Inscripciones a Curso3. Actividades4. Avance por Materia5. Desempeño por Carrera
3. Data Warehouse (II)1. Asignaturas, Materias,
Materias de Carreras, Asignaturas de Carreras
P 1.1
Capa Intermedia
Data Warehouse
P 1.2
P 1.3
P 2.1
P 2.2
P 2.3
P 2.4
P 2.5
P 3.1
P1.1 (Capa Intermedia – Base de Datos)
En este proceso se realiza la carga de la capa intermedia (con datos de estudiantes, carreras, asignaturas, etc.)
Por lo que entiendo de este proceso básicamente se trata de levantar datos de archivos ASCII (porque por alguna razón no se dio acceso a los datos de Bedelia directamente). Por lo que aparentemente no reviste ninguna complejidad y podría ser realizado con cualquier utilitario para importar archivos de texto en tablas.
P1.2 (Capa Intermedia – Inscripciones a Curso)
Con este proceso se realiza la carga de la capa intermedia con datos de inscripciones a curso.
Merece la misma observación que en el caso anterior, o sea aparentemente no reviste complejidad excesiva.
IN_INSCUR
ESTCIASIGFECINSNROCURSO
P1.3 (Capa Intermedia – Actividades)
Con este proceso se realiza la carga de la capa intermedia con datos de las actividades de los estudiantes.
Nuevamente lo mismo que en el caso anterior.IN_ACTIVIDADES
ESTCIASIGTACTNOTAFECHACURRITGENPERTIPOPERCODINSTOBS
P2.1 (DW – Estudiantes, Carreras, Estudiantes insc. Carreras, Egresos)
En esta etapa se cargan en el DW a partir de lo ya tomado en la capa intermedia todo lo que se lista en el titulo de esta diapositiva.
Como se mostrara con dos ejemplos (Estudiantes y Carreras) tomando “conceptualmente” lo que hay que hacer se podría realizar usando SQL.
Es de notar que no se llego al detalle de los procesos, por lo que podría haber aspectos que invaliden esta suposición.
Mapeo de Estudiantes
Conjeturando la siguiente SQL podría realizar la carga:
select ESTCI as ES_CI, NOMEST as ES_NOMEST, NACIDO as ES_FECHANAC, EST as ES_NROEST, SEXO as ES_SEXO, “Generación” + FECING as ES_GENERACION, INST as ES_SECUNDARIA, LUGAR as LU_CODLUGAR
from IN_ESTUDIANTES, IN_LUGARES, IN_ESTCARR
where IN_ESTUDIANTES.ESTCI = IN_ESTCARR.ESTCI and IN_ESTCARR.FECING = (select min (FECING)from IN_ESTCARRwhere ESTCI = IN_ESTUDIANTES.ESTCI)
BD_ESTUDIANTES
PK ES_CI
ES_NOMESTES_FECHANACES_NROESTES_SEXOES_GENERACIONES_SECUNDARIA
FK1 LU_CODLUGAR
IN_ESTUDIANTES
ESTCINOMESTLUGARNACIDOSEXOANIOINSTDIRTELEST
IN_LUGARES
LUGARNOMLUGAR
BD_LUGARES
PK LU_CODLUGAR
LU_NOMLUGAR
IN_ESTCARR
ESTCICARRCICLOFECINGFECEGLUGAROBSCALINSCPORCAMBIO
Mapeo de Estudiantes (II)
Finalmente nos falto:select LUGAR as
LU_CODLUGAR, NOMLUGAR as LU_NOMLUGAR
from IN_LUGARES
BD_ESTUDIANTES
PK ES_CI
ES_NOMESTES_FECHANACES_NROESTES_SEXOES_GENERACIONES_SECUNDARIA
FK1 LU_CODLUGAR
IN_ESTUDIANTES
ESTCINOMESTLUGARNACIDOSEXOANIOINSTDIRTELEST
IN_LUGARES
LUGARNOMLUGAR
BD_LUGARES
PK LU_CODLUGAR
LU_NOMLUGAR
IN_ESTCARR
ESTCICARRCICLOFECINGFECEGLUGAROBSCALINSCPORCAMBIO
Mapeo de Carreras
Carreras– Se fusionan varios códigos de carrera en uno único.– Se ofrecen valores por defecto.
Mapeo de carreras– <Carrera, Ciclo, Nombre Carrera, Nombre Ciclo, Plan,
Créditos> => <Carrera, Nombre Carrera>– Mapeo 1:1.– Si no hay créditos se solicitan en el momento de establecer el
Mapeo. Créditos de Carreras
– En base al mapeo establecido y que cada mapeo tiene créditos se permiten modificar.
Mapeo de Carreras (II)
BD_CARRERAS
PK,FK1,FK2,FK3 CC_CODCARRPK,FK1,FK2 CC_PLANPK,FK1,FK2,FK3,FK3 CC_PERFIL
CC_NOMCARRCC_NOMPERFILCC_TIPOPLANCC_CREDITOSMIN
IN_CARRERAS
FK1 CARRNOMCARRPLAN
FK1 CICLONOMCICTIPOCICCRMINC
AX_CARRERAS
PK CC_CODCARR
CC_NOMCARR
AX_MAPEO_CARRERAS
PK CARRPK CICLO
FK1,FK2 CC_CODCARRFK1 CC_PLANFK1 CC_PERFIL
CC_NOMPERFILCC_CREDITOSMIN
Tabla final en el Data Warehouse Tablas Auxiliares
de Mapeo y Definicion.
Tabla Original
Mapeo de Carreras (III)
En la diapositiva anterior se puede ver como todos los datos en el data warehouse se obtienen directamente de las dos capas inferiores.
Conjeturando se podría obtener con una SQL como esta (o una variación operando con los campos para formar nuevos valores concatenando cosas):select CC_CODCARR, CC_PLAN, CC_PERFIL, CC_NOMCARR,
CC_NOMPERFIL, TIPOCIC AS CC_TIPOPLAN, CC_CREDITOSMINfrom AX_MAPEO_CARRERAS, AX_CARRERAS, IN_CARRERASwhere AX_MAPEO_CARRERAS.CC_CODCARR =
AX_CARRERAS.CC_CODCARR and AX_MAPEO_CARRERAS.CARR = IN_CARRERAS.CARR and AX_MAPEO_CARRERAS.CICLO = IN_CARRERAS.CICLO
Otros Datos Auxiliares
Además de los procesos anteriores en esta etapa se procesan datos ingresados por el usuario para agregarlos al Data Warehouse. Como por ejemplo:– Mapeo de Materias
Debido a que en la base de datos de Bedelía no se maneja el concepto de materia.
Mapeo N:1.
– Semestres de Asignaturas
Procedimientos Almacenados Relacionados
Obviamente hay otro tipo de acciones que son tomadas en este momento, por ejemplo el calculo de los creditos minimos de una carrera.
Para esto se encontro un procedimiento almacenado que hacia el procesamiento, el cual se muestra a continuacion.
Procedimientos Almacenados Relacionados (II)
create procedure ActualMATERIASas
-- variables locales al procedimientodeclare @CARR intdeclare @PLAN varchar(30)declare @PERFIL intdeclare @CODMAT varchar(6)declare @CNTCRED int
declare Materias cursor forselect C.CC_CODCARR, C.CC_PLAN, C.CC_PERFIL, MC.MA_CODMATfrom BD_MAT_CARR MC, BD_CARRERAS Cwhere upper(C.CC_TIPOPLAN) <> 'C' and C.CC_CODCARR =
MC.CC_CODCARR and C.CC_PLAN = MC.CC_PLAN and C.CC_PERFIL = MC.CC_PERFIL
OPEN Materiasfetch next from Materias INTO @CARR, @PLAN, @PERFIL, @CODMAT
Procedimientos Almacenados Relacionados (III)
WHILE (@@FETCH_STATUS = 0) BEGINbegin transactionset @CNTCRED = 0set @CNTCRED = (
select count(*) from BD_ASIGNATURAS Awhere A.CC_CODCARR = @CARR and A.CC_PLAN = @PLAN and
A.CC_PERFIL = @PERFIL and A.MA_CODMAT = @CODMAT )
if (@CNTCRED is null) beginset @CNTCRED = 0
end
update BD_MAT_CARR set MA_CREDITOSMIN = @CNTCRED where CC_CODCARR = @CARR and CC_PLAN = @PLAN and CC_PERFIL = @PERFIL and
MA_CODMAT = @CODMAT
commit transactionfetch next from Materias INTO @CARR, @PLAN, @PERFIL, @CODMAT
END
CLOSE MateriasDEALLOCATE Materias
GO
Procedimientos Almacenados Relacionados (IV)
La duda que me queda es porque esto no se realizo cuando se cargaba por primera vez la tabla, tal vez algo escape a mi vision pero no podria haberse hecho de esta forma:select ......,
(select count(*) from BD_ASIGNATURAS Awhere A.CC_CODCARR = @CARR and A.CC_PLAN = @PLAN and A.CC_PERFIL =
@PERFIL and A.MA_CODMAT = @CODMAT) as CREDITOSMIN.....
from ....
Cuando se cargaro la tabla BD_MAT_CARR, o como otra opcion colocando los datos en una vista para consultarlos en el momento de cargar BD_MAT_CARR??
P2.2 (DW – Inscripciones a Curso)
Con este proceso se realiza la carga del Data Warehouse con datos de inscripciones a curso.
Lo que se realiza a mi entender podría ser comparable con lo mostrado anteriormente, es decir armar consultas para reunir información y así tenerla disponible para el DW. Claramente estoy hablando muy superficialmente del proceso dado que no llegue a estudiarlo.
P2.3 (DW – Actividades)
De la misma manera que antes este proceso me parece comparable con los anteriores (misma observacion).
Un aspecto a tener en cuenta que pudo haber guiado la implementacion podria haber sido la performance obtenida al hacerlo con consultas.– Optimizacion de Consultas vs Programacion
Estructurada, para resolver el mismo problema.
P2.4 (DW – Avance por Materia)
Este procedimiento parece claramente mas complicado.
No voy a mostrar el procedimiento almacenado que realiza esto (porque llevaria muchas transparencias y no aportaria a mi entender) pero conceptualmente creo se entiende lo que hace para calcular el avance.
Sin embargo si mostrare algunas secciones que me parecen interesantes, mas por lo que se puede ver a simple vista que por el codigo mismo.
P2.4 (DW – Avance por Materia) (II)
IF (Upper(@CCTIPOPLAN) = 'C') BEGIN
SET @TOT =(select case when SUM(AC_CREDITOS) is null then 0 else SUM(AC_CREDITOS) end
from BD_ACTIVIDADES
where Upper(AC_APRUEBAAS) = 'S' and
Upper(AC_TIPORESULTADO) = 'APROBADO' and
ES_CI = @ESTCI and
MA_CODMAT = @MAT)
END
ELSE BEGIN
SET @TOT = (select COUNT(*) from BD_ACTIVIDADES
where Upper(AC_APRUEBAAS) = 'S' and
Upper(AC_TIPORESULTADO) = 'APROBADO' and
ES_CI = @ESTCI and
MA_CODMAT = @MAT)
END
P2.4 (DW – Avance por Materia) (III)
IF (not (@CREDMIN is null)) BEGINIF (@CREDMIN <> 0) BEGIN
IF ( not (@TOT is null)) BEGINSET @VALOR = ((@TOT * 100) / @CREDMIN) IF (@VALOR >=0 and @VALOR <= 10) BEGIN
SET @AV = '0 a 10%'ENDELSE BEGIN
IF (@VALOR > 10 and @VALOR <= 70) BEGINSET @AV = '11 a 70%'
ENDELSE BEGIN
IF (@VALOR > 70 and @VALOR <= 99) BEGINSET @AV = '71 a 99%'
ENDELSE BEGIN
SET @AV = '100%'END
ENDEND
END
P2.4 (DW – Avance por Materia) (IV)
ELSE BEGIN
SET @VALOR = 0
SET @AV = 'NO CALC. SUM NULL'
END
END
ELSE BEGIN
SET @VALOR = 0
SET @AV = 'NO CALC. CRED 0'
END
END
ELSE BEGIN
SET @VALOR = 0
SET @AV = 'NO CALC. CRED NULL'
END
insert into BD_AVANCE values (@ESTCI,@CCCODCARR,@CCPLAN,@CCPERFIL,@MAT,@FECHA_ACT,@VALOR,@AV)
P2.5 (DW – Desempeño por Carrera)
Nuevamente lo mismo que en el caso anterior el procedimiento parece claramente complicado.
Claramente es del mismo corte que el anterior. En ambos procedimientos me quedo la duda
que no se podria hacer sin usar SQL (porque no lo pude mirar en detalle).
P3.1 (DW – Asignaturas, Materias, Materias de Carreras, Asignaturas de Carreras)
Aquí por lo que pude entender se realiza un procesamiento similar al realizado en 2.1 (DW – Estudiantes, Carreras, Estudiantes insc. Carreras, Egresos).
Para mi la razon de la separacion es que es necesario tener cargado lo anterior al procesar este paso.
Proceso de Carga (II)
Casi finalizando:– El sistema mantiene el estado de la carga
(utilizando una tabla por lo que pude deducir).– Permite borrar el contenido del Warehouse excepto
la información para históricos.– No vi nada que controlara la recarga de datos
(entiendo por esto volver a cargar los mismos datos), no se si seria importante tampoco.
– Hay ciertos parámetros que son pedidos en tiempo de ejecución de la carga (p.e. Año de referencia para calcular el desempeño).
Sobre Log’s
Por actividad del proceso de carga (es decir por nodo que se represento en el grafo).
Filtrado por fecha de ejecución. Código de error general reúne todas las posibles fallas. Información disponible (referente a DTS):
– Nombre del paquete.– Nombre de la transformación.– Fecha.– Tabla Original.– Los demás datos no aparecían en el Manual, vi algunos en las tablas
pero son los que uno imaginaria, código de error, etc.
Posibles lineas de Trabajo
Completar la conceptualizacion de todo el trabajo. Tratar de encontrar versiones alternativas del proceso
utilizando SQL puro de ser posible y marcando que cosas no son realizables.
Tratar de expresar la transformacion mediante primitivas.
No encontre vi nada que indicara cuanto tiempo lleva una carga. Seria interesante saber cuanto demora y si se pudieran sustituir partes por p.e. SQL cuanto se penzaliza o no el proceso.
Conclusiones
Por la poca profundidad que se pudo alcanzar no se pudo detectar porque el proceso no podria ser exclusivamente SQL. Pero aparentemente esta puerta aun esta abierta.
Cual es el aporte de DTS finalmente ??– Pareceria que el proceso es controlado por la
aplicación en el sentido en que se marcan expresamente los procesos ya realizados y la interfase sugiere y guia la secuencia de ejecucion.
Conclusiones (II)
El problema global no parece excesivamente complejo (mirandolo desde mi punto de vista).
Bibliografía
[SIAEE] Sistema informático de apoyo a la evaluación de la enseñanza.
[MANDWE]: Manual de Usuario, Data Warehouse de Enseñanza.