Introduccion
En esta clase estudiaremos la definición de una base de datos. La estructura de una base de datos, así como las operaciones básicas de la misma. Aprenderemos SQL y mySQL.
Objetivo
Los estudiantes serán capaces de levantar y modificar una base de datos, así como de realizar operaciones sencillas sobre las mismas.
Estructura del Curso
Horas de clase
- Lunes 10:30 - 12:00
- Miércoles 12:00 - 13:30
Sitio web
Clases, tareas, temario y políticas de calificaciones se encuentran disponibles en el sitio web: https://leonpalafox.github.io/dbclase/
Cuestionario de Evaluación de Presentaciones
Horas de oficina
Estaré disponible antes de la clase en mi oficina (Ingenieria 24), o haciendo una cita al correo electornico lpalafox@up.edu.mx.
Evaluacion
La evaluación consistirá en:
Absentismo
Es obligatorio atender a todas las sesiones.
En caso de alguna situación extraordinaria se deberá platicarlo con el profesor.
Temario
- Conceptos Básicos
- Estructura de archivos, almacenamiento físico e indexación.
- Surgimiento y definición de Bases de Datos.
- Clasificación de acuerdo a la consulta, comercialización y localización.
- Definición de un Sistema Manejador de Base de Datos (SMBD).
- Estructura y componentes de un SMBD.
- Requerimientos operacionales (integridad, independencia, seguridad, concurrencia)
- Abstracción de la Información
- Modelo de Datos y Diseño de una BD
- Conceptos generales de un modelo de datos.
- Modelo de datos jerárquico y modelo de datos en red
- Modelos lógicos basados en objetos
- Modelo de datos relacional
- Cardinalidad de Mapeo
- Diagramas Entidad – Relación (E-R)
- Entidades, relaciones, atributos y llaves
- Consideraciones y pasos en la construcción de diagramas E-R
- Matriz de relaciones y solución de la relación muchos a muchos
- Relaciones del Modelo Recursivo
- Reducción del Modelo E-R a tablas
- El Lenguaje de Modelado Unificado UML
- Consideraciones en el diseño
- Operaciones básicas del álgebra relacional
- Concepto de Normalización
- Dependencias Funcionales y formas normales
- Dependencias Multivalores
- Restricciones de dominio e Integridad referencial
- Lenguajes comerciales de consulta
- Lenguaje SQL, ventajas y desventajas
- Estándares de SQL
- Lenguaje de definición de datos y restricciones
- Lenguaje de manipulación de datos
- Inserción, modificación y borrado de registros
- Consultas simples y ordenamiento
- Expresiones compuestas y campos calculados
- Agrupamientos y funciones de grupo
- Consultas avanzadas y subconsultas
- Lenguaje de consulta en entorno multiusuario
- Optimización de índices y uso de vistas
- Disparadores
Slides
Ejercicios en Python
Tareas
- Tarea 1: Reportar y preparar presentación acerca de las formas normales.
- La presentación debe de ser corta, concisa y al punto.
- El reporte debe estar en PDF. Si pueden, usen Latex
Libros de texto
El curso no requiere de libros de texto adjuntos, sin embargo, los siguientes libros son útiles para dar seguimiento al curso:
- Garcia-Molina, Hector. Database systems: the complete book. Pearson Education India, 2008.
Material especial para la clase
Politicas
Se pueden utilizar teléfonos y bipers, siempre y cuando no molestén al resto del salón.