EGEL Plus Ingeniería Computacional study materials
EGEL Plus Ingeniería Computacional study resources

EGEL Plus Ingeniería Computacional: Bases de datos: modelo relacional, normalización y transacciones

EGEL Plus Ingeniería Computacional · Work through your exam, one topic at a time.

All guide sections

Bases de datos: modelo relacional, normalización y transacciones

Bases de datos evalúa el modelo relacional y su formalización, la escritura de SQL correcto, la normalización hasta BCNF y la gestión de transacciones y concurrencia, además de criterios de diseño físico como índices y desnormalización justificada.

Álgebra relacional y SQL

Operadores σ (selección de filas), π (proyección con eliminación de duplicados), ⋈ (reunión), ×, ∪ y −. En SQL, WHERE filtra filas antes de agrupar y HAVING filtra grupos después; toda columna no agregada del SELECT debe aparecer en GROUP BY. Los NULL siguen lógica de tres valores: salario > 1000 no devuelve filas con NULL; COUNT(*) cuenta filas y COUNT(columna) ignora NULL.

Normalización

1FN: atributos atómicos. 2FN: ningún atributo no primo depende de parte de la clave. 3FN: ningún no primo depende transitivamente de la clave. BCNF: todo determinante es superclave. Ejemplo: R(#factura, fecha, #cliente, nombre_cliente, producto, cantidad) con clave (#factura, producto) y dependencias #factura → fecha, #cliente, nombre_cliente; #cliente → nombre_cliente; (#factura, producto) → cantidad.

  • 2FN: fecha y #cliente dependen solo de #factura (dependencia parcial) → se separa Factura(#factura, fecha, #cliente) y Detalle(#factura, producto, cantidad).
  • 3FN: en Factura, #cliente → nombre_cliente es transitiva → Cliente(#cliente, nombre_cliente). Resultado: tres relaciones en 3FN, sin pérdida de información (la reunión por claves recupera R) y sin repetir el nombre del cliente.

Transacciones y concurrencia

ACID: atomicidad, consistencia, aislamiento y durabilidad. Niveles de aislamiento y anomalías: read uncommitted permite lectura sucia; read committed evita la sucia pero permite la no repetible; repeatable read evita la no repetible y puede permitir lecturas fantasma; serializable evita las tres a costa de concurrencia.

Errores que cuestan puntos

Usar WHERE con funciones agregadas; creer que 3FN siempre es más rápido (a veces se desnormaliza por consultas); crear índices en columnas de baja selectividad, que casi no ayudan y encarecen las escrituras; confundir clave candidata con superclave.