Gestión y Modelación de Datos

Información Básica

  • Créditos: 3
  • Horas de trabajo acompañado: 5 / semana (3 horas de clase, 2 horas de taller)
  • Horas de trabajo independiente: 4 / semana
  • Pre-requisitos: Programación orientada a objetos, Árboles y grafos
  • Tipo de curso: Núcleo de Formación Fundamental.

Descripción del Curso

El curso de Gestión y Modelación de Datos introduce los conceptos y técnicas de los sistemas de bases de datos. En este curso se estudian los componentes de un sistema de información y las características de un sistema gestor de bases de datos (SGBD). El curso se enfoca en el diseño de bases de datos, con énfasis en las bases de datos relacionales e ilustra los conceptos de seguridad de la información. A lo largo del curso se introducen diversos modelos de datos y se usan los modelos entidad relación y relacional para modelar problemas en donde es necesario el almacenamiento y manipulación de datos. También se estudia el diseño de bases de datos a partir de dependencias funcionales y formas normales. Finalmente, por medio del lenguaje SQL el participante logra implementar bases de datos y manipular su contenido.

Objetivos

Al finalizar el curso los participantes podrán:

  1. Identificar los conceptos fundamentales sobre almacenamiento y recuperación de la información y los sistemas de bases de datos.
    1. Reconocer la importancia de la información en la sociedad.
    2. Evaluar las implicaciones éticas del uso de la información
    3. Describir los principales componentes de un Sistema de Base de Datos.
    4. Reconocer las ventajas que ofrecen los Sistemas de Bases de Datos.
    5. Explicar las etapas del proceso de diseño de un sistema de información haciendo énfasis en las relacionadas con el diseño de bases de datos.
  2. Identificar los principios básicos de la protección y seguridad de la información.
    1. Reconocer las ventajas y desventajas de incluir características y principios de diseño seguro en el software.
    2. Describir los conceptos relacionados con la protección y seguridad de la información (riesgo, amenaza, vulnerabilidad, ataque, autenticación, autorización, control de acceso, confiabilidad).
    3. Explicar los principios de diseño seguro.
  3. Modelar una base de datos a partir de una problemática o realidad particular.
    1. Definir que es un modelo de datos e identificar sus componentes.
    2. Extraer a partir de un enunciado de un problema las entidades (u objetos), relaciones y atributos necesarias para modelarlo.
    3. Emplear restricciones en el modelo de datos cuando sea necesario.
    4. Modelar por medio del MER una base de datos a partir de una problemática o realidad particular, incluyendo las restricciones necesarias (llaves primarias, aridad, obligatoriedad, relaciones débiles, relaciones ISA, etc).
    5. Modelar por medio del Modelo Relacional una base de datos a partir de una problemática o realidad particular, incluyendo las restricciones necesarias (llaves primarias, llaves foráneas, unicidad, chequeo, obligatoriedad, tipo, etc).
    6. Transformar un diseño en el MER al modelo relacional.
    7. Especificar consultas en una base de datos por medio del Álgebra Relacional (AR).
    8. Reconocer el impacto de los índices en el desempeño de la base de datos y usar índices para mejorar la eficiencia de la ejecución de las consultas.
    9. Reconocer las estructuras de datos que se utilizan para indexar datos en una base de datos.
    10. Identificar las características de las herramientas y modelos diseñados para el manejo eficiente de grandes volúmenes de información. Usar, en un nivel básico, algunas de ellas.
  4. Implementar una base de datos y manipular su contenido mediante el lenguaje SQL (Structured Query Language).
    1. Utilizar el Lenguaje de Definición de Datos (DDL) para crear la estructura de una base de datos.
    2. Implementar restricciones del modelo relacional mediante DDL.
    3. Manipular el contenido de una base de datos por medio del Lenguaje de Manipulación de Datos (DML) de SQL.
    4. Implementar consultas sobre la base de datos utilizando SQL.
  5. Implementar procedimientos para manipular datos en una base de datos
    1. Implementar, utilizando PL/SQL, procedimientos, funciones y triggers en la base de datos
    2. Usar transacciones para garantizar la consistencia de los datos.
    3. Usar JDBC-ODBC para crear aplicaciones de software que almacenan y administran datos.
    4. Reconocer las aplicaciones de las vistas de datos en los sistemas de bases de datos.
    5. Crear indices usando SQL.
  6. Diseñar una base de datos a partir de las dependencias funcionales entre sus componentes.
    1. Reconocer los problemas de redundancia e inconsistencia que surgen en los diseños de bases de datos no normalizados.
    2. Extraer el conjunto de dependencias funcionales que debe satisfacer una relación.
    3. Calcular el cierre y el recubrimiento canónico de un conjunto de dependencias funcionales.
    4. Identificar las diferentes formas normales y sus fundamentos teóricos.
    5. Calcular la 3FN y la FNBS a partir de una relación universal y un conjunto de dependencias funcionales
    6. Calcular la 4FN a partir de una relación universal y un conjunto de dependencias funcionales (multivaloradas)
    7. Argumentar si una relación se encuentra en una forma normal dada.
    8. Evaluar diseños de bases de datos a partir de las dependencias funcionales que debe cumplir.

Competencias técnicas específicas que se desarrollan

  1. SQL (intermedio)
  2. PL (intermedio)
  3. PostgreSQL (básico)

