Modelado de Relaciones en Bases de Datos: Cardinalidad y Claves
Este documento presenta una serie de escenarios comunes en el diseño de bases de datos relacionales, enfocándose en la interacción entre la cardinalidad de las relaciones y la definición de claves primarias y foráneas. Se detallan ejemplos de implementación de relaciones entre entidades (R1, R2, R3) y se identifican errores de diseño frecuentes.
Cardinalidad (1,1)-(0,1)
(1,1)-(0,1) y claves (a1) y (a2)
R1 (a1, b1, c1, d1) R2 (a2, b2, c2, a1) :: R2.a1 → R1.a1
(1,1)-(0,1) y claves (a1) y (a2, b2), siendo a1=a2
R1 (a1, b1, c1, d1) R2 (a2, b2, c2) :: R2.a2 → R1.a1
(1,1)-(0,1) y claves (a1, b1) y (a2)
R1 (a1, b1, c1, d1) R2 (a2, b2, c2, a1, b1) :: R2.(a1,b1) → R1.(a1,b1)
(1,1)-(0,1) y claves (a1, b1) y (a2), siendo a1=a2
Error de diseño.
Cardinalidad (0,1)-(0,1)
(0,1)-(0,1) y claves (a1) y (a2)
R1 (a1, b1, c1, d1) R2 (a2, b2, c2)
R3 (a1, a2) :: R3.a1 → R1.a1, R3.a2 → R2.a2
Cardinalidad (1,1)-(1,n)
(1,1)-(1,n) y claves (a1) y (a2)
R1 (a1, b1, c1, d1) R2 (a2, b2, c2, a1) :: R2.a1 → R1.a1
(1,1)-(1,n) y claves (a1) y (a2,b2), siendo b1=b2
Error de diseño.
(1,1)-(1,n) y claves (a1,b1) y (a2)
R1 (a1, b1, c1, d1) R2 (a2, b2, c2, a1, b1) :: R2.(a1,b1) → R1.(a1,b1)
(1,1)-(1,n) y claves (a1,b1) y (a2), siendo a1=a2
Error de diseño: E1 es dependiente por identificación de E2.
(1,1)-(1,n) y claves (a1,b1) y (a2,b2), siendo a1=a2
R1 (a1, b1, c1, d1) R2 (a2, b2, c2, b1) :: R2.(a2,b1) → R1.(a1,b1)
(1,1)-(1,n) y claves (a1) y (a2), siendo b1=b2
Error de diseño conceptual: No se puede indicar la existencia de b1=b2.
Cardinalidad (1,1)-(0,n)
(1,1)-(0,n) y claves (a1) y (a2)
R1 (a1, b1, c1, d1) R2 (a2, b2, c2, a1) :: R2.a1 → R1.a1
(1,1)-(0,n) y claves (a1) y (a2,b2), siendo a1=a2
R1 (a1, b1, c1, d1) R2 (a2, b2, c2) :: R2.a2 → R1.a1
(1,1)-(0,n) y claves (a1) y (a2,b2), siendo b1=b2
Error de diseño conceptual: No se puede indicar la existencia de b1=b2.
(1,1)-(0,n) y claves (a1,b1) y (a2)
R1 (a1, b1, c1, d1) R2 (a2, b2, c2, a1, b1) :: R2.(a1,b1) → R1.(a1,b1)
(1,1)-(0,n) y claves (a1,b1) y (a2), siendo a1=a2
Error de diseño: E1 es dependiente por identificación de E2.
(1,1)-(0,n) y claves (a1,b1) y (a2,b2), siendo a1=a2
R1 (a1, b1, c1, d1) R2 (a2, b2, c2, b1) :: R2.(a2,b1) → R1.(a1,b1)
(1,1)-(0,n) y claves (a1) y (a2), siendo b1=b2
No se puede indicar la existencia de b1=b2.
Cardinalidad (0,1)-(1,n)
(0,1)-(1,n) y claves (a1) y (a2)
R1 (a1, b1, c1, d1) R2 (a2, b2, c2, a1) :: R2.a1 → R1.a1
(0,1)-(1,n) y claves (a1) y (a2,b2), siendo a1=a2
No se puede indicar que a2 es clave alterna, pues R2 no estaría en 2FN.
(0,1)-(1,n) y claves (a1) y (a2,b2), siendo b1=b2
No se puede indicar la existencia de b1=b2.
(0,1)-(1,n) y claves (a1,b1) y (a2)
R1 (a1, b1, c1, d1) R2 (a2, b2, c2, a1, b1) :: R2.(a1,b1) → R1.(a1,b1)
(0,1)-(1,n) y claves (a1,b1) y (a2), siendo a1=a2
Error de diseño: E1 es dependiente por identificación de E2.
(0,1)-(1,n) y claves (a1) y (a2), siendo b1=b2
No se puede indicar la existencia de b1=b2.
Cardinalidad (0,1)-(0,n)
(0,1)-(0,n) y claves (a1) y (a2)
R1 (a1, b1, c1, d1), R2 (a2, b2, c2, a1) :: R2.a1 → R1.a1
R1 (a1, b1, c1, d1), R2 (a2, b2, c2), R3 (a2, a1)
R3.a2 → R2.a2 :: R3.a1 → R1.a1
(0,1)-(0,n) y claves (a1) y (a2,b2), siendo a1=a2
No se puede indicar que a2 es clave alterna, pues R2 no estaría en 2FN.
(0,1)-(0,n) y claves (a1) y (a2,b2), siendo b1=b2
No se puede indicar la existencia de b1=b2.
(0,1)-(0,n) y claves (a1,b1) y (a2)
R1 (a1, b1, c1, d1), R2 (a2, b2, c2, a1, b1) :: R2.(a1,b1) → R1.(a1,b1)
R1 (a1, b1, c1, d1), R2 (a2, b2, c2), R3 (a2, a1, b1)
R3.a2 → R2.a2 :: R3.(a1,b1) → R1.(a1,b1)
(0,1)-(0,n) y claves (a1,b1) y (a2), siendo a1=a2
Error de diseño: E1 es dependiente por identificación de E2.
(0,1)-(0,n) y claves (a1,b1) y (a2,b2), siendo a1=a2
Revisar el diseño conceptual realizado.
(0,1)-(0,n) y claves (a1) y (a2), siendo b1=b2
No se puede indicar la existencia de b1=b2.
Cardinalidad (1,n)-(1,n)
(1,n)-(1,n) y claves (a1) y (a2)
R1 (a1, b1, c1, d1), R2 (a2, b2, c2), R3 (a1, a2).
R3.a1 → R1.a1 :: R3.a2 → R2.a2
(1,n)-(1,n) y claves (a1) y (a2,b2), siendo a1=a2
La dependencia por identificación es violada.
(1,n)-(1,n) y claves (a1) y (a2,b2), siendo b1=b2
No se puede indicar la existencia de b1=b2.
(1,n)-(1,n) y claves (a1,b1) y (a2)
R1 (a1, b1, c1, d1).
R2 (a2, b2, c2).
R3 (a1, b1, a2).
R3.(a1,b1) → R1.(a1,b1)
R3.a2 → R2.a2
(1,n)-(1,n) y claves (a1,b1) y (a2), siendo a1=a2
E1 es dependiente por identificación de E2 y, además, se viola la identificación.
(1,n)-(1,n) y claves (a1,b1) y (a2,b2), siendo a1=a2
Revisar el diseño conceptual realizado.
(1,n)-(1,n) y claves (a1) y (a2), siendo b1=b2
No se puede indicar la existencia de b1=b2.