Modelo Conceptual - Irene-Frias/1DAM GitHub Wiki
1. Introducción
El desarrollo de un sistema de información es parte del análisis estructurado, su finalidad es identificar de forma precisa, exhaustiva y verificable las necesidades del sistema. Una vez que la abstracción conceptual del problema tome nota, se procederá a implementarla como solución informatizada.
El modelo obtenido deberá contener la información más relevante de la misma para el campo de aplicación que se está estudiando así como las relaciones que se producen entre los datos. Por tanto, el objetivo es obtener una foto realista que sea una descripción fiel de la realidad que se quiere modelar y al mismo tiempo, lo bastante simple para poder implementarla en un sistema real de bases de datos. Para crear el modelo conceptual emplearemos el modelo Entidad / Relación (E/R), una técnica propuesta por Peter Chen en 1976 junto con una notación bien definida para cada elemento del modelo. Aunque hoy en día existen muchas notaciones gráficas, para comenzar nuestro estudio del modelo E/R emplearemos la notación de Chen. El primer paso será ver los diferentes elementos que tiene este modelo para representar la información.
2. Modelo E/R
El objetivo del modelo entidad-relación es la representación y definición de todos los datos que se introducen, almacenan, transforman y producen dentro de un sistema de información son tener en cuenta las necesidades tecnológicas, ni otras restrincciones.
Su implementación final es representar un modelo semántico ya que el significado de los datos dará solución al problema planteado sin importar cuál sea el SGBD que se vaya a utilizar.
Este modelo entidad-relación utiliza los conceptos abstractos de entidad, atributo y relación.
2.1 Entidad
La entidad es elemento fundamental, una descripción global representada mediante sustantivos. La definición concreta sería que es cualquier objeto concreto o abstracto del cual se quiere almacenar la información en el sistema.
Cada elemento concreto de una entidad es una ocurrencia o instancia. Este modelo E/R diferencia en dos tipos de entidades:
-
Fuertes: tienen existencias por sí mismas y sus ocurrencias, no dependen de otra entidad. Corresponde a la mayoría de las entidades y son representadas mediante un rectángulo con el nombre en medio.
-
Débiles: la existencia de sus ocurrencias depende de su existencia en las ocurrencias de otra entidad. Se representa mediante un doble rectángulo.
En general se representa el sustantivo en mayúscula y la entidad se indica en singular.
2.2 Atributos
Los atributos son las propiedades o características que queremos guardar de una entidad o de una relación. Se definen en minúscula con un único nombre en el que se hace referencia al contenido.
2.2.1 Tipos de Atributos
Para especificar el valor que se debe almacenar un atributo se establecen las siguientes clasificaciones:
- Compuesto: en caso de que contenga un valor que pueda ser dividido en partes más pequeñas con significado propio.
- Multievaluado: cuando para la misma instancia del atributo pueda coger varios valores.
- Opcional: si permite que pueda haber instancias de la entidad en las que el atributo no esté definido o no tenga valor.
- Derivado: cuando el valor del atributo pueda obtenerse a partir del valor o valores de los otros atributos relacionados
- Clave: si el valor es único para cada ocurrencia de la entidad y por lo tanto permite identificarlo de manera única. Un atributo clave no puede ser nulo.
2.2.2 Claves
Todas las entidades deben identificarse unívocamente cualquier instancia de la misma.
Si la entidad es fuerte, significará que el atributo lo consigue por sí mismo o si es necesario alguna combinación de éstos. A todos los resultados obtenidos se les llama claves candidatas y debe seleccionar una entre varias, entendiendo el contexto en el que se esté trabajando, como clave principal. Las claves candidatas que no hayan sido seleccionadas se les reconoce como claves alternativas.
Cuando una entidad es débil y no dispone de atributos para identificar unívocamente sus instancias, su clave se forma con la clave principal de la entidad fuerte de la que depende más la clave parcial que la entidad débil.
2.2.3 Representación gráfica
La representación varía según la notación elegida:
Las restricciones de los atributos pueden combinarse entre sí. Es fácil realizar un modelo que requiera cierta complejidad utilizando representación gráfica para describir los atributos de las relaciones será complicado de .......??????
2.2.4 Dominio de un Atributo
Es un conjunto de valores permitidos en referencia a un tipo de datos, que almacenará (cadena de caracteres, números enteros, fecha,...) o a restricciones de valores que el atributo deba tomar. El primer dominio queda definido de forma implícita y de segundo de forma explícita.
Cualquier atributo de la entidad quedará definido. Sin embargo, los dominios no suelen representarse en el modelo por problemas de espacio, y se añaden como descripción textual adicional.
2.3 Relacionales
Son llamadas también interrelaciones, una relación representa una asociación o correspondencia entre entidades, exigiendo compartir ciertos atributos de forma indispensable.
Sin las interrelaciones de bases de datos constan de sentido. Establecen un modo en el que las ocurrencias de una entidad se relacionan con las ocurrencias de otra y otras entidades.
En notación de Chen, las relaciones son representadas mediante un rombo. Dentro se describe el nombre de la relación que debe ser un verbo o acción verbal.
2.3.1 Grado
Una relación tiene un número de entidades que participan en la relación, son llamadas grado.
- Reflexiva o en anillo: si una relación se asocia a instancias de una entidad con ella misma. Para comprenderlas hay que tener en cuenta que las ocurrencias se relacionan, aún perteneciendo a la misma entidad.
- Binaria: cuando en una relación intervienen dos entidades. Entre dos entidades pueden existir tantas relaciones binarias como se consideren oportunas. Suele ser la más común.
- Terciaria: cuando participan tres entidades. Se estudia como se relacionan cada una de las entidades. Este tipo de relaciones añaden más complejidad al diseño conceptual, por ello es necesario transformarlas en relaciones binarias, sin perder la semántica.
- N-aria: son cuando intervienen más de tres entidades. Suele ser poco común establecer relaciones en el diseño de grado mayor.
2.3.2 Cardinalidad
La cardinalidad es el número máximo de veces que una ocurrencia de una entidad pueda asociarse con ocurrencias de la otra entidad dentro de una relación.
En ambos casos de la relación, se analiza el número de ocurrencias asociadas. Son distinguidas en tres tipos de relaciones:
- Relación 1:1 indica que una ocurrencia de una entidad A solo pueda relacionarse con una ocurrencia de la entidad B. Y en sentido contrario, que una ocurrencia de una entidad B solo pueda ser correspondida con una ocurrencia de A.
- Relación 1:N indica que una ocurrencia de la entidad A puede relacionarse con varias de la entidad B. En sentido contrario, una ocurrencia de B solo se corresponde con una ocurrencia de la entidad A.
- Relación M:N indica que una ocurrencia de la entidad A pueda relacionarse con varia ocurrencias de la entidad B. En sentido contrario, cada una de las ocurrencias de la entidad B se corresponden con varias ocurrencias de A.
2.3.3 Modalidad
Define el número mínimo y máximo de ocurrencias de una entidad donde pueden estar relacionadas con una ocurrencia de otra u otras entidades. Se indican a ambos lados de la relación y su valor máximo coincida con el valor de la cardinalidad correspondiente.
- (0,1) cada ocurrencia de la primera entidad puede relacionarse con una o ninguna de la segunda entidad.
- (1,1) cada ocurrencia de la primera entidad debe de relacionarse obligatoriamente con una y solo una de la segunda entidad.
- (1,N) cada ocurrencia de la primera entidad debe relacionarse con al menos una ocurrencia de la segunda entidad, pero también puede relacionarse con varias.
- (0,N) cada ocurrencia de la primera entidad no tiene limitada su relación con ocurrencias de la segunda entidad. Puede relacionarse con una, varias o ninguna.
2.3.4 Atributo de relación
Cuando las instancias se relacionan y no son propias de ninguno de los dos tipos de entidad, participan en la relación, es decir que hacen que una relación tenga atributos en ella.
2.3.5 Relaciones débiles
Cuando hay una entidad débil y se asocia con una entidad fuerte o regular de la siguiente, es considerada relación débil. Siempre que de grado dos y la modalidad débil hacia la fuerte (1,1).
- Existencia: la entidad débil existe porque existe la entidad fuerte. Si desaparece, la débil también.
- Identificación: además de la dependencia en existencia, la entidad débil necesita una clave primaria de la entidad fuerte para identificar sus propias instancias.
Se identifican en una relación con el borde del rombo de la interrelación EX y si lo es por identificación la etiqueta es ID.
3. Modelo E/R Extendido
El modelo de Peter Chen, ha escogido nuevas representaciones que ofrecen un grado de mayor abstracción para poder representar una semántica más amplia. Este modelo se conoce como E/R Extendido.
3.1 Restricciones en las relaciones
3.1.1 Exclusividad
Dos o más tipos de relaciones tienen restricción de exclusividad con respecto a un tipo de entidad. Cada una de las entidades participa en una ocurrencia de dicha entidad sólo puede pertenecer a uno de los tipos de relaciones, pero en el momento en que pertenezca a uno podrá formar parte del otro.
No es obligatorio que las relaciones exclusivas sean respecto al mismo tipo de entidad, sino que pueden serlo respecto a distintos tipos.
Es representada con un arco en el que engloba todas aquellas relaciones que son de tipo exclusivas.
3.1.2 Exclusión
Se produce cuando las ocurrencias de las entidades que se relaciones no pueden asociarse simultáneamente sino que deben asociarse utilizando una sola de las siguientes que las une.
Se representa con una línea discontinua.
3.1.3 Inclusividad
Sea una entidad que se relaciona con otra a través de dos relaciones. Para toda ocurrencia de la entidad que participe en una de las relaciones tiene obligatoriamente que participar en la otra.
Se representa mediante una flecha arqueada que parte desde la relación que ha de cumplirse primero para dirigirse hacia la otra relación.
3.1.4 Inclusión
Cuando las ocurrencias que se asocian mediante una de las relaciones tienen también que asociarse mediante otra.
Se representan mediante una flecha recta de línea discontinua.
3.2 Jerarquías de Generalización / Especialización
Son un caso especial la relación entre un tipo de entidad más general llamado supertipo y un conjunto de varios tipos de entidades denominados subtipos. Este tipo de relación representa una característica muy importante que es la herencia, ya que es toda propiedad del supertipo (atributos, identificadores, participantes) que pasan a ser subtipos. La herencia nunca se da de los subtipos al supertipo. Hay unas jerarquías en el modelo que pueden surgir de dos formas distintas:
- Generalización: se observan los tipos de entidad que comparten propiedades (atributos o relaciones) donde se deduce la existencia de un tipo de entidad de nivel superior que contienen los atributos y los tipos de relaciones comunes a todos los subtipos.
- Especialización: se observan que un tipo de entidad tenga ciertas condiciones para unos ejemplares pero no para otros, por lo que es conveniente definir uno o varios subtipos que contengan estas propiedades específicas, dejando en el supertipo los que son comunes.
La división en los subtipos puede estar condicionada por los valores que tome un atributo discriminante , definido previamente.
Se representa mediante un triángulo invertido, sobre el quedará la entidad superclase y conectadas a él a través de líneas rectas y subclases. Si existe atributo discriminante se conectará con el triángulo representando la jerarquía. No es necesario incluir el nombre de la relación ya que por defecto responde a la notación de "es un tipo de".
La generalización tiene una serie de restricciones semánticas atendiendo a si los subtipos se solapan o son disjuntos y a si la unión de los subtipos recubre o no al supertipo:
- Solapamiento / Exclusividad: si el supertipo puede pertenecer o no a más de un subtipo habrá solapamiento, y si sólo puede pertenecer a uno de los subtipos existirá exclusividad. Representándose mediante un arco debajo del triángulo.
- Totalidad / Parcialidad: si el supertipo tiene que pertenecer a algún subtipo tendremos totalidad y, si por el contrario no tiene obligatoriamente que pertenecer a algún subtipo habrá parcialidad.
La combinación da lugar a cuatro posibles tipos de jerarquías:
- Exclusiva / Parcial:
- Exclusiva / Total:
- Solapada / Parcial:
- Solapada / Total:
3.3 Entidad asociativa y agregación
Una de las restricciones del modelo E/R es que no puede haber relaciones entre relaciones o entre la unidad y otra relación. Para solucionar este problema aparecen los conceptos de agregación y entidad asociativa.
3.3.1 Entidad asociativa
Es una abstracción que permite crear una entidad que provenga de una relación entre varias entidades par que de este modo esta entidad creada pueda asociarse con otras entidades existentes.
3.3.2 Agregación
En este caso la abstracción se busca distinguir un todo de una parte. Existen dos tipos de agregaciones:
- Composición: un todo se obtiene por la unión de diversas partes, que pueden ser entidades distintas que desempeñan papeles distintos en la agregación.
- Colección: un todo se obtiene por una unión de diversas partes, donde todas las partes son de un mismo tipo de entidad y desempeñan el mismo papel en la agregación.
Las cardinalidades mínima y máximo de las entidades agregadas son siempre (1,1) y no suelen indicarse en la representación gráfica. Se indica mediante un pequeño rombo junto a la entidad que representa el todo.
4. Guía para la creación del modelo E/R
- Entidades, teniendo que especificar los atributos que las caracterizan y los que las identifican. También seleccionaremos los atributos multivaluados si los hubiera.
- Relaciones que vinculan a varias entidades o a una entidad más de una vez. Estableceremos las cardinalidades (min,max) de cada entidad respecto de las relaciones en las que participa.
- Posibles atributos de relaciones.
- Posibles jerarquías, distinguiendo las características comunes del supertipo de las específicas de los subtipos.
- Posibles entidades débiles y si son en existencia o en identificación.
- Posibles restricciones entre distintas relaciones (inclusión, exclusión, inclusividad o exclusividad).
- Posible relaciones de grado superior a dos. Comprobaremos si reflejan adecuadamente la semántica de los requisitos de usuario y pueden transformarse en relaciones binarias o en entidades asociativas.
- Posible relaciones redundantes, eliminándolas según el caso. Si no se eliminan habrá que crear mecanismos o procedimientos para controlar dicha redundancia.
4.1 Redundancia en diagramas E/R
La redundancia de datos puede provocar problemas como:
- Aumento de trabajo, ya que al estar un mismo dato almacenado en varios lugares, las operaciones de grabación o actualización deberá realizarse en varias ocasiones, tantas como veces esté duplicado el dato.
- Gasto extra de espacio de almacenamiento, que será más patente a medida que la base de datos aumente.
- Inconsistencia, si los datos repetidos no contienen los mismos valores, no pudiéndose saber cuál de ellos es el correcto.
Para que una base de datos funcione de forma óptima es fundamental realizar un buen diseño de ella, por tanto, es imprescindible que en el modelo E/R se controle la redundancia.
Existen dos formas principales de redundancia:
- Atributos (derivados): son redundantes, el esquema se indique su condición de derivados y la fórmula mediante la que ha de ser calculados.
- Relaciones:
4.2 Propiedades deseables de un diagrama E/R
- Completitud:
- Corrección:
- Minimalidad:
- Sencillez:
- Legibilidad:
- Escalabilidad: