Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

Slides:



Advertisements
Presentaciones similares
Sección 4 Gastos Generales
Advertisements

Ingeniería de Software II
SQL Y BASES DE DATOS A TRAVÉS DE LA WEB
SISTEMAS DE GESTIÓN DE LA SEGURIDAD DE LA INFORMACIÓN
integridad referencial
Pruebas de Diseño Diplomado en Calidad en el Software NOTAS
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
Aplicación Web Programación Docente
Repaso DBD!!! (Es ahora o nunca)
Se necesita un PA que muestre la información de todos los clientes registrados de la siguiente forma: Nombre1 Nombre2, Apellido1 Apellido2 bajo el título.
Insercion de datos..
Arquitecturas de BD Modelo ANSI/SPARC
Estadísticas en SQL Server Rocío Contreras Águila, Primer Semestre 2010.
BASE DE DATOS OBJETO RELACIONAL
Introducción a Transact-SQL
SIR – Sistema de indicadores Regionales Capacitación Carátula.
GUÍA DEL POSTULANTE Esta Guía le proporcionará ayuda para realizar de manera efectiva, postulaciones a Concursos de Alta Dirección Pública.
DISEÑO DE BASE DE DATOS DISEÑO DE SOFTWARE.
Maestría en Bioinformática Bases de Datos y Sistemas de Información Diseño Conceptual Ing. Alfonso Vicente, PMP
Perfil Agente de Aduana
Curso Administrativo OTEC/Empresa Unidad III: Revisión del Libro de Clases (Actualizado el ) Curso creado por : Libro de Clases Electrónico (LCE)
Revisión del Bachillerato UPR RP Decanato de Asuntos Académicos.
Aprendizaje de Microsoft® Access® 2010
Access Bases de datos.
Resolución de Problemas Algoritmos y Programación
LECTURA ANALÍTICA PRELIMINAR DE LOS INFORMES Y PROYECTOS DE INGRESO (AÑOS 2006 Y 2007) Secretaría Académica Universidad Nacional de Río Cuarto.
Presentación Asignatura POF030 Semana 1. Contenido En forma general, los conceptos que se estudiarán en la asignatura son: – Procedures – Functions –
CONSTRUCCIÓN DEL MARCO TEÓRICO
Maestría en Bioinformática Bases de Datos y Sistemas de Información Fundamentos de Lógica Ing. Alfonso Vicente, PMP
Cómo consultar una base de datos o un catálogo en 5 minutos
PROGRAMACION DE ESTRUCTURAS DE DATOS
Windows XP sp3.
Características Objeto Relacionales en Oracle
Facultad de Ciencia Política y Relaciones Internacionales Dirección de Concursos Proyecto: Informatización de la Gestión de Concursos Sistema CONDOR.
PL/SQL Francisco Moreno Universidad Nacional.
SQL SERVER APLICADO (SSA010) Ariel Alexis Fierro Sáez DuocUC.
Guía de ayuda para la carga online de la Solicitud 2009 del Programa de Incentivos Para Docentes – Investigadores Elaborado por la Oficina de Incentivos.
Bases de Datos Relacionales
16/04/ Sesión 11 Funciones y procedimientos Ing. Ricardo Inquilla.
Semana 5 Subprogramas..
Residencia Profesional
BASE DE DATOS BY: Julián Villar Vázquez.
John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Creación del esquema de Una Base de Datos. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
CONCEPTOS BASICOS SQL SERVER SEBASTIAN MARTINEZ GARCIA.
INSTITUTO DE ESTUDIOS SUPERIORES DE CHIHUAHUA COMPUTACION Ciclo: segundo cuatrimestre Lic. Roberto Servando Roque Corona.
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
FASE I En el I semestre de 2005, La Comisión General de Reestructura- C.G.R designó a dos profesionales para la elaboración del Diagnóstico Académico de.
Estructura general de un programa en el servidor de Bases de Datos.
ALONSO IZQUIERDO JIMENEZ CARLOS ARIEL ARENAS APONTE DISEÑO E IMPLEMENTACIÓN DE UN MODELO COMPUTACIONAL PARA EL SOPORTE DE PROCESOS RELACIONADOS CON LA.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Metodología de la programación
Lenguaje Estructurado de Consulta
Sistema informático de apoyo a la evaluación de la enseñanza IN.CO.
INSTRUCCIONES Elaboración de la Presentación:
SQL Lenguaje Estructurado de Consulta MATERIA: diseñar sistemas de información ALUMNO: sarmiento flores Liliana Guadalupe GRUPO: 4° “A” TURNO: matutino.
1 Sistema Informático de Apoyo a la Evaluación de la Enseñanza.
Introducción al Data Warehouse
PUESTO-TRABAJO (Código-Puesto, Empresa, Sueldo, DNI- Contratado) TITULADO (DNI-Titulado, Nombre, Apellidos, Dirección) TITULACION (Iden-Titulación, Nombre,
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo SQL en PL/SQL Conceptos básicos.
Bases de Datos SQL.
UNIVERSIDAD LATINA IV. CONSULTAS AVANZADAS CON BASES DE DATOS. E.I. L.E. Prof. Ramón Castro Liceaga.
“Proceso de finalización de año” 1.Estado Final del Alumno. 2.Certificado Anual de Estudio. 3.Inscripción y Matrícula Envío de Actas de Calificaciones.
Administrador Chilecompra Administrador Comprador en
6 Triggers ORACLE - II Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
3 Cursores ORACLE Bases de datos II I-2014 Universidad del Cauca In. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca In. Wilson Ortega.
Base de Datos I – Ing. Mary Carlota Bernal J.  Cada instrucción PL/SQL tiene asociado internamente un cursor  Los cursores en PL/SQL pueden ser de dos.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
Crear una tabla (create table - sp_tables - sp_columns - drop table) Para ver las tablas existentes creadas por los usuarios en una base de datos usamos.
Transcripción de la presentación:

Concepción de Sistemas de Información Instituto 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]

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 y Correspondencias Repositorio de Datos 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. Los campos dentro de parentesis son los que identifican las entidades, por simplicidad los otros no fueron agregados. Datos Auxiliares y Correspondencias Repositorio de Datos Fuente Data Warehouse

