Claves
Es
necesario tener una forma de especificar cómo las entidades dentro de un
conjunto de entidades dado y las relaciones dentro de un conjunto de relaciones
dado son distinguibles.
Los
valores de los atributos de una entidad deben ser tales que permitan identificar unívocamente a la
entidad (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 suficientes para distinguir las entidades entre sí.
Conjuntos de entidades
Una superclave es un conjunto de uno o
más atributos que, tomados colectivamente, permiten identificar de forma única
una entidad en el conjunto de entidades. Una superclave puede contener
atributos innecesarios.
A
menudo interesan las superclaves tales que los subconjuntos propios de ellas no
son superclave. Tales superclaves mínimas se llaman claves candidatas.
Se
usará el término clave primaria para denotar una clave candidata que es elegida por el diseñador
de la base de datos como elemento principal para identificar las entidades dentro de un conjunto de
entidades. Una clave (primaria, candidata y superclave) es una propiedad del
conjunto de entidades, más que de las entidades individuales. Cualesquiera dos
entidades individuales en el conjunto no pueden tener el mismo valor en sus
atributos clave al mismo tiempo. La designación de una clave representa una
restricción en el desarrollo del mundo real que se modela.
La
clave primaria se debería elegir de manera que sus atributos nunca, o muy
raramente, cambien.
Conjuntos de relaciones
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-primaria(Ei) el conjunto
de atributos que forma la clave primaria para el conjunto de entidades Ei.
La
composición de la clave primaria para un conjunto de relaciones depende de la
estructura de los atributos asociados al conjunto de relaciones R.
Si
el conjunto de relaciones R no tiene atributos asociados, entonces el conjunto de atributos:
clave-primaria(E1) ∪ clave-primaria(E2) ∪…∪ clave-primaria(En)
En
el caso de que los nombres de atributos de las claves primarias no sean únicos
en todos los conjuntos de entidades, los atributos se renombran para
distinguirlos; el nombre del conjunto de entidades combinado con el atributo
formaría un nombre único.
La
estructura de la clave primaria para el conjunto de relaciones depende de la
correspondencia de cardinalidades asociada al conjunto de relaciones.
Para
las relaciones no binarias, si no hay restricciones de cardinalidad, entonces
la superclave formada como se describió anteriormente en este apartado es la única
clave candidata, y se elige como clave primaria. La elección de la clave
primaria es más complicada si aparecen restricciones de cardinalidad.
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 conjunto de entidades o atributos
• El conjunto de entidades empleado con el atributo nombre-empleado
• El
conjunto de entidades teléfono con
atributos número-teléfono y ubicación
• La
relación empleado-teléfono, que denota la asociación entre empleados y los teléfonos que
tienen.
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.
Las
distinciones dependen principalmente de la estructura de la empresa del mundo
real que se esté modelando y de la semántica asociada con el atributo en
cuestión.
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.
Otro
error relacionado que se comete es designar a los atributos de la clave
primaria de los conjuntos de entidades
relacionados como atributos del conjunto de relaciones. Esto no se debería
hacer, ya que los atributos de la clave primaria son ya implícitos en la relación.
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.
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. Este enfoque puede también ser útil para decidir si ciertos
atributos se pueden expresar más apropiadamente como relaciones.
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.
De
hecho, 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, éstos se asignan al conjunto de entidades E; por otra parte se crea un atributo de
identificación
especial para E Para cada
relación (ai,bi,ci) del conjunto de relaciones R, se crea una nueva entidad ei en el
conjunto de entidades 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. Este atributo, con los conjuntos de relaciones extra
necesarios, incrementa la complejidad del diseño y los requisitos de almacenamiento.
• 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. Por ejemplo, considérese una
restricción que dice que R es varios a uno de A, B a C; es decir, cada par de entidades de A y B se asocia con a lo sumo una entidad C. Esta restricción no se puede expresar usando
restricciones de cardinalidad sobre los conjuntos de relaciones RA, RB y RC.
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.
La
decisión de diseño de dónde colocar los atributos descriptivos en tales casos podría reflejar las características de la empresa que se
modela.
La
elección de la colocación del atributo es más clara para los conjuntos de relaciones
varios a varios.
Cuando
un atributo se determina mediante la combinación de los conjuntos de entidades
participantes, en lugar de por cada entidad por separado, ese atributo debe
estar asociado con el conjunto de relaciones varios a varios.
Conclusión
Entendimos
que la entidad es la relación de ambas convirtiéndose dicha relación en una
forma de conexión explicita de un lugar implícito. El conjunto de relaciones se
tendría que definir en relaciones separadas para cada entidad cuando se
presenta una situación en la que varias entidades compartan un atributo ya que
se podrían replicar los valores para los atributos descriptivos en cada una de
las relaciones, ocasionando el almacenamiento de varios datos repetidos
reduciendo así mismo el espacio de almacenamiento, entre otros.
Generalmente
las relaciones son binarias en la base de datos. Puede decirse que las
relaciones binarias tienen una relación entre
los mismos elementos de un conjunto, se asignara al conjunto de entidades un atributo de identificación
para poder ser distinguidas de los otros miembros pertenecientes al conjunto,
de esta manera las entidades participarían en una relación mas simple.
Los
atributos de la relación pueden ser afectadas por la razón de cardinalidad de
una relación, es decir, en el conjunto de relaciones uno a varios se puede
colocar solo en el conjunto de entidades ya que al realizar la asignación de
cada atributo tendría el mismo significado. Y para los conjuntos de entidades
de uno a uno pueden asociarse con cualquier entidad participante.