Diagrama Entidad Relacion
Diagrama Entidad Relacion
Diagrama Entidad Relacion
Gracias al modelo conceptual Entidad-Relación, creado por Peter Chen en los años setenta, se
puede representar el mundo real a través de una serie de símbolos y expresiones determinados. El
objetivo de este modelo es obtener una representación de la realidad que capture sus propiedades.
Al tratarse de un modelo conceptual, no está orientado a ningún sistema físico concreto: tipo de
ordenador, SGBD, sistema operativo... Tampoco tiene un objetivo informático concreto, podría
perfectamente utilizarse para explicarle a una persona el funcionamiento de cualquier proceso, por
lo que debe ser fácil de comprender.
Lo primero que se debe que hacer cuando se va a crear una base de datos es:
Analizar el problema
Pensar qué tipo de información se necesita almacenar, o dicho de otra forma, qué tipo de
información se necesitará obtener de la base de datos.
Antes de seguir con el diseño de diagramas, hay que aclarar que distintos autores utilizan distintos
símbolos o maneras de representar algunos elementos y características del modelo E/R, por lo que
mientras el diseño esté bien realizado, el modo de expresarlo no es lo más importante, mientras
todos los que trabajen en el problema utilicen y entiendan los mismos elementos gráficos. En
Internet encontraréis diferentes maneras de representar un diagrama entidad relación. Lo
importante es que plasmen el problema que se estudia de manera correcta.
Entidades y relaciones
El primer paso para elaborar el diagrama E-R para una base de datos es:
Entidades
Al observar el mundo que rodea al problema que se quiere plasmar en el diagrama, se puede
detectar el conjunto de objetos de los que se desea almacenar información. Todos los objetos de
una misma clase se representan con un tipo de entidad concreto (por simplicidad, se les nombra
simplemente entidades), que se diferencia de otra entidad porque posee ciertas características que
la hacen única.
Cada entidad tendrá una serie de instancias, que no son más que ocurrencias concretas de ese tipo
de entidad.
En resumen: una entidad representa cualquier persona, suceso, evento o concepto
(cualquier "cosa") sobre el que se desea almacenar información.
En el modelo E/R una entidad se representa con un rectángulo en cuyo interior aparece el nombre
de la entidad.
Es importante tener en cuenta que el diseño E/R acabará plasmado en un sistema gestor de bases
de datos (SGBD) físico en un ordenador, por lo que es interesante respetar los nombres utilizados
en el diseño, y por esa razón es conveniente no utilizar tildes en los nombres, ya que hay SGBD
que no aceptan este tipo de caracteres.
Existen tipos de entidades, pero no se va a entrar en ese detalle en este curso, para el que
desee profundizar en el contenido del curso, existen apuntes de la UOC (Universitat Oberta
de Cataluña) con licencia Creative Commons sobre el modelo conceptual en este enlace.
Relaciones
Se entiende por relación aquella asociación o correspondencia existente entre entidades.
En las líneas que unen las entidades con las relaciones se puede escribir el rol o papel que
desempeña una entidad en la relación en caso de que dicho papel no quede claro.
Nombre de la relación: cada relación tiene un nombre que la distingue del resto y
mediante el cual se hace referencia a ella. Habitualmente se utiliza un verbo en forma
singular. (Trabaja, tiene, produce, etc)
Grado de la relación: es el número de entidades que participan en una relación.
Cardinalidad de la relación: Es el número máximo de instancias de cada entidad que
pueden intervenir en una instancia de la relación que se está tratando. En la
representación gráfica aparece como una etiqueta con 1:1, 1:N, o N:M, que se leen
respectivamente como uno a uno, uno a muchos y muchos a muchos.
Ejemplos de cardinalidades:
Cardinalidades de las entidades: hace falta un apartado entero para esto. Vayamos a
ello.
Por ejemplo, el siguiente diagrama representa el hecho de que un departamento de una empresa
puede tener varios empleados trabajando en él (lo indica la cardinalidad máxima n) o ningún
empleado trabajando en él (lo indica la cardinalidad mínima 0) y un empleado debe trabajar como
mínimo y como máximo en un solo departamento.
La cardinalidad de las relaciones se obtiene de considerar el máximo número de instancias con las
que puede participar cada una de las entidades en la relación, es decir con el máximo de las
cardinalidades de cada una de las entidades que participan en la relación.
Relación uno a uno. En la notación se pone 1:1. Con ejemplos se verá más fácil.
Veamos el caso de las entidades EMPLEADO y PUESTO_DE_TRABAJO, y la relación
“ocupa”. Suponiendo que un determinado puesto de trabajo puede estar ocupado por un
solo empleado, y al mismo tiempo, un empleado puede ocupar simultáneamente un único
puesto de trabajo. El diagrama sería el siguiente:
Relación uno a muchos. En la notación se pone 1:N. Por ejemplo, teniendo las
entidades ASIGNATURA y PROFESOR, y la relación "imparte" para un curso concreto. En el
caso de que una asignatura pueda ser impartida por un único profesor (no contemplando
desdobles), pero cada profesor pueda impartir muchas asignaturas. El diagrama sería:
Relación muchos a uno. Es el mismo concepto que el de una relación uno a muchos
(1:N).
Relación muchos a muchos. En la notación se pone N:M. En el caso de una empresa de
autobuses, si consideramos las entidades CONDUCTOR y AUTOBÚS, y la relación
"conduce", lo normal es que cada autobús pueda ser conducido por distintos conductores,
en diferentes turnos, y al mismo tiempo, que cada conductor pueda conducir varios
autobuses en distintos turnos, de forma que cada autobús se relaciona con muchos
conductores, y cada conductor se relaciona con muchos autobuses, formando una
relación muchos a muchos.
Aunque en este momento pueda parecer que los conceptos cardinalidad de una relación y
cardinalidad de una entidad son muy similares, ambos son necesarios para la transformación
del diagrama E/R al modelo relacional, como se verá más adelante.
Este diagrama representa que una película se relaciona con un actor que ha interpretado un
determinado personaje de los que forman parte del guión. O que un personaje se relaciona
con la película de la que forma parte y con el actor que lo interpreta. O que un actor se
relaciona con el personaje que interpreta y con la película en la que interviene... distintas
formas de decir lo mismo.
Las relaciones que expresa el diagrama son: un actor se relaciona con una película en la que
interviene, que es producida por un estudio, y lo hace a cambio de un determinado salario de
la tabla salarial que tienen establecida en ese estudio, y todas esas relaciones son en
realidad contractuales, es decir, derivadas de contratos.
Ahora, cada entidad de PELÍCULA, SALARIO, ESTUDIO y ACTOR se relaciona con las demás
entidades sóla a través de la entidad CONTRATO.
Atributos
Un atributo es cualquier característica que sirve para calificar, identificar, clasificar,
cuantificar o expresar el estado de algo. Por ejemplo, las propiedades, cualidades,
identificadores o características de entidades o relaciones
También hay que tener en cuenta si los atributos son simples o compuestos, o si son obligatorios u
opcionales.
Los atributos de una entidad se representan mediante elipses o círculos etiquetados, que se
conectan por una línea recta a la entidad o relación que califican, cada uno de los cuales tiene que
tener un nombre único y que haga referencia a su contenido. Los nombres de los atributos deben ir
en minúsculas.
Cada atributo tiene un conjunto de valores asociados denominado dominio. El dominio define t
odos los valores posibles que puede tomar un atributo.
Tipos de atributos
Los atributos pueden ser obligatorios u opcionales.
Un atributo obligatorio es aquél que siempre debe estar definido, como por ejemplo, el que
identifica a una entidad. En una entidad EMPLEADO, un atributo obligatorio de esa entidad podría
ser 'DNI', que no se puede dejar vacío porque gracias a él se identifican todas y cada una de las
instancias de esa entidad.
Un atributo opcional, en cambio, puede quedar sin definir para algunas de las instancias de la
entidad. En el caso de la entidad EMPLEADO un atributo opcional podría ser 'edad', que es un
atributo que no es imprescindible para la identificación de las instancias de la entidad.
Un atributo simple es un atributo que tiene un solo componente, que no se puede dividir en partes
más pequeñas que tengan un significado propio, un ejemplo podría ser el DNI de una persona.
Un atributo compuesto es un atributo con varios componentes, cada uno con un significado por sí
mismo. Por ejemplo, considerando la dirección de una persona como la unión de la calle donde
vive, el número y la población.
En la siguiente figura se observa la forma de representar los atributos simples y los compuestos,
Dirección es un atributo compuesto, que consta de varios componentes simples (calle, numero,
poblacion).
Las relaciones también pueden tener atributos asociados. Se representan igual que los atributos de
las entidades.
Imaginar que es necesario guardar la fecha de emisión de una factura a un cliente, y que es
posible emitir duplicados de la factura (con distinta fecha). En tal caso, el atributo "Fecha de
emisión" de la factura debería colocarse en la relación "se emite".
Clave primaria
Es muy importante poder distinguir cada instancia de una entidad o de una relación. Para esto
tenemos la clave primaria.
Cada instancia de una entidad se puede distinguir de cualquier otra por todos sus atributos, y la
mayoría de las veces no son necesarios todos, sino un subconjunto de ellos. Pero puede ocurrir que
un subconjunto sea igual para varias entidades, por lo que no nos vale cualquier subconjunto. Lo
importante es que el conjunto de todos los atributos que se seleccionan no se repita con los mismo
valores para distintas instancias. Teniendo en cuenta esto se definen diferentes conceptos:
Clave: es el atributo o conjunto de atributos que identifican a una entidad. Por ejemplo el
DNI identifica una instancia de cualquier otra dentro de la entidad EMPLEADO, por lo que
puede considerarse una clave de EMPLEADO. A veces es necesario más de un atributo
para conseguir la identificación de las instancias. En ese caso la clave está constituida por
el conjunto de atributos que garantice la identificación de cada una de las instancias.
Clave candidata: Se trata de uno o más atributos cuyos valores son únicos para cada
instancia de una entidad, pero que no son elegidos para identificar la entidad. Si tenemos
la entidad EMPLEADO con los siguientes atributos: DNI, codigo_empleado, nombre,
apellidos, direccion, fecha_nacimiento, etc... Dos claves candidatas son DNI y
codigo_empleado, ya que ambas identifican de manera única una instancia de EMPLEADO.
Clave primaria: Es la clave candidata elegida para identificar la entidad. Debe cumplir
además que ningún subconjunto de ella sea clave candidata. En el caso anterior de la
entidad EMPLEADO, pueden ser clave primaria tanto DNI, como codigo_empleado, y
depende del criterio del diseñador de la base de datos que elija una u otra. Pero una vez
que el diseñador elige una, sólo ese atributo (o conjunto de atributos) es clave primaria.
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU
Revisión #13
Creado 25 agosto 2022 09:15:30 por Berta
Actualizado 17 enero 2023 15:46:20 por Equipo CATEDU