MER del DW (II) Estas materias a su vez agrupan asignaturas que son dictadas por un instituto. En rojo se encuentran las relaciones que no tenían correspondiente en la base de datos. Datos Auxiliares y Correspondencias Repositorio de Datos 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. Datos Auxiliares y Correspondencias Repositorio de Datos Fuente Data Warehouse

MER del DW (IV) Los estudiantes son de distintos lugares, y egresan de las carreras en las que estudian obteniendo títulos. Datos Auxiliares y Correspondencias Repositorio de Datos Fuente Data Warehouse

MER del DW (V) Estos estudiantes, de asignaturas que corresponden a materias, registran actividades, asociadas a institutos. Datos Auxiliares y Correspondencias Repositorio de Datos Fuente Data Warehouse 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.). Datos Auxiliares y Correspondencias Repositorio de Datos Fuente Data Warehouse

Diseño Físico del DW Básicamente solo para mostrar la complejidad del diseño de este. Datos Auxiliares y Correspondencias Repositorio de Datos 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 y Correspondencias Repositorio de Datos Fuente Data Warehouse

Diseño Físico de la Capa Intermedia Datos Auxiliares y Correspondencias Repositorio de Datos 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 y Correspondencias Repositorio de Datos 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 y Correspondencias Repositorio de Datos 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 y Correspondencias Repositorio de Datos Fuente Data Warehouse

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 y Correspondencias Repositorio de Datos Fuente Data Warehouse

Proceso de Carga Procesos: 1. Capa Intermedia 1. Base de Datos 2. Inscripciones a Curso 3. Actividades 2. Data Warehouse 1. Estudiantes, Carreras, Inscripción a Carreras, Egresos 2. Inscripciones a Curso 3. Actividades 4. Avance por Materia 5. 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.

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.

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_ESTCARR where ESTCI = IN_ESTUDIANTES.ESTCI)

Mapeo de Estudiantes (II) Finalmente nos falto: select LUGAR as LU_CODLUGAR, NOMLUGAR as LU_NOMLUGAR from IN_LUGARES

Mapeo de Carreras Carreras – Se fusionan varios códigos de carrera en uno único. – Se ofrecen valores por defecto. Mapeo de carreras – => – 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) 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_CREDITOSMIN from AX_MAPEO_CARRERAS, AX_CARRERAS, IN_CARRERAS where 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 ActualMATERIAS as -- variables locales al procedimiento int varchar(30) int varchar(6) int declare Materias cursor for select C.CC_CODCARR, C.CC_PLAN, C.CC_PERFIL, MC.MA_CODMAT from BD_MAT_CARR MC, BD_CARRERAS C where 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 Materias fetch next from

Procedimientos Almacenados Relacionados (III) WHILE = 0) BEGIN begin transaction = 0 = ( select count(*) from BD_ASIGNATURAS A where A.CC_CODCARR and A.CC_PLAN and A.CC_PERFIL and A.MA_CODMAT ) if is null) begin = 0 end update BD_MAT_CARR set MA_CREDITOSMIN where CC_CODCARR and CC_PLAN and CC_PERFIL and MA_CODMAT commit transaction fetch next from END CLOSE Materias DEALLOCATE 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 A where A.CC_CODCARR and A.CC_PLAN and A.CC_PERFIL and A.MA_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 = 'C') BEGIN =(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 and MA_CODMAT END ELSE BEGIN = (select COUNT(*) from BD_ACTIVIDADES where Upper(AC_APRUEBAAS) = 'S' and Upper(AC_TIPORESULTADO) = 'APROBADO' and ES_CI and MA_CODMAT END

P2.4 (DW – Avance por Materia) (III) IF (not is null)) BEGIN IF <> 0) BEGIN IF ( not is null)) BEGIN = * 100) IF >=0 <= 10) BEGIN = '0 a 10%' END ELSE BEGIN IF > 10 <= 70) BEGIN = '11 a 70%' END ELSE BEGIN IF > 70 <= 99) BEGIN = '71 a 99%' END ELSE BEGIN = '100%' END

P2.4 (DW – Avance por Materia) (IV) ELSE BEGIN = 0 = 'NO CALC. SUM NULL' END ELSE BEGIN = 0 = 'NO CALC. CRED 0' END ELSE BEGIN = 0 = 'NO CALC. CRED NULL' END insert into BD_AVANCE values

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.