Programación de Bases de Datos
Diseño y Programación de Bases de Datos Relacionales con SQL Server
¿Ya decidiste empezar?
❓ ¿Qué es esta materia?
Diseño y Programación de Bases de Datos Relacionales con SQL Server
Las bases de datos relacionales son un conjunto de objetos dentro de un sistema de gestión (SGBD). Los datos se organizan en tablas estructuradas en filas y columnas y puedan vincularse entre sí mediante claves primarias y foráneas según el modelo relacional propuesto por Edgar F. Codd en 1970.
¿Qué vas a aprender?
- Cómo funciona una base de datos moderna, entender qué es una base de datos, cómo se organiza la información en tablas, filas y columnas y a establecer diferencias con las bases relacionales de otros modelos.
- A diseñar bases de datos bien estructuradas, aplicar modelado relacional, identificar entidades y relaciones y evitar errores comunes como duplicidad o ambigüedad en los datos.
- A usar claves primarias y foráneas correctamente, dominar cómo se conectan las tablas entre sí y comprender por qué las relaciones uno-a-muchos o muchos-a-muchos son claves para una base coherente.
- A normalizar para evitar la redundancia y organizar tus tablas usando las tres primeras formas normales (1FN, 2FN, 3FN) para que tu base sea lógica, limpia y sin datos repetidos.
- A escribir consultas eficientes y usar comandos SELECT, INSERT, UPDATE, DELETE con condiciones, ordenamiento, filtros y funciones agregadas, como SUM() o COUNT().
- A diseñar bases relacionales desde cero, analizar requisitos reales, crear diagramas de entidad-relación y transformarlos en una base funcional con claves y restricciones bien definidas.
- A dominar subconsultas y joins complejos, unir tablas usando JOINs y combinar información relacionada con subconsultas, algo esencial en bases de datos reales.
- A proteger la integridad de tus datos, usar restricciones como NOT NULL, UNIQUE, CHECK y DEFAULT y entender cómo funcionan las transacciones para evitar errores graves.
- A optimizar el rendimiento de tus consultas, descubrir cómo funcionan los índices, cómo usar EXPLAIN para identificar qué tan eficiente es una consulta y cuándo conviene normalizar o desnormalizar.
- A gestionar la seguridad de la base, hacer backups, proteger el acceso con roles y permisos y aplicar medidas de seguridad y recuperación ante desastres.
Módulos
Introducción a las Bases de Datos Relacionales
Qué es una base de datos? Tipos de bases de datos: Relacionales vs. No Relacionales. Modelos de datos: jerárquico, de red, relacional. Conceptos fundamentales: tablas, registros, columnas. Sistema de gestión de bases de datos (DBMS). Ejercicios.
Modelo Relacional y Normalización
Entidades y relaciones en el modelo relacional. Claves primarias y foráneas. Tipos de relaciones: uno a uno, uno a muchos, muchos a muchos. Primera, segunda y tercera formas normales (1NF, 2NF, 3NF). Desnormalización: cuándo y por qué. Ejercicios.
Lenguaje SQL - Fundamentos
Introducción a SQL: historia y ventajas. Comandos SQL básicos: SELECT, INSERT, UPDATE, DELETE. Filtrado de datos con WHERE, ORDER BY. Funciones agregadas: COUNT(), AVG(), SUM(), MAX(), MIN(). Ejercicios.
Diseño de Bases de Datos Relacionales
Diagramas Entidad-Relación: conceptos y simbología. Análisis de requisitos, diseño conceptual, lógico y físico. Conversión de un diagrama ER a tablas relacionales. Definición de claves primarias, foráneas y restricciones. Ejercicios.
Relaciones Avanzadas y Subconsultas
Relación de muchos a muchos y tablas intermedias. Uso de JOIN: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN. Subconsultas: subconsultas en SELECT, INSERT, UPDATE y DELETE. Agrupación avanzada con GROUP BY y HAVING. Ejercicios.
Integridad y Restricciones en la Base de Datos
Integridad referencial: claves foráneas y restricciones. Restricciones de integridad: NOT NULL, UNIQUE, CHECK, DEFAULT. Regla de integridad de entidad y referencial. Transacciones: qué son y cómo asegurarlas con COMMIT y ROLLBACK. Ejercicios.
Optimización y Rendimiento de Bases de Datos
Índices: qué son, cómo funcionan y cuándo usarlos. Análisis y optimización de consultas SQL (uso de EXPLAIN). Normalización vs. Desnormalización en términos de rendimiento. Técnicas de optimización en bases de datos relacionales. Ejercicios.
Backup, Recuperación y Seguridad en Bases de Datos
Seguridad en bases de datos: autenticación, autorización y roles. Cifrado de datos en reposo y en tránsito. Procedimientos de respaldo (backups) y recuperación de bases de datos. Planificación de recuperación ante desastres. Ejercicios.
Trabajos Prácticos
Trabajo Final Obligatorio
El alumno deberá crear dos bases, una de su elección donde deberá explicar cada objeto. La otra será solicitada por el instructor a cargo. Se extenderá el certificado de aprobación si se aprueban el examen y ambos trabajos.
Exámenes y Recuperatorios
Evaluaciones programadas
- Examen Parcial: se toma al alcanzar el 50% del curso.
- Examen Final: al finalizar el contenido completo.
Recuperatorios: cada examen cuenta con una instancia adicional en caso de que necesites repetirlo. Quiero que tengas tu oportunidad real de demostrar lo aprendido.
Extra life
Domingo, Talleres de Práctica
El docente a cargo propone talleres virtuales los días domingos a los fines de repasar temas, evacuar dudas, adelantar trabajos prácticos y realizar las prácticas con la mentoría apropiada.
Sí, sí, leíste bien... domingos por la mañana de 9 a 13 o por la tarde de 14 a 18.🙂
¿Ya decidiste empezar?
Detalles de la materia
-
Duración
10 clases (40 hs totales)
-
Idioma
Español
-
Certificaciones
Certificados de aprobación y finalización
Requisitos
- Programación Estructurada
- Buena señal de internet
- Si es Intel, mín core i5
- Si es AMD, mín A10-9700
- RAM, mín 16 GB
- Disco, mín 1TB
- SSD, disco sugerido
- Mic, auriculares y cámara web