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.