MODELO ENTIDAD- RELACIÓN
2.3 CLAVES
Para comenzar a describir lo
que son las claves y que funciones desempeñan en este modelo Entidad-Relación,
se debe saber que una clave es un subconjunto del conjunto de atributos comunes
en una colección de entidades y esto a su vez permite identificar cada una de
las entidades pertenecientes a dichas colección.
Puede existir un grado de dificultad al
querer distinguir entre lo que es una entidad y una relación, basta con saber
que la diferencia entre ellas se debe expresar en términos de sus atributos,
aquí hace presencia el término “claves” ya que ésta permite identificar un
conjunto de atributos para distinguir las entidades entre si, (lo mencionado
arriba), así como también, gracias a éstas podemos identificar explícitamente
las relaciones que hay entre si.
2.3.1 CONJUNTO DE ENTIDADES
En este subtema se hace referencia a lo
que es una Superclave; que es un conjunto de uno o más atributos que, tomados
colectivamente, permiten identificar de forma única una entidad en el conjunto
de entidades, es decir, se distingue a la entidad de una manera fácilmente.
Dentro del conjunto de entidades
existen los siguientes tipos de claves:
Superclave: es un subconjunto de atributos, que permiten distinguir a cada entidad,
puede contener atributos innecesarios, por ejemplo si K es una superclave
entonces también lo es un superconjunto de K, de aquí se derivan los
subconjuntos de K mínimos y son denominadas claves candidatas.
Claves Candidatas: dada una superclave, si a ésta se le quita un
atributo, que la componen se le denomina clave candidata.
Clave Primaria: es una clave candidata que es elegida por el
diseñador de la base de datos, como elemento principal para identificar las
entidades, dentro de una conjunto de entidades.
Estos tipos de claves a su vez son
propiedades de las entidades.
Para poder tomar una buena decisión al
elegir una clave candidata debe tenerse mucha precaución, por ejemplo si se
toma como el nombre de una persona, es insuficiente ya que hay mucha gente con
el mismo nombre.
La clave primaria se debe elegir de
manera que sus atributos nunca o raramente cambien.
2.3.2 CONJUNTO DE RELACIONES
Para poder distinguir entre las
diferentes relaciones de un conjunto, se necesita aplicar un mecanismo que
asuma el nombre de los atributos de todas las claves primarias de cada conjunto
de entidades en una relación.
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 éste conjunto no tiene atributos
asociados entonces el conjunto d atributos:
clave-primaria
(E1) ∪ clave-primaria(E2) ∪… ∪ clave-primaria (En).
Describe una
relación individual en el conjunto R.Si el conjunto de relaciones R tiene atributos a1,a2,…, am asociados a él, entonces el
conjunto de atributos:
clave-primaria
(E1) ∪ clave-primaria (E2) ∪…∪ clave-primaria (En) ∪ {a1, a2,…, am}
Describe una relación individual en el
conjunto R. En ambos casos, el
conjunto de atributos:
clave-primaria (E1) ∪clave-primaria
(E2) ∪…∪ clave-primaria (En)
La
estructura de la clave primaria para el conjunto de relaciones depende de la
correspondencia de cardinalidades asociada al conjunto de relaciones.
Clave primaria de
impositor: consiste en la unión de las claves primarias
de cliente y cuenta.
Clave primaria del
cliente: si el cliente tiene sólo una cuenta, es
decir, si la relación impositor es varios a uno de cliente a cuenta.
Cuestiones de diseño
2.4.1 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 que un teléfono es una entidad con
atributos número-teléfono y ubicación.
Al tratar un teléfono
como un atributo número-teléfono cada empleado tiene precisamente un número de
teléfono. Al tratar un teléfono como una entidad teléfono permite que los
empleados puedan tener varios números de teléfono (incluido ninguno). Se podría
definir número-teléfono como un atributo multivalorado para permitir varios
teléfonos por empleado.
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. Por ejemplo, es
incorrecto modelar id-cliente como un atributo de préstamo.
La relación
prestatario es la forma correcta de representar la conexión entre préstamos y
clientes, hace su conexión explícita en lugar de implícita mediante un
atributo. Otro error es designar a los atributos de la clave primaria
relacionados como atributos del conjunto de relaciones, ya que los atributos de
la clave primaria son ya implícitos en la relación.
2.4.2. 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. Se asumió que un préstamo se modelaba como
una entidad. Una alternativa es modelar un préstamo como una relación entre
clientes y sucursales, con número-préstamo.
Si cada
préstamo está asociado con un cliente y con una sucursal, se puede encontrar
satisfactorio el diseño en el que un préstamo se representa como una relación.
Con este diseño no se puede representar una situación en que varios clientes comparten
un préstamo. Habría que definir una relación separada para cada prestatario y
replicar los valores para los atributos descriptivos número-préstamo e importe.
Surgen dos
problemas:
1) Los datos
se almacenan varias veces, desperdiciando espacio de almacenamiento.
2) Las
actualizaciones dejan los datos en un estado inconsistente, en el que los
valores difieren en dos relaciones que se supone tienen el mismo valor. El
asunto de cómo evitar esta réplica se trata formalmente mediante la teoría de
la normalización.
Una guía para determinar si usar un conjunto de entidades o de
relaciones es designar un conjunto de relaciones para describir una acción que
ocurre entre entidades.
2.4.3 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, é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:
• (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
elaciones 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.
2.4.4 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.
Los atributos de un
conjunto de relaciones uno a varios se pueden colocar sólo en el conjunto de
entidades de la parte «varios» de la relación. Por otra parte, para los
conjuntos de entidades uno a uno, los atributos de la relación se pueden
asociar con cualquiera de las entidades participantes.
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.
No hay comentarios:
Publicar un comentario