Diseño de Base de Datos con el modelo E-R.

agosto 23, 2020

2.1 El Proceso del Diseño.

Según el capítulo seis del libro de base de datos de la Maestra Mercedes Márquez, el primer paso para construir una base de datos, es realizar un esquema conceptual, ¿pero que es el esquema conceptual?


El esquema conceptual es una representación visual de una base de datos, y se utiliza para representar la realidad a un alto nivel de abstracción mediante. Mediante los modelos conceptuales se puede construir una descripción de la realidad fácil de entender.

Para el caso particular, de nuestra asignatura utilizaremos el esquema Entidad-Relación, y es importante decir que no es el único esquema, pero sí de los más usados, por lo tanto, es el que nos da más documentación al respecto.

El diseño conceptual parte de las especificaciones de los requerimientos de los usuarios, dando como resultado el esquema conceptual. Cabe mencionar, que independientemente del SGBD que se valla a usar, el esquema conceptual será independiente de este.

Cualidades de los esquemas conceptuales.

Para que nuestro esquema conceptual sea lo más optimo, y podamos dar luz verde al siguiente paso, este debe cumplir ciertas cualidades:

Expresividad: deben tener suficientes conceptos para exponer perfectamente la realidad.

Simplicidad: deben ser simples para que los esquemas sean fáciles de entender.

Minimalidad: cada concepto debe tener un significado distinto.

Formalidad: todos los conceptos deben tener una interpretación única precisa y bien definida.

De manera general nuestro modelo no tiene la capacidad de expresar todas las propiedades de una realidad determinada, por lo que hay que añadir afirmaciones que complemente al esquema.

Como mencionábamos el modelo entidad-relación es el modelo conceptual más utilizado en la industria, para el diseño de base de datos. Creado por Peter Pin-Shan Chen, Doctor en Ciencias de la Computación, lo desarrollo cuando trabajaba como profesor adjunto en la Escuela de Administración y Dirección de Empresas Sloan del MIT.

Metodología de diseño conceptual.

Normalmente se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los usuarios tienen. Cada una de estas visiones suelen corresponder a las diferentes áreas funcionales, por ejemplo, de una empresa podrían ser: producción, ventas, recursos humanos, etc. 

Estas visiones de la información denominadas vistas de usuarios, se pueden identificar de varias formas. Una de ellas es por medio de diagramas de flujo, o la otra opción es a través de entrevistas con los usuarios examinado los procesos, y el funcionamiento del sistema.

A los esquemas conceptuales correspondientes a cada vista de usuario se le denomina esquemas conceptuales locales. Cada uno de estos esquemas se compone de entidades, relaciones, atributos, dominios de atributos, e identificadores. El esquema también tendrá una documentación, que se irá desarrollando con forme avanzamos en el esquema, y las tareas a realizar en el diseño conceptual son las siguientes:
1.- Identificar las entidades.

2.- Identificar las relaciones.

3.- Identificar los atributos y asociarlos a entidades y relaciones.

4.- Determinar los dominios de los atributos.

5.- Determinar los identificadores.

6.- Determinar las jerarquías de generalización (si es que las hay).

7.- Dibujar el diagrama entidad-relación.

8.- Revisar el esquema conceptual local con el usuario.

2.2 Modelo Entidad - Relación.

El modelo Entidad-Relación es el modelo más utilizado para el diseño conceptual de bases de datos y se basa en la existencia de objetos a los que se les da el nombre de entidades, y asociaciones entre ellos, llamadas relaciones. Fue introducido por Peter Chen en 1976 basándose en la percepción del mundo real que consiste en una colección de objetos básicos, denominados entidades, y de relaciones entre estos objetos, utilizando como símbolos principales las siguientes representaciones:


Entidad.

Una entidad es un objeto o cosa abstracta del mundo real que se diferencian entre si. La representación que tiene una entidad se maneja con la figura de un rectángulo. Un conjunto de entidades es un conjunto de entidades del mismo tipo que comparten las mismas propiedades, o atributos. Las entidades individuales constituyen un conjunto llamados extensión.

Atributos.

