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.

Integración Curricular

Resultados de Programa (ABET)

(A) La habilidad para aplicar conocimientos de matemáticas, ciencias e ingeniería.

(B) La habilidad para analizar un problema e identificar los requerimientos necesarios para su definición y solución.

(C) La habilidad para diseñar, implementar y evaluar procesos y sistemas computacionales.

(D) La habilidad para funcionar en equipos de trabajo.

(E) El entendimiento de la responsabilidad profesional y ética.

(F) La habilidad para comunicarse efectivamente.

(G) La habilidad para analizar los impactos de la computación y la ingeniería en las personas, organizaciones y la sociedad.

(H) El reconocimiento de la necesidad de, y la habilidad para, continuar con el desarrollo profesional.

(I) La habilidad para usar las técnicas, destrezas y herramientas modernas para la práctica de la computación.

(J) La habilidad para aplicar los fundamentos y principios de las matemáticas y de la computación en el modelamiento y diseño de sistemas computacionales de manera que se demuestre comprensión de las ventajas y desventajas en las decisiones de diseño.

(K) La habilidad para aplicar los principios de diseño y desarrollo de software en la construcción de sistemas de diferente complejidad.

Relevancia del curso con los resultados de programa

Resultados de Programa
A B C D E F G H I J K
Relevancia 2 5 1 1 3 4

Escala: (1) baja relevancia - (5) alta relevancia.

Integración de objetivos, contenido y metodología del curso

La siguiente tabla presenta la metodología (actividades de aprendizaje) e instrumentos de evaluación utilizados para cubrir el contenido del curso.

Resultados del Programa Indicadores de Desempeño Objetivos/Contenido del Curso Actividades de aprendizaje Instrumentos de medición
(A) Aplicación de Conocimientos (A1) Identificar los fundamentos científicos y los principios de ingeniería que rigen un proceso o sistema. (Conocimiento) (A2) Resolver problemas relacionados con la disciplina y otras áreas por medio de la utilización de conocimientos, modelos y formalismos de las ciencias de la computación, las matemáticas y la ingeniería. (Aplicación) Todos Exposiciones del profesor, solución de ejercicios, tareas y lecturas Exámenes, proyectos y tareas
(C) Diseño (C1) Utilizar estándares de codificación en la implementación de componentes de software. (Aplicación). (C2) Identificar componentes, interacciones, relaciones e interfaces entre componentes. (Análisis). (C3) Diseñar procesos y componentes de software haciendo uso de la notación, técnicas y herramientas adecuadas. (Síntesis). Capítulos 2, 3 y 5 Exposiciones del profesor, solución de ejercicios, tareas y lecturas Exámenes, proyectos
(E) Responsabilidad profesional y ética (E2) Mostrar responsabilidad y un adecuado comportamiento profesional. (Valuación). (E3) Identificar pros y contras en decisiones éticas relacionadas con la práctica profesional. (Análisis). Todos Práctica de las reglas del curso. Lecturas relacionadas con el uso de la información Tarea y Examen (aspectos éticos de los SI)
(G) Impactos de la computación y la ingeniería (G1) Identificar los eventos históricos y contemporáneos que la computación y la ingeniería han afectado. (Comprensión). (G2) Utilizar los conocimientos para identificar los impactos de las soluciones en ingeniería y computación. (Aplicación). (G3) Analizar los impactos locales y globales de la computación y la ingeniería. (Análisis). (G4) Juzgar los impactos de la computación y la ingeniería en el mundo. (Evaluación). Capítulo 1 Tareas y Lecturas Tareas relacionadas con los impactos de los SI en la sociedad y las organizaciones
(I) Uso de herramientas y técnicas (I1) Utilizar herramientas de desarrollo de software. (Aplicación). (I2) Utilizar herramientas de diseño, modelamiento y simulación. (Aplicación). (I4) Demostrar flexibilidad para adaptarse a diferentes paradigmas y lenguajes de programación. (Valuación). Capítulos 4 y 6 Exposiciones del profesor, laboratorios, talleres Exámenes, laboratorios y proyectos
(K) Desarrollo de software (K2) Implementar e integrar componentes de software respetando los criterios de diseño. (Aplicación). Capítulos 4 y 6 Exposiciones del profesor, laboratorios, talleres Exámenes, laboratorios y proyectos

Contribución al Desarrollo de Competencias (CNA)

Resultados de Programa
A B C D E F G H I J K
Ciudadanía E E
Comunicación escrita U U
Lectura crítica E E
Inglés U U
Razonamiento cuantitativo E

E- Se evalúa. U - Se usa

Contribución a los objetivos educacionales

La Carrera de Ingeniería de Sistemas y Computación plantea los siguientes objetivos educacionales, el estudiante graduado de la carrera será capaz de:

  1. Ejercitar la práctica de la Ingeniería de Sistemas y Computación profesionalmente.
  2. Diseñar y operar sistemas de computación que contribuyen a la solución de problemas relacionados a la disciplina, otra área de la ciencia y la ingeniería u otras disciplinas.
  3. Contribuir al bienestar de las comunidades desde posiciones prominentes en la industria, academia, sector público o como un emprendedor.
  4. Ser distinguido por su bases sólidas en computación, su sentido de ciudadanía responsable, su profesionalismo y liderazgo.
  5. Continuar su desarrollo profesional o involucrarse en estudios de posgrado.
Resultados de Programa
A B C D E F G H I J K
Objetivo 1 X X X X X X
Objetivo 2 X X X X X
Objetivo 3 X X X X X X
Objetivo 4 X X X X
Objetivo 5 X

Recomendaciones del Director del Programa

Reglas del curso

Calificación y Balance de Evaluación del Curso

Instrumento Porcentaje A B C D E F G H I J K
Parcial I 15% 15% 55% 30%
Parcial II 15% 25% 25% 25% 25%
Parcial III 15% 20% 25% 25% 30%
Proyecto I 12% 30% 40% 30%
Proyecto II 19% 55% 20% 25%
Tarea I 12% 50% 50%
Tarea II 3% 90% 10%
Tarea III 3% 30% 50% 20%
Talleres 6% 50% 50%

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

 
materias/gestionmodelaciondatos.txt · Última modificación: 2016/09/02 15:27 por mcpabon
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki