Píldora TAI CXVIII; Problemas Comunes de Control de Concurrencia

🧠 Control de Concurrencia y Modelo Relacional

🔄 Problemas del Control de Concurrencia

Cuando múltiples transacciones acceden simultáneamente a la base de datos, pueden surgir problemas de integridad y consistencia si no se controla correctamente la concurrencia.

⚠️ Problemas Clave

Tipo de problemaExplicaciónEjemplo
Lectura sucia (Dirty Read)Una transacción lee datos no confirmados de otra que puede fallar.Transacción A modifica un valor y Transacción B lo lee antes de que A confirme.
Lectura no repetible (Non Repeatable Read)Una transacción lee el mismo dato dos veces y obtiene resultados distintos.Transacción A lee un valor, B lo modifica, A lo vuelve a leer.
Lectura fantasma (Phantom Read)Una transacción ve nuevas filas en una segunda consulta idéntica.A consulta 5 filas, B inserta una más, A consulta de nuevo y ahora hay 6.

🔒 Niveles de Aislamiento

Nivel de AislamientoLectura SuciaLectura No RepetibleLectura Fantasma
Lectura No Confirmada
Lectura Confirmada
Lectura Repetible
Serializable
  • Permitido – Riesgo presente.
  • No permitido – Protegido por este nivel de aislamiento.

🧩 A mayor aislamiento: más precisión ✅, pero menor concurrencia ❌.


🔁 Comportamiento Concurrente de las Transacciones

  • Lectura sucia: Lectura de datos no confirmados.
  • Lectura no repetible: Dos lecturas del mismo dato, pero el valor cambia entre ambas.
  • Lectura fantasma: Filas nuevas que aparecen en una consulta repetida.

🧬 Reglas de Codd (0 a 12) – Fundamentos del Modelo Relacional

El modelo relacional debe cumplir al menos 6 de estas 13 reglas:

ReglaDescripción
0El sistema debe ser relacional.
1La información debe representarse mediante tablas.
2Acceso garantizado a los datos por nombre.
3Soporte para valores nulos.
4Catálogo basado en el modelo relacional (metadatos accesibles como tablas).
5Sub-lenguaje completo (DDL, DML, etc.).
6Vistas actualizables.
7Inserción, actualización y eliminación de datos.
8Independencia física.
9Independencia lógica.
10Integridad: mediante reglas de integridad declaradas.
11Distribución transparente (soporte para bases de datos distribuidas).
12Ningún acceso por bajo nivel que eluda las reglas.

📘 Conceptos Fundamentales del Modelo Relacional

🧱 Estructura de Relación

  • Una relación = tabla con filas (tuplas) y columnas (atributos).
  • Cada atributo pertenece a un dominio (tipo de dato válido).
  • Puede haber entidades fuertes (no dependen de otras) o débiles (dependen de claves ajenas).

📐 Grado y Cardinalidad

ConceptoDefinición
GradoNº de atributos (columnas).
Cardinalidad de relaciónNº de tuplas diferentes. Representa participación de entidades.
Cardinalidad mínima/máximaNº de ocurrencias permitidas o necesarias.
OcurrenciasMáx. nº de filas en una tabla.

🔁 Tipos de Relación

  • 1:1 – Uno a uno
  • 1:N – Uno a muchos
  • M:N – Muchos a muchos

🔄 Superentidad

Agrupación de entidades en una sola más general que hereda atributos comunes.


📌 Resumen Visual

+------------------------------------------------------+
| CONTROL DE CONCURRENCIA |
|------------------------------------------------------|
| Lectura sucia | Lectura no repetible | Fantasma |
|---------------------|----------------------|----------|
| No confirmada (LOW) | Confirmada | Repetible|
| Serializable (HIGH) = Mayor precisión, menor concurrencia
+------------------------------------------------------+

+------------------------------------------------------+
| MODELO RELACIONAL Y REGLAS DE COD |
|------------------------------------------------------|
| Relación = Tabla con atributos y tuplas |
| Regla 0-12 = Normas para cumplir modelo relacional |
| Dominio, Participación, Cardinalidad, Ocurrencias |
| Relaciones 1:1, 1:N, M:N + Superentidad |
+------------------------------------------------------+

Respuesta

  1. […] Píldora TAI CXVIII; Problemas Comunes de Control de Concurrencia – Anacrolibrum […]

    Me gusta

Replica a Píldoras TAI de Anacrolibrum – Anacrolibrum Cancelar la respuesta