Claves
Conceptualmente las
entidades y relaciones individuales son distintas; desde una perspectiva de
bases de datos, sin embargo, la diferencia entre ellas se debe expresar en
término de sus atributos.
No se permite que ningún
par de entidades tengan exactamente los mismos valores de sus atributos.
Una clave permite
identificar un conjunto de atributos suficiente para distinguir las entidades
entre sí. Las claves también ayudan a identificar unívocamente a las relaciones
y así a distinguir las relaciones entre sí.
Conjuntos de relaciones
La clave primaria de
un conjunto de entidades permite distinguir entre las diferentes entidades del
conjunto.
Se necesita un
mecanismo similar para distinguir entre las diferentes relaciones de un
conjunto de relaciones.
Sea R un conjunto de relaciones que
involucra los conjuntos de entidades E1, E2,…, En. Sea clave-primamenos un cliente mediante
la relación prestatario. Por lo
tanto, la participación de préstamo en
el conjunto de relaciones prestatario es
total. En cambio, un individuo puede ser cliente de un banco tenga o no tenga
un préstamo en el banco. Así, es posible que sólo algunas de
las entidades cliente estén relacionadas con el
conjunto de entidades préstamo mediante
la relación prestatario
Cuestiones de diseño
Las
nociones de conjunto de entidades y conjunto de relaciones no son precisas, y
es posible definir un conjunto de entidades y las relaciones entre ellas de
diferentes formas.
-Uso de conjuntos
de entidades o atributos
Considérese el
conjunto de entidades empleado con los atributos nombre-empleado y
número-teléfono. Se puede argumentar fácilmente que un teléfono es una entidad por
sí misma con atributos número-teléfono y ubicación. La diferencia principal es
que al tratar un teléfono como una entidad se modela mejor una situación en la que
se puede querer almacenar información extra sobre un teléfono.
Un error común es
usar la clave primaria de un conjunto de entidades como un atributo de otro
conjunto de entidades, en lugar de usar una relación como también designar a los
atributos de la clave primaria de los conjuntos de entidades relacionados como
atributos del conjunto de relaciones
-Uso de conjuntos
de entidades o conjuntos de relaciones
No siempre está
claro si es mejor expresar un objeto mediante un conjunto de entidades o
mediante un conjunto de relaciones. Supongase que préstamo se asume como una
entidad una alternativa podría ser modelar un préstamo no como una entidad, sino
como una relación entre clientes y sucursales, con número-préstamo e importe
como atributos descriptivos pero con esto surgen dos problemas como resultado
de esta réplica:
1) los datos se
almacenan varias veces, desperdiciando espacio de almacenamiento;
2) las
actualizaciones dejan potencialmente los datos en un estado inconsistente.
Una posible guía
para determinar si usar un conjunto de entidades o un conjunto de relaciones es
designar un conjunto de relaciones para describir una acción que ocurre entre
entidades.
-Conjuntos de relaciones binarias o n-arias
Las relaciones en las bases de datos
son generalmente binarias. Algunas relaciones que parecen no ser binarias podrían
ser representadas mejor con varias relaciones binarias.
siempre es posible reemplazar un
conjunto de relaciones no binarias (n-aria, para n > 2) por un número de
diferentes conjuntos de relaciones binarias. Por simplicidad, considérese el
conjunto de relaciones
abstracto R, ternario (n = 3), y los
conjuntos de entidades A, B, y C. Se sustituye el conjunto de relaciones R por
un conjunto de entidades E y se crean tres conjuntos de relaciones:
• RA, relacionando E y A
• RB, relacionando E y B
• RC, relacionando E y C
Si el conjunto de relaciones R tiene
atributos, éstosse asignan al conjunto de entidades E; por otra parte se crea
un atributo de identificación especial para E.
Entonces, en cada uno de los tres
nuevos conjuntos de relaciones, se inserta un nuevo miembro como sigue:
• (ei,ai) en RA
• (ei,bi) en RB
• (ei,ci) en RC
• Un atributo de identificación puede
haber sido creado para el conjunto de entidades para representar el conjunto de
relaciones.
• Un conjunto de relaciones n-arias
muestra más claramente que varias entidades participan en una relación simple.
• Podría no haber una forma de traducir
restricciones en la relación ternaria en restricciones sobre relaciones binarias.
Ubicación de los atributos de las
relaciones
La razón de cardinalidad de una
relación puede afectar a la situación de los atributos de la relación. Los
atributos de los conjuntos de relaciones uno a uno o uno a varios pueden estar
asociados con uno de los conjuntos
de entidades participantes, en lugar de
con el conjunto de relaciones.
Ejemplo:
Especificamos que impositor es un conjunto de
relaciones uno a varios tal que un cliente puede tener varias cuentas, pero
cada cuenta está asociada únicamente con un cliente.
La elección de la colocación del
atributo es más clara para los conjuntos de relaciones varios a varios.
Volviendo al ejemplo, especificamos el caso quizá más realista de impositor que
es un conjunto de relaciones varios a varios, expresando que un cliente puede
tener una o más cuentas, y que una cuenta puede ser mantenida por uno o más
clientes.
La decisión
de diseño de dónde colocar los atributos descriptivos en tales casos como un
atributo de la relación o de la entidad podría reflejar las características de
la empresa que se modela.
