DATOS
Análisis de Datos Técnicas de análisis y especificación de datos: Modelo E/R
TÉCNICAS DE ANÁLISIS Y ESPECIFICACIÓN DE DATOS. MODELO
E/R
El modelo E/R es el de más amplia aceptación y al que le suele dar soporte la
mayoría de las herramientas CASE. El modelo se basa en entidades que se relacionan
entre sí.
Es un modelo muy extendido y potente para la representación de los datos. Es la
referencia que se usa para el diseño de modelos relacionales. Se simboliza haciendo
uso de gráficos en los que se representan las entidades y las relaciones entre ellas.
Para la construcción de un esquema E/R se parte del análisis del Universo del
Discurso (lo que también podría denominarse "realidad empresarial"), analizando los
listados, pantallas, normativas, etc. y realizando un conjunto de entrevistas a varios
niveles de la empresa.
Posteriormente se elabora un esquema percibido, expresado en lenguaje natural,
que nos facilita la obtención del esquema conceptual, siendo preciso, por tanto,
"interpretar" las frases del lenguaje natural en el que está descrito el esquema percibido,
convirtiéndolas en elementos del modelo E/R, como son las entidades, los atributos y
las interrelaciones.
No existen reglas deterministas que nos digan qué elemento va a ser una entidad o
cuál otro una interrelación.
ELEMENTOS DEL MODELO
Entidad
Es un objeto del mundo real sobre el que se quiere guardar o representar
información. Cada entidad se identifica por su nombre. Ej: ALUMNOS, CLIENTES,
PROFESORES… Se representan utilizando rectángulos y escribiendo dentro el nombre
de la entidad.
ALUMNOS
A los elementos del mundo real que la entidad representa se les denomina
ocurrencias de la entidad.
En relación con las entidades hemos de distinguir los siguientes conceptos:
Atributos
Son las unidades de información que describen propiedades de las entidades. Ej:
Para la entidad ALUMNOS los atributos serían Nº MATRÍCULA, NOMBRE,
APELLIDOS, FECHA NACIM…. Se representan mediante un círculo o una elipse con el
nombre en su interior. También pueden listarse al lado de la entidad correspondiente.
Valores: Son los distintos contenidos que toman los atributos.
DATOS
Análisis de Datos Técnicas de análisis y especificación de datos: Modelo E/R
Dominio de un atributo: Es el conjunto de valores permitido para cada
atributo. Ej: La nota de un alumno ha de ser mayor o igual a 0 y menor o igual a
10.
Clave: Atributo o conjunto de atributos que identifican de forma única a una
entidad.
Clave candidata: Cada una de las claves mínimas existente en un conjunto
de entidades.
Clave primaria o principal (primary key): Es una clave candidata elegida de
forma arbitraria, que usaremos siempre para identificar una entidad. No puede
contener valores nulos, ha de ser sencilla de crear y no ha de variar con el
tiempo. A las claves primarias se les añade el carácter almohadilla (#)
Los atributos se representan mediante un círculo o una elipse con el nombre en
su interior. También pueden listarse al lado de la entidad correspondiente. Las claves
primarias las distinguiremos mediante el símbolo #, aunque también pueden subrayarse
y ponerse en negrita, o bien rellenar el círculo o elipse.
DIRECCIÓN
NOMBRE
POBLACIÓN
NUM MATRÍCULA
TELÉFONO
ALUMNOS
o también
#Num Matrícula
Nombre
ALUMNOS Dirección
Población
Teléfono
EJERCICIO
Para una entidad TRABAJADOR, especificar los atributos de los que constaría.
DATOS
Análisis de Datos Técnicas de análisis y especificación de datos: Modelo E/R
Los atributos pueden ser:
1. Simples (que tienen un valor único) o compuestos (pueden dividirse en varios
atributos únicos).
Ejemplo de atributos compuestos:
2. Almacenados o derivados: Un atributo derivado es aquel en el que se
relacionan dos (o más) valores de atributos. Por ejemplo: los atributos Edad y
FechaNacimiento de una persona. Para una entidad persona en particular, el
valor de edad se puede determinar a partir de la fecha actual y el valor de
FechaNacimiento de esa persona. Por tanto se dice que el atributo Edad es un
atributo derivado, y que es derivable del atributo FechaNacimiento, el cual es
un atributo almacenado
Relaciones o interrelaciones (puesto que el término relación tiene un significado
diferente en el modelo relacional)
Las relaciones son asociaciones entre entidades. No tienen existencia propia.
Cada ocurrencia de un tipo de relación no es distinguible por si misma sino a través de
las ocurrencias de las entidades asociadas. Se representan mediante un rombo
etiquetado.
Nombre: Identifica la relación de forma única. Suelen tener nombre de verbo
Grado: Identifica el número de entidades que participan en la relación. Pudiendo ser:
Grado uno o Reflexivas: Sólo participa una entidad.
Grado dos o Binarias: Dos entidades implicadas en la relación.
DATOS
Análisis de Datos Técnicas de análisis y especificación de datos: Modelo E/R
Grado tres o Ternarias: Tres entidades implicadas en la relación.
Grado n o n-arias (poco comunes): n entidades implicadas en la relación.
Cardinalidad de una relación
La cardinalidad implica un contenido semántico de información. Consiste en indicar
exactamente cuál es la participación de una entidad en la relación. Las cardinalidades
se representan mediante una pareja de datos (en minúscula) en la forma:
(cardinalidad mínima, cardinalidad máxima)
Asociada a cada uno de los tipos de entidad que intervienen en un tipo de interrelación
dado, es decir, número de ocurrencias de un tipo de
entidad que pueden estar relacionadas con una
ocurrencia del otro tipo de entidad.
Las parejas de cardinalidades mínima y máxima
con la que un tipo de entidad puede intervenir en un
tipo de interrelación son: (0, 1) (1, 1) (0, n) (1, n) ó
(n, n), que representan los diferentes tipos de correspondencias que pueden
presentarse entre los elementos de los conjuntos relacionados. Se coloca sobre la línea
lo más cerca posible de la entidad a la que se refiere. Se fija una ocurrencia en concreto
de una entidad y se averigua la participación (mínima y máxima) de la otra entidad.
DATOS
Análisis de Datos Técnicas de análisis y especificación de datos: Modelo E/R
Ejemplos:
(1,1) Un pedido es hecho
por un cliente y sólo por
uno
(0,n) Un cliente puede no
hacer pedidos o bien
realizar varios.
(1,n) Para que una
persona esté en una
empresa como mínimo
debe tener un contrato.
Un alumno puede estar
matriculado en varias
ALUMNO
(1,n)
matriculado
(1,n)
ASIGNATURA
asignaturas. En una
asignatura en concreto
estarán matriculados
varios alumnos.
Correspondencia
Es conveniente también acompañar a la representación de los tipos de
interrelación en un diagrama E/R de las cardinalidades máximas (en mayúsculas) con
las que intervienen los tipos de entidad relacionados en el tipo de interrelación.
El grado de la relación, también llamado tipo de correspondencia indica el
número máximo de ocurrencias de una entidad que participan en la relación con la otra
entidad. Coinciden con la cardinalidad máxima de los dos tipos de entidades que
participan en la relación.
Uno a Uno (1: 1): A cada ocurrencia de la
entidad A le corresponde una ocurrencia de
la entidad B, y viceversa. Es decir, en la
relación las dos entidades con una sola
ocurrencia.
DATOS
Análisis de Datos Técnicas de análisis y especificación de datos: Modelo E/R
Uno a Muchos (1: N): A cada ocurrencia de
la entidad A le pueden corresponder varias
ocurrencias de la entidad B. Pero, a cada
ocurrencia de la entidad B sólo le
corresponde una ocurrencia de la entidad A.
Para una de las entidades pude haber un
número indefinido de ocurrencias
Muchos a Muchos (N: N) A le pueden
corresponder varias ocurrencias de la
entidad B. Y a cada ocurrencia de la entidad
B le pueden corresponder varias
ocurrencias de la entidad A. Para ambos
tipos de entidades puede haber un número
indefinido de ocurrencias.
Ejemplos:
Un libro sólo es publicado por
una editorial.
Un documento pude ser escrito
por varios autores.
Otra forma de representación es la que se conoce como pata de gallo. Se puede
observar en el siguiente diagrama:
DATOS
Análisis de Datos Técnicas de análisis y especificación de datos: Modelo E/R
En el diagrama anterior se puede examinar un modelo sencillo estilo pata de gallo. En estos
diagramas la cardinalidad máxima n se dibuja con las famosas patas de gallo, la cardinalidad
mínima de tipo cero con un círculo y la cardinalidad de tipo uno con una barra vertical.
Atributos propios de una relación
Las relaciones también pueden tener atributos, se les denomina atributos propios. Son
aquellos atributos cuyo valor sólo se puede obtener en la relación, puesto que dependen
de las entidades que participan en la relación.
Ejemplo: En un comercio, un cliente compra varios productos, y un producto puede ser
comprado por varios clientes. Al cliente se le asigna un código para identificarle.
También interesa conocer su nombre, dirección, edad y teléfono. El producto también
tiene un código para identificarle. Se quiere guardar el nombre o descripción del
producto y el precio por unidad. También se quiere guardar la cantidad de producto que
compra cada cliente.
Solución:
Tipos de identificadores
Es necesario establecer un mecanismo para distinguir sin ambigüedad a cada una de
las instancias de entidad e interrelación del resto del mismo tipo. Esto se consigue
mediante la especificación, para los tipos de entidad, del conjunto de atributos
identificadores.
Se denomina identificador principal o clave de un tipo de entidad al conjunto de
atributos (tal vez uno sólo) que no toma el mismo valor para dos entidades diferentes del
mismo tipo. Estos conjuntos de atributos deben cumplir la condición de ser mínimos; es
decir, el conjunto de atributos identificadores será tal que si se eliminase algún atributo
de este conjunto dejaría de cumplir la propiedad de identificador.
DATOS
Análisis de Datos Técnicas de análisis y especificación de datos: Modelo E/R
Para un tipo de entidad puede haber más de un conjunto de atributos que
satisfagan esta condición, siendo candidatos para desempeñar este papel de
identificación. En estos casos, a uno de estos grupos se le asignará el papel de
identificador principal o clave, y al resto el de identificador alternativo o candidato.
Estos atributos se representan con un círculo en negro y un círculo con la mitad relleno
y la mitad vacío respectivamente.
Relaciones reflexivas
Las interrelaciones reflexivas son relaciones unitarias y, por tanto, consideran que en
el tipo de interrelación se ve involucrado un único tipo de entidad. La entidad
desempeña dos papeles distintos en el mismo tipo de interrelación. La participación de
la entidad en la relación puede ser diferente si se lee en un sentido o en otro.
Ejemplo: Relación existente entre el tipo de entidad Trabajador con ella misma.
Representa que un trabajador es jefe de 0
o varios trabajadores, mientras que un
trabajador sólo es dirigido por 0 (el jefe de
todos) o 1 trabajador.
Un tema puede constar de varios
subtemas. Un subtema pertenece a un
tema y solo a uno.
Entidades fuertes y débiles. Relaciones de dependencia
Los tipos de entidades pueden ser de dos clases:
- Entidad regular o fuerte: Tienen existencia propia.
- Entidad débil: Su existencia depende de una ocurrencia de la entidad regular. Si
se elimina la entidad regular, también se eliminarán las entidades débiles que
dependen de ella.
A menudo la clave de una entidad está ligada a la clave principal de otra, aún sin
tratarse de una interrelación. Por ejemplo, supongamos una entidad viaje, que usa la
clave de un vehículo y añade otros atributos como origen, destino, fecha, distancia.
DATOS
Análisis de Datos Técnicas de análisis y especificación de datos: Modelo E/R
Decimos que la entidad viaje es una entidad débil, en contraposición a la entidad
vehículo, que es una entidad fuerte. La diferencia es que las entidades débiles no
necesitan una clave primaria, sus claves siempre están formadas como la combinación
de una clave primaria de una entidad fuerte y otros atributos.
Además, la existencia de las entidades débiles está ligada o subordinada a la de la
fuerte. Es decir, existe una dependencia de existencia. Si eliminamos un vehículo,
deberemos eliminar también todos los viajes que ese vehículo ha realizado.
Otro ejemplo puede ser LIBRO y EJEMPLAR.
La entidad débil está unida a la entidad fuerte a través de una relación de
dependencia. Hay dos tipos de dependencia: en existencia y en identificación.
Al igual que los tipos de entidad pueden ser fuertes o débiles, los tipos de
interrelación pueden ser fuertes o débiles. Un tipo de interrelación fuerte representa la
relación entre dos tipos de entidad fuertes y, viceversa, un tipo de interrelación débil
representa la relación entre un tipo de entidad fuerte y una débil, o bien, dos tipos de
entidad débiles. En este último caso, alguno de los tipos de entidad tiene el papel de
fuerte en lo referente a la semántica de la relación, aunque sea débil desde la óptica
global del problema.
Los tipos de interrelación débiles son representados mediante un rombo en el
cual se indica el tipo de debilidad existente (EXistencia, IDentificación).
Dependencia ó debilidad en existencia
La entidad débil puede ser identificada sin necesidad de identificar la entidad
fuerte por la cual existe.
DATOS
Análisis de Datos Técnicas de análisis y especificación de datos: Modelo E/R
DATOS
Análisis de Datos Ejercicios
Dependencia ó debilidad en identificación
Además de una dependencia en existencia, las ocurrencias del tipo de entidad
débil no se pueden identificar sólo por sus atributos, hay que añadirle la clave de la
ocurrencia de la entidad fuerte de la que depende.
Toda dependencia en identificación ha de tener, evidentemente,
cardinalidades (1,1) con respecto a la entidad regular.
Relaciones n-arias
Intervienen n entidades en la relación. Para obtener la cardinalidad de una
relación n-aria, se cogen las participaciones máximas de cada entidad. Para obtener la
participación de una entidad, se fija una ocurrencia del resto de entidades y se observa
cuántas ocurrencias, de la entidad en cuestión, le corresponden.
DATOS
Análisis de Datos Ejercicios
Ejemplo: Se quieren guardar las diferentes tareas que realiza un trabajador en cada
departamento. Se trata de una relación
ternaria (grado 3) en la que intervienen
las entidades Departamento,
Trabajador y Tarea.
¿Participaciones?
(1) Tareas: Dado un departamento y un trabajador, ¿cuántas tareas realiza? (Un
trabajador en un departamento, ¿Cuántas tareas realiza?) (1,n)
(2) Trabajador: Dado un departamento y una tarea, ¿cuántos trabajadores la realizan?
(Una tarea de un departamento, ¿Cuántos trabajadores la realizan?) (1,n)
(3) Departamento: Dado un trabajador y una tarea, ¿en cuántos departamentos la
realiza? (un trabajador, ¿en cuántos departamentos realiza una tarea?) (1,1)
(4) Cardinalidad: Participaciones máximas (1:N:N)