Los atributos definen o identifican las características de un conjunto de entidades. La designación de un atributo para un conjunto de entidades expresa la información que hay dentro en una entidad. Estos atributos pueden ser de distintos tipos (numéricos, texto, fecha...), estos se representan como elipses que descienden de una entidad.

Dominio.

El dominio son el conjunto de valores que tiene cada atributo en una entidad.

Relación.

la relación es el vínculo que nos permite definir una dependencia entre varias entidades, es decir, nos permite exigir que varias entidades compartan ciertos atributos de forma indispensable mostrándose en los diagramas como rombos, que se unen a las entidades mediante líneas.

Cardinalidad.

La cardinalidad es el número de entidades con la cual otra entidad puede asociar mediante una relación binaria; la cardinalidad puede ser: Uno a uno, uno a muchos ó muchos a uno y muchos a muchos.

Ejemplo:

2.3 Diseño con diagramas E-R.

Es la representación gráfica del Modelo Entidad-Relación y permite ilustrar la estructura de la base de datos del negocio modelado.

Recordando que está compuesto por:
  • Rectángulos: representan conjuntos de entidades.
  • Elipses: representan atributos.
  • Rombos: representan relaciones.
  • Líneas: unen atributos a conjuntos de entidades y conjuntos de entidades a conjuntos de relaciones.
  • Elipses dobles: representan atributos multivalorados.
  • Elipses discontinuas: que denotan atributos derivados.
  • Líneas dobles: indican participación total de una entidad en un conjunto de relaciones.
  • Rectángulos dobles: representan conjuntos de entidades débiles.
El conjunto de relaciones prestatario puede ser varios a varios, uno a varios, varios a uno o uno a uno, respectivamente: "1:1", "1:N" y "N:M". Para distinguir entre estos tipos, se dibuja o una línea dirigida (→) o una línea no dirigida (—) entre el conjunto de relaciones y el conjunto de entidades en cuestión.

Ejemplo:

Un modelo ER de Propietarios de Taxis  y Conductores.
                                (UNO ----- MUCHOS)
¿Un Taxi cuantos propietarios tiene?
R/ uno (El uno se pone en PROPIETARIO)
¿Un Propietario cuantos Taxis tiene?          
R/ Varios (La N se pone en TAXI)
¿Un taxi cuantos Conductores tiene?
R/ varios (La N se pone en CONDUCTOR)
¿Un conductor Cuantos taxis maneja?
R/ Uno (El  Uno se pone En TAXI)


                 Identificamos las Entidades.                                      Identificamos los atributos de las Entidades.

                                      

Identificamos los atributos de las Entidades.                         Colocamos la cardinalidad de las relaciones.

                                       

Recomendaciones.

  • Dos entidades no se pueden conectar directamente con una línea
  • No puede haber conexiones entre dos relaciones
  • Los atributos se asocian a entidades y a relaciones, pero no se asocian a las líneas que las conectan
  • Cuando una entidad participa en una relación, se debe indicar siempre la cardinalidad con la que participa
  • Un atributo es una propiedad de una entidad o de una relación. Cada atributo se dibuja sólo una vez en el esquema.
  • Puede haber nombres de atributos iguales en distintas entidades siempre que tengan significados diferentes.
  • Los atributos simples se representan mediante círculos pequeños conectados directamente a la entidad o la relación con una línea en la que se especifica la cardinalidad. 
  • Los atributos compuestos se representan mediante un óvalo, especificando su nombre en el interior, y tendrán uno o varios atributos simples conectados directamente a él mediante una línea 

2.4 Modelo E-R Extendido.

El modelo entidad/relación extendido describe con un alto nivel de abstracción la distribución de datos almacenados en un sistema. Existen dos elementos principales: las entidades y las relaciones. Las extensiones al modelo básico añaden además los atributos de las entidades y la jerarquía entre éstas. Estas extensiones tienen como finalidad aportar al modelo una mayor capacidad expresiva. El modelo Entidad-Relación extendido o ampliado, incorpora todos los elementos antes vistos en el modelo E-R incluyendo los conceptos de subclase y superclase así como también el concepto de especialización y generalización.

Generalización y Especialización.