Contenido

Capítulo 1: Introducción a la Administración de la Información

Sesión Horas teóricas Prácticas acompañadas Temas Profundidad Bibliografía
1 2 0 Presentación del curso. Conceptos básicos del almacenamiento y recuperación de la información. Familiaridad [1 cap. 1; 4 cap 1]
1-2 2 0 Sistemas de bases de datos Familiaridad [3 cap. 2; 4 cap. 2]
2-3 2 1 Aspectos éticos del manejo de la información Familiaridad

Total de Horas: 7.

Sesión Horas de trabajo independiente Temas Bibliografía
1-2 10 Preparación examen parcial, tarea, búsqueda de información, lecturas, informes, ensayo [1 cap. 1; 4 cap. 1,2; 3 cap. 2]

Total de Horas: 7.

Capítulo 2: Seguridad y Protección de la Información

Sesión Horas teóricas Prácticas acompañadas Temas Profundidad Bibliografía
3-4 2 0 Confidencialidad, integridad y disponiblidad. Riesgos, amenazas, vulnerabilidades y tipos de ataque. Autenticación, autorización y control de acceso. Familiaridad
4-5 2 0 Confianza e integridad. Principios de diseño seguro. Familiaridad
5 2 0 Seguridad en relación con otros objetivos de diseño. Familiaridad

Total de Horas: 6.

Sesión Horas de trabajo independiente Temas Bibliografía
3-5 4 Preparación de examen parcial, tarea, quiz

Total de Horas: 4.

Capítulo 3: Modelación de Datos

Sesión Horas teóricas Prácticas acompañadas Temas Profundidad Bibliografía
6-7 2 3 Conceptos de los modelos de datos. Modelos conceptuales: Modelo Entidad Relación. Evaluación [1 cap 2]
8-9 2 3 Modelo relacional. Transformaciones del MER al MR. Evaluación [1 cap 2]
10-11 2 3 Algebra relacional. Evaluación [1 cap 4; 3 cap 6]
12 1 1 Indices: estructura e impacto en las consultas. Familiaridad
13 2 1 Otros modelos de datos: hojas de cálculo, orientado a objetos. Familiaridad
14-15 3 1 Administración de grandes volúmenes de información: noSQL, MapReduce Familiaridad

Total de Horas: 24.

Sesión Horas de trabajo independiente Temas Bibliografía
6-11 24 Preparación del examen parcial, proyectos, tareas [1 caps. 2,4; 3 cap. 6]

Total de Horas: 18.

Capítulo 4: Lenguaje SQL

Sesión Horas teóricas Prácticas acompañadas Temas Profundidad Bibliografía
16-17 2 3 Introducción a los lenguajes de consulta de datos. Definición y manipulación de datos con SQL: create, insert, update, delete y consultas básicas. Uso [1 cap 5]
18-20 2 5 Join, funciones agregadas, agrupamientos y subconsultas. Uso [1 cap 5]

Total de Horas: 12.

Sesión Horas de trabajo independiente Temas Bibliografía
16-20 12 Preparación examen parcial, tareas, proyectos, laboratorios [1 caps. 2,4; 3 cap. 6]

Total de Horas: 12.

Capítulo 5: Implementación de Bases de Datos

Sesión Horas teóricas Prácticas acompañadas Temas Profundidad Bibliografía
25-27 2 4 Procedimientos almacenados. Uso
27-29 2 4 Triggers. Uso
29-31 2 3 Transacciones. JDBC-ODBC. Índices. Uso

Total de Horas: 17.

Sesión Horas de trabajo independiente Temas Bibliografía
25-31 12 Preparación examen parcial, tareas, proyectos, laboratorios

Total de Horas: 12.

Capítulo 6: Diseño de Bases de Datos Relacionales

Sesión Horas teóricas Prácticas acompañadas Temas Profundidad Bibliografía
21-22 3 2 Dependencias Funcionales y Mulitvaloradas. Llaves candidatas, superllaves y clausura de un conjunto de atributos. Uso [1 cap 3; 3 cap 12]
23-24 2 3 Descomposición sin pérdida. Formas normales. Evaluación [1 cap 3; 3 cap 12]

Total de Horas: 10.

Sesión Horas de trabajo independiente Temas Bibliografía
21-24 8 Preparación examen parcial, tareas [1 cap. 3; 3 cap. 12]

Total de Horas**: 8.

Uso de material en exámenes

Está permitido el uso de notas de clase, bibliografía y calculadoras. No está permitido el uso de computadores personales ni teléfonos celulares.

Asistencia

Obligatoria.

Bibliografía

  1. Jeffrey D. Ullman and Jennifer Widom , Introducción a los Sistemas de Bases de Datos. , Prentice Hall , 1999
  2. Abraham Silberschatz, Henry F. Korth and S. Sudarshan , Fundamentos de Bases de Datos , McGraw-Hill , 2004 (Ed. 4)
  3. C. J. Date , Introducción a los Sistemas de Bases de Datos , Pearson Educación , 2001
  4. Adoración de Miguel and Mario Piattini , Fundamentos y Modelos de Bases de Datos , RA-MA Editorial , 1997

Instalaciones

Salón de clase con computador y proyector. Laboratorio de Ingeniería de Sistemas y Computación.

Material de este semestre