Carrera: Ingeniería en Sistemas de Información Plan: 2008 Área: ELECTIVAS Asignatura: BASES DE DATOS APLICADAS Régimen de Cursado: Cuatrimestral Horas/Semana: 8 Nivel de Implementación: Tercero Horas/Semana Anuales: 4 Horas/Año: 128 Correlativas: Para cursar: Tener Regularizadas: Gestión de Datos Tener Aprobadas: Para rendir: Tener Aprobadas: --Gestión de Datos 1. Objetivos Generales de la asignatura Que el alumno adquiera buenas prácticas para la implementación exitosa de una base de datos en RDBMS de amplio uso en el mercado. Que el alumno tome por primera vez un contacto serio con un software importante de base de datos cliente-servidor. Que el alumno adquiera teoría y práctica de la gestión básica e intermedia de un gestor de bases de datos actual Que el alumno adquiera alta destreza en el uso del lenguaje estructurado de consultas SQL. Que el alumno quede habilitado para instalar desde cero un gestor de bases de datos y su base de datos lista para funcionar de acuerdo a escenarios reales de la industria. 2. Programa Analítico UNIDAD 1: SQL Aplicado Niveles de SQL89, 92 y 99. Normas del lenguaje. Primitivas y sintaxis más utilizada. Consultas. DDL y DML en SQL. Estándar ANSI y dialectos comerciales, diferencias, formas de suplantar una primitiva carente por otras existentes. Primitivas para manipulación de datos. Primitivas para definición de datos. Consultas anidadas, correlacionadas y no correlacionadas. Consultas imposibles. Recursividad en SQL2 y en SQL3. Reunión interna, externa izquierda y derecha. Comparación ANSI. Configuración del gestor a través del lenguaje. Primitivas para conversión de datos. Problemas de conversión (casting) de datos. Validación a nivel de campo y a nivel de registro. Problemas con comparaciones en predicados con datos de longitud variable y datos nulos. Objetivos específicos: Adquirir la habilidad de escribir consultas complejas contra una base de datos en lenguaje de consulta estructurado (SQL). UNIDAD 2: Arquitectura general de un RDBMS Arquitectura de bases de datos. Archivos y discos. Arquitectura de un Gestor de Bases de Datos Relacionales. Administrador de espacio de disco. Gestor de almacenamiento. Gestión de esquemas de partición y funciones de partición. Motor de base de datos. Gestión de operadores relacionales y conceptos de optimización. Comparación de las arquitecturas de los principales gestores de la industria. Conceptos de índices, tipos de índices, criterios para su selección. Procesos básicos de un RDBMS. Procesos secundarios o servicios de soporte. Librerías de comunicación. Modos de acceso a los servicios de datos del RDBMS, conectividad disponible, ventajas de cada una. Objetivos específicos: "2013 - Año del 60º Aniversario del Primer Ciclo Lectivo de la Universidad Obrera Nacional" Sintetizar y consolidar los conceptos de la arquitectura de un RDBMS. UNIDAD 3: Administración básica de un RDBMS Preparación para la instalación de un RDBMS. Instalación de distintos gestores y sus consideraciones. Creación de una base de datos. Creación de usuarios. Asignación de permisos a usuarios. Permisos para objetos. Mapeo de usuarios y objetos. Roles de los usuarios. Tareas de administración posibles. Gestión de servicios del RDBMS. Copias de seguridad y recuperación, criterios, tipos, soporte físico, políticas de copia de seguridad. Objetivos específicos: Adquirir conocimiento y experiencia en las tareas esenciales de un gestor de bases de datos relacional moderno. UNIDAD 4: Generalidades de herramientas CASE para bases de datos Capacidades de las herramientas CASE modernas para administrar esquemas lógicos y físicos. Funciones de ingeniería inversa. Ciclo de vida de una base de datos desde una herramienta CASE. Comparación de capacidades con las características de cada fabricante. Compatibilidad. Migración. Actualización de base de datos. Objetivos específicos: Adquirir conocimiento y experiencia básica en el uso de una herramienta de diseño asistido por computadora para gestión de bases de datos relacionales. UNIDAD 5: Programación de bases de datos y objetos de BD Qué es un trigger. Reglas. Funciones. Stored procedures. SP en SQL y en otros lenguajes. Parámetros de entrada y salida en stored procedures. SP de sistema. Llamados a SP. Tipos de datos de usuario. Qué es una vista. Ventajas sobre las tablas. Escenarios de aplicación de vistas. Creación y manipulación de diagramas de base de datos en diversos gestores. Propiedades de: columnas, claves, restricciones, triggers, índices. Sinónimos en una base de datos. Tablas de sistema y de usuario. Funciones de búsqueda de texto completo. Objetivos específicos: Dominar las maneras de forzar la integridad de datos, a través de formas declarativas o procedimentales, habilitándolo para diseñar transacciones seguras. Adquirir el conocimiento suficiente de los objetos de un RDBMS para comprender el funcionamiento de cualquier gestor. UNIDAD 6: Funcionalidad de soporte Que es un WAL (write ahead protocol). Qué es un log de una base de datos. Distintos tipos de Logs. Administración de Logs. Funciones basadas en logs. Manejo de transacciones, mecanismo de transacciones. Funciones de auditoría. Objetos de auditoría. Consulta de información de auditoría. Objetivos específicos: Adquirir los conocimientos de los mecanismos que dispone el gesto RDBMS para registro de su propio funcionamiento. UNIDAD 7: El lenguaje de marcación extensible XML Fundamentos de SGML. Génesis del XML. Objetivos principales del lenguaje. Elementos constitutivos de un documento. Elemento o nodo. Tag o marcación. Instrucciones de preprocesador. Datos literales de caracteres. Comentarios no procesables. Documento de definición de datos DTD. Esquema XML o XSD. Islas de datos en XML. Tablas con y sin esquema en XML. Mapeo de múltiples tablas en un único documento. Modelo de objeto documento XMLDOM. Tipos de parser. Capacidades de manejo de XML en navegadores actuales. Navegación de documento XML. Búsqueda de datos en XML. Conceptos de XPath, búsqueda de información por XPath. Conceptos de espacios de nombre y su utilización en "2013 - Año del 60º Aniversario del Primer Ciclo Lectivo de la Universidad Obrera Nacional" documentos XML. Integración de datos XML en bases de datos. Tipos de datos XML soportados por gestores reales. XQuery, integración con SQL. Objetivos específicos: Adquirir conocimiento del lenguaje XML, sus capacidades y campos de aplicación. UNIDAD 8: Soporte de XML en gestores reales Particularidades del tipo de datos XML. Estructura interna de manejo de datos de tipo XML. Creación de colección de esquemas XML. Repositorios de esquemas. Consultas sobre columnas de XML. Indexado de datos XML para optimización de consultas. Modificación de celdas con datos XML desde el lenguaje SQL. Diferencias de implementación del soporte XML en gestores de uso general. Objetivos específicos: Obtener los conocimientos básicos de la implementación de columnas XML en un gestor moderno: creación, mantenimiento, consultas, modificación de contenido. UNIDAD 9: Replicación de bases de datos Distintas formas de replicación o duplicación de la información tabular en un gestor de bases de datos relacionales. Modelo Suscriptor-Publicador. Gestión de conflictos de actualización. Sincronización a través del internet. Objetivos específicos: Adquirir una experiencia básica en la construcción de un sistema publicador-suscriptor de replicación entre gestores relacionales. 3. Bibliografía Básica: Database Management Systems (ISBN-10: 0072465638 | ISBN-13: 978-0072465631) de Raghu Ramakrishnan, U. de Wisconsin, EE.UU, tercera edición (en biblioteca, o bien en edición electrónica PDF provista por la cátedra traducida al español por esta cátedra con colaboración de los alumnos) Complementaria: Librería electrónica de IBM Academic Relations. (profesores enrolados en programa) Librería electrónica de MSDN Academic Alliance. (profesor es gestor local del sitio) "2013 - Año del 60º Aniversario del Primer Ciclo Lectivo de la Universidad Obrera Nacional" 4. Fundamentación de la asignatura Las bases de datos son uno de los fundamentos de todo sistema de información modernos. Máxime aún, con el advenimiento de la Web 2.0, todo sistema de internet hace mandatorio el uso de una base de datos como soporte final del mismo. Sin embargo, en los contenidos mínimos especificados en el diseño curricular de la ordenanza 1150 y complementarias, no se establece una asignatura específica dedicada a las bases de datos y su gestión. Por lo tanto, esta asignatura electiva completa los conocimientos relacionados con las bases de datos relacionales, el software de gestión de las mismas y los problemas de índole tecnológica encontrados al momento de implementarlas, en particular cierra el conjunto de conocimientos y experiencias que se comienzan con la asignatura obligatoria “Gestión de datos”, que se dicta precedentemente a ésta. El futuro profesional de sistemas deberá tener un dominio acabado de todo el ciclo de vida de una base de datos, desde el diseño de la misma hasta su puesta en marcha con algún gestor real, ya sea éste propietario o de fuente abierta. Esta asignatura se enfoca en (a) los temas tecnológicos como la instalación de un gestor, los criterios de selección del equipo y sus recursos, carga inicial de datos, diseño asistido por computadora con herramientas CASE en todo el ciclo de vida de la base de datos; en (b) la extensibilidad que ofrece un gestor, a saber: programación y extensibilidad de las bases de datos a través de aserciones, procedimientos almacenados, vistas definidas por el usuario, tipos definidos por el usuario y funciones escalares y vectoriales definidas por el usuario; y en (c) los servicios avanzados de un gestor, como los servicios de soporte y recuperación ante fallas, copias de seguridad y restauración, archivo de la base de datos, manejo de la bitácora y auditoría, esquemas de seguridad, autenticación y validación. Con esos conocimientos se completan los necesarios para que el futuro ingeniero en sistemas cumpla el rol de DBA, en un escenario que cada vez exige más destrezas con las bases de datos relacionales en sus distintas versiones. Asignaturas o conocimientos con que se vincula la materia: Al inicio de la asignatura se requiere que los alumnos posean los conocimientos de Gestión de datos. Durante el cursado de la asignatura, los temas desarrollados no tienen impacto en las mismas asignaturas que se cursan simultáneamente. Con Gestión de datos, tercer nivel, a partir del ciclo lectivo 2009, se comparte un amplio porcentaje de temas, mayormente diseño de bases de datos, modelo relacional, conceptos de SQL. Esta es la primera electiva de un grupo de tres, en el cuarto nivel la electiva “Diseño de Aplicaciones Cliente-Servidor” y en el quinto nivel “Administración de bases de datos” son las materias que naturalmente continúan con la línea de contenidos que comienza con ésta. Con Diseño de aplicaciones cliente-servidor se comparten fuertemente los contenidos de SQL Aplicado, de XML y de conectividad de base de datos. Con Administración de bases de datos se aprovecha prácticamente todas las unidades restantes, dejando el suficiente conocimiento al alumno para abordar los temas avanzados de RDBMS propios del quinto nivel. 5. Metodología Estrategias de enseñanza: Las clases tendrán una interacción teórico-práctica entre el docente y el alumno. Serán realizadas específicamente por los docentes de la cátedra. Se prevé un mínimo de 50% de horas en laboratorio, donde se fijarán por medio de ejemplos, experimentación y resolución de escenarios puntuales, los conceptos adquiridos en la clase teórica precedente. Las clases teóricas podrán contener demostraciones de ejemplos para reforzar puntos clave del tema que se desarrolle en ese momento, o deducción de soluciones en forma grupal en medio del abordaje a un tema teórico. "2013 - Año del 60º Aniversario del Primer Ciclo Lectivo de la Universidad Obrera Nacional" Modalidad de agrupamientos: Los alumnos se organizarán por grupos en cantidad no mayor a cinco. Cada alumno deberá resolver problemas a ser entregados en forma de cartilla. Estos ejercicios serán entregados a medida que se vayan completando los temas teóricos. La resolución de estos ejercicios será grupal. Los grupos serán inmutables una vez conformados. Consultas: El trabajo práctico de la materia contempla la atención extra cátedra de los alumnos, principalmente por correo electrónico gestionado por el campus virtual de UTN. Las consultas se mantendrán a partir de la asignación del escenario del trabajo práctico principal. "2013 - Año del 60º Aniversario del Primer Ciclo Lectivo de la Universidad Obrera Nacional"