La generalización es el resultado de la unión de dos o más conjuntos de entidades, de bajo nivel, para producir un conjunto de entidades de más alto nivel. 
La especialización es el resultado de tomar un subconjunto de un conjunto de entidades de alto nivel, para formar un conjunto de entidades de más bajo nivel.
Existen cuatro tipos de especialización :

1.-Especialización ExclusivaCada ocurrencia de la superclase solo puede materializarse o existir en una de las especializaciones o subclases.

2.-Especialización Inclusiva: Es cuando una ocurrencia de la superclase puede materializarse en más de una subclase.

3.-Especialización Total: Se da cuando una ocurrencia en la entidad padre o superclase tiene que materializarse obligatoriamente en una de las especializaciones.

4.-Especialización Parcial: La entidad superclase no tiene porqué materializarse en una de las especializaciones.



2.5 La Notación con E-R con UML.

Los diagramas entidad-relación ayudan a modelar el componente de representación de datos de un sistema software. La representación de datos, sin embargo, sólo forma parte de un diseño completo de un sistema.

Otros componentes son modelos de interacción del usuario con el sistema, especificación de módulos funcionales del sistema y su interacción, etc. El lenguaje de modelado unificado (UML, Unified Modeling Language) es un estándar propuesto para la creación de especificaciones de varios componentes de un sistema software. Algunas de las partes de UML son:

  • Diagrama de clase: Un diagrama de clase es similar a un diagrama E-R.
  • Diagrama de caso de uso: Los diagramas de caso de uso muestran la interacción entre los usuarios y el sistema, en particular los pasos de las tareas que realiza el usuario.
  • Diagrama de actividad: Los diagramas de actividad describen el flujo de tareas entre varios  componentes de un sistema.
  • Diagrama de implementación: Los diagramas de implementación muestran los componentes del sistema y sus interconexiones tanto en el nivel del componente software como el hardware.

 



El Lenguaje Unificado de Modelado (UML) fue creado para forjar un lenguaje de modelado visual común y semántica y sintácticamente rico para la arquitectura, el diseño y la implementación de sistemas de software complejos, tanto en estructura como en comportamiento. UML tiene aplicaciones más allá del desarrollo de software, p. ej., en el flujo de procesos en la fabricación.

Es comparable a los planos usados en otros campos y consiste en diferentes tipos de diagramas. En general, los diagramas UML describen los límites, la estructura y el comportamiento del sistema y los objetos que contiene.

UML no es un lenguaje de programación, pero existen herramientas que se pueden usar para generar código en diversos lenguajes usando los diagramas UML. UML guarda una relación directa con el análisis y el diseño orientados a objetos.

UML y su función en el modelado y diseño orientados a objetos.

Hay muchos paradigmas o modelos para la resolución de problemas en la informática, que es el estudio de algoritmos y datos. Hay cuatro categorías de modelos para la resolución de problemas: lenguajes imperativos, funcionales, declarativos y orientados a objetos (OOP). En los lenguajes orientados a objetos, los algoritmos se expresan definiendo 'objetos' y haciendo que los objetos interactúen entre sí. Esos objetos son cosas que deben ser manipuladas y existen en el mundo real. Pueden ser edificios, artefactos sobre un escritorio o seres humanos.

Los lenguajes orientados a objetos dominan el mundo de la programación porque modelan los objetos del mundo real. UML es una combinación de varias notaciones orientadas a objetos: diseño orientado a objetos, técnica de modelado de objetos e ingeniería de software orientada a objetos.

UML usa las fortalezas de estos tres enfoques para presentar una metodología más uniforme que sea más sencilla de usar. UML representa buenas prácticas para la construcción y documentación de diferentes aspectos del modelado de sistemas de software y de negocios.


.             .             .


Si te a servido de utilidad la información que haz encontrado aquí acerca del tema dos de Fundamentos de Base de Datos y te gustaría complementar lo que ya has visto, te invitamos a que nos escuches en el Podcast de Encoders justo aquí: https://bit.ly/3j6ZY6H

You Might Also Like

0 comentarios

Podcast

Podcast

" Un podcast educacional universitario " Encoders . El objetivo de Encoders podcast es ser la voz de los alumnos de Ingeniería en ...