INFOTEP Técnico en Programación de Páginas Web study materials
INFOTEP Técnico en Programación de Páginas Web study resources

INFOTEP Técnico en Programación de Páginas Web: Bases de datos y modelado de datos para aplicaciones web

INFOTEP Técnico en Programación de Páginas Web · Work through your exam, one topic at a time.

All guide sections

Bases de datos y modelado de datos para aplicaciones web

Se evalúa el diseño relacional y su traducción a SQL: claves, relaciones, normalización, índices, transacciones y consultas. También se pregunta cuándo conviene una estructura relacional y cómo evitar redundancia y anomalías de actualización.

Modelo relacional

  • Cada tabla representa una entidad y cada fila una instancia. La clave primaria identifica de forma única; la clave foránea referencia otra tabla y protege la integridad referencial.
  • Relación uno a muchos: la FK va en el lado muchos. Muchos a muchos: se crea una tabla intermedia con las dos FKs, normalmente como clave compuesta.
  • Normalización: 1FN elimina grupos repetidos y valores multivaluados; 2FN exige dependencia total de la clave compuesta; 3FN elimina dependencias transitivas de atributos no clave.
  • Índices aceleran búsquedas y filtros, pero ocupan espacio y ralentizan escrituras. Se indexan claves foráneas y columnas muy consultadas, no todas.
  • ACID: atomicidad, consistencia, aislamiento y durabilidad. Una transacción agrupa operaciones que deben confirmarse o revertirse juntas.

Consultas y evolución

  • SELECT elige columnas; JOIN combina tablas; WHERE filtra filas; GROUP BY agrupa y HAVING filtra grupos. Evita SELECT * en producción.
  • Los ORM pueden provocar N+1 consultas al recorrer relaciones; se corrige con carga anticipada o consultas por lote.
  • Las migraciones versionan el esquema y permiten reproducir cambios en desarrollo, pruebas y producción.

Ejemplo trabajado

Estudiantes y cursos: estudiantes(id, nombre), cursos(id, titulo) y inscripciones(estudiante_id, curso_id, fecha, PRIMARY KEY(estudiante_id,curso_id), FOREIGN KEY... ). Razonamiento: un estudiante cursa varios cursos y un curso tiene varios estudiantes, así que la relación muchos a muchos exige la tabla intermedia. La clave compuesta impide inscripciones duplicadas. Los datos del curso no se repiten en cada inscripción, lo que evita anomalías de actualización y cumple 3FN.

Errores que cuestan puntos

Guardar listas separadas por comas en una columna; duplicar el nombre del curso en cada inscripción; omitir la FK; usar SELECT *; indexar todas las columnas; no usar transacciones en operaciones relacionadas; confundir normalización con tener muchas tablas.