ACTIVIDAD 1

Objetivo: investigar y documentar que son las relaciones en las bases de datos, que tipos de relaciones se dan entre las tablas y que es el modelo entidad relacion.

Actividad 1.1

1.  Ingresar al siguiente link https://www.ite.educacion.es/formacion/materiales/93/cd/m2_3/concepto_de_relacin.html  y copiar y pegar la siguiete información:
Concepto de la Relación (En las bases de datos)
Tipos de Relaciones (En las bases de datos)

2. Indentifcar que tipos de relaciones se dan entre las diferentes tablas de la BD_IEARM y explicarlas, ademas dibujarlas en Microsoft Powerpoint y subir o cargar el archivo resultante al gmail, dropbox y webnode de cada uno.

3.  Diagrama entidad realcion: Ingresar a los sigueintes links y documentar que es el modelo y diagrama entidad relación

https://www.genbetadev.com/bases-de-datos/fundamento-de-las-bases-de-datos-modelo-entidad-relacion

https://www.lucidchart.com/pages/es/qu%C3%A9-es-un-diagrama-entidad-relaci%C3%B3n

4.  En Microsoft Excel Dibujar o Diseñar el Modelo Entidad Realacion para pa BD_IEARM y subir o cargar el archivo resultante al gmail, dropbox y webnode de cada uno.

 

NOTA:
RECORDAR QUE CADA PREGUNTA DEBE IR ACOMPAÑADA DE 3 LINK DE DONDE SE CONSULTE Y DE UN APORTE PERSONAL DE 5 LINEAS DE LO QUE ENTENDIO, DE UNA IMAGEN QUE TENGA FRELACION CON EL TEMA Y DE UN VIDEO QUE EXPLIQUE LA PREGUNTA O TEMA; DEBE VERSE Y ESCUCHAR EL VIDEO,DEBAJO DE EL COLOCAR UN RESUMEN DE AL MENOS UN PARRAFO (5 LINEAS)
Leer más: https://trecnologiaeinformatica-iearm.webnode.es/novenos/tecnologia-e-informatica/actividades/actividad-1/

solucion

1.

Concepto de relación

Las relaciones son un tema complejo pero veamos un sencillo ejemplo con las tablas Alumnos y Cursos para entenderlo mucho mejor. Inicialmente nuestras tablas estarían definidas del siguiente modo:

En la tabla Alumnos tenemos toda la información que necesitamos sobre nuestros alumnos como:

  • Su número de expediente.
  • Su nombre y apellidos.
  • Su fecha de nacimiento.
  • El grupo al que pertenece el alumno.
  • La ubicación del grupo, es decir, el aula donde están los alumnos de ese grupo (Primera planta, edificio anexo, etcétera).
  • Cualquier tipo de comentario de interés: grupo de compensatoria, apoyo, etcétera.

Para la tabla Grupos nos podíamos conformar con la denominación del grupo (1A, 1B, 3A...) pero le hemos añadido algunos datos que nos pueden resultar de interés:

  • Número total de alumnos que tiene el grupo.
  • El lugar donde se encuentra ubicado: Aula de música, Aula 205 Edificio principal, etcétera.
  • Cualquier otro dato de interés: Compensatoria, grupo de apoyo, etcétera.

Si saber nada de bases de datos y de relaciones podemos, darnos cuenta que al comprobar los datos incluidos en las tablas de Alumnos y Grupos existe información que se repite en ambas:

Esta situación no es demasiado favorable cuando trabajamos con bases de datos donde habitualmente la cantidad de información que se maneja es importante. La solución pasa por RELACIONAR las tablas con información coincidente de modo que no exista duplicidad de información. Todo esto, traducido a un lenguaje más natural sería: "Para qué escribir dos veces lo mismo, si puedo hacerlo una sola y trabajar del mismo modo".

Volviendo a nuestro ejemplo, si relacionamos las tablas Alumnos y Grupos mediante el nombre del grupo sería suficiente con indicar en la tabla Alumnos este valor para obtener el número de alumnos del grupo, su ubicación y las posibles observaciones:

 

2. Fundamento de las bases de datos: Modelo entidad-relación

Fundamento de las bases de datos: Modelo entidad-relación

Las bases de datos son un gran pilar de la programación actual, ya que nos permiten almacenar y usar de forma rápida y eficiente cantidades ingentes de datos con cierta facilidad. En la actualidad se usa de forma mayoritaria las bases de datos relacionales(dominadas por distintos gestores a través del lenguaje SQL, en gran medida).

Pero ahora vamos a dar un pequeño repaso a lo más esencial del modelo entidad-relación, que es y ha sido durante años la mejor forma de representar la estructura de estas bases de datos relacionales (o de representar sus esquemas).

 

¿Qué es el modelo entidad-relación?

Como ya he comentado este modelo es solo y exclusivamente un método del que disponemos para diseñar estos esquemas que posteriormente debemos de implementar en un gestor de BBDD (bases de datos). Este modelo se representa a través de diagramas y está formado por varios elementos.

Este modelo habitualmente, además de disponer de un diagrama que ayuda a entender los datos y como se relacionan entre ellos, debe de ser completado con un pequeño resumen con la lista de los atributos y las relaciones de cada elemento.

Elementos del modelo entidad-relación

Entidad

Las entidades representan cosas u objetos (ya sean reales o abstractos), que se diferencian claramente entre sí.

Para poder seguir un ejemplo durante el artículo añadiré ejemplos sobre un taller mecánico, donde se podría crear las siguientes entidades:

  • Coches (objeto físico): contiene la información de cada taller.
  • Empleado (objeto físico): información de los trabajadores.
  • Cargo del empleado (cosa abstracta): información de la función del empleado.

Estas entidades se representan en un diagrama con un rectángulos, como los siguientes.

Entidades

Atributos

Los atributos definen o identifican las características de entidad (es el contenido de esta entidad). Cada entidad contiene distintos atributos, que dan información sobre esta entidad. Estos atributos pueden ser de distintos tipos (numéricos, texto, fecha...).

Siguiendo el ejemplo de antes podemos analizar los atributos de nuestra entidad "Coches", que nos darán información sobre los coches de nuestro supuesto taller.

Unos posibles atributos serían los siguientes: número de chasismatrículaDNI del propietariomarcamodelo y muchos otros que complementen la información de cada coche.

Los atributos se representan como círculos que descienden de una entidad, y no es necesario representarlos todos, sino los más significativos, como a continuación.

Atributos

En un modelo relacional (ya implementado en una base de datos) una ejemplo de tabla dentro de una BBDD podría ser el siguiente.

Número de chasis Matrícula DNI del propietario
5tfem5f10ax007210 4817 BFK 45338600L
6hsen2j98as001982 8810 CLM 02405068K
5rgsb7a19js001982 0019 GGL 40588860J

Este ejemplo es con tres atributos, pero un coche podría tener cientos (si fuese necesario) y seguirían la misma estructura de columnas, tras implementarlo en unaBBDD.

Relación

Es un 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.

Por ejemplo, los empleados del taller (de la entidad "Empleados") tienen un cargo (según la entidad "Cargo del empleado"). Es decir, un atributo de la entidad "Empleados" especificará que cargo tiene en el taller, y tiene que ser idéntico al que ya existe en la entidad "Cargo del empleado".

Las relaciones se muestran en los diagramas como rombos, que se unen a las entidades mediante líneas.

Relación

Yo, bajo mi punto de vista, entiendo mejor esto en una tabla (de una implementación en una BBDD), por lo que voy a poner el ejemplo de como se representaría (resaltada la relación, que posteriormente veremos como se haría).

Empleados

Nombre DNI Cargo
Carlos Sánchez 45338600L 001
Pepe Sánchez 02405068K 002
Juan Sánchez 40588860J 002

Cargo del empleado

ID del cargo Descripción
001 Jefe de taller
002 Mecánico

 

Relaciones de cardinalidad

Podemos encontrar distintos tipos de relaciones según como participen en ellas las entidades. Es decir, en el caso anterior cada empleado puede tener un cargo, pero un mismo cargo lo pueden compartir varios empleados.

Esto complementa a las representaciones de las relaciones, mediante un intervalo en cada extremo de la relación que especifica cuantos objetos o cosas (de cada entidad) pueden intervenir en esa relación.

Uno a uno: Una entidad se relaciona únicamente con otra y viceversa. Por ejemplo, si tuviésemos una entidad con distintos chasis y otra con matrículas deberíamos de determinar que cada chasis solo puede tener una matrícula (y cada matrícula un chasis, ni más en ningún caso).

Relación uno a uno

Uno a varios o varios a uno: determina que un registro de una entidad puede estar relacionado con varios de otra entidad, pero en esta entidad existir solo una vez. Como ha sido en el caso anterior del trabajador del taller.

Relación uno a varios

Varios a varios: determina que una entidad puede relacionarse con otra con ninguno o varios registros y viceversa. Por ejemplo, en el taller un coche puede ser reparado por varios mecánicos distintos y esos mecánicos pueden reparar varios coches distintos.

Relación varios a varios

Los indicadores numéricos indican el primero el número mínimo de registros en una relación y posteriormente el máximo (si no hay límite se representa con una "n").

Claves

Es el atributo de una entidad, al que le aplicamos una restricción que lo distingue de los demás registros (no permitiendo que el atributo específico se repita en la entidad) o le aplica un vínculo (exactamente como comentábamos en las relaciones). Estos son los distintos tipos:

Superclave: aplica una clave o restricción a varios atributos de la entidad, para así asegurarse que en su conjunto no se repitan varias veces y así no poder entrar en dudas al querer identificar un registro.

Clave primaria: identifica inequívocamente un solo atributo no permitiendo que se repita en la misma entidad. Como sería la matrícula o el número de chasis de un coche (no puede existir dos veces el mismo).

Clave externa o clave foránea: este campo tiene que estar estrictamente relacionado con la clave primaria de otra entidad, para así exigir que exista previamente ese clave. Anteriormente hemos hablado de ello cuando comentábamos que un empleado indispensablemente tiene que tener un cargo (que lo hemos representado numéricamente), por lo cual si intentásemos darle un cargo inexistente el gestor de bases de datos nos devolvería un error.

Resumen

Esto ha sido solo un repaso por encima de lo que es el modelo entidad-relación, sin entrar en grandes detalles.

 

También, bajo mi punto de vista, creo que es una buena forma de diseñar correctamente las bases de datos, aunque algunas veces resulta más rápido implementarlo directamente en nuestro gestor de BBDD sin la necesidad de crear un gran diagrama, sino usando notas más simples.

 

2.1.  Qué es un diagrama entidad-relación

Índice

¿Qué es un modelo entidad relación?
Historia de los modelos entidad relación
Usos de los diagramas entidad-relación
Los componentes y las características de un diagrama ER
Creación de mapas de lenguaje natural
Símbolos y notaciones de diagramas ER
Modelos de datos físicos, lógicos y conceptuales
Limitaciones de los modelos y diagramas ER
Cómo dibujar un diagrama ER básico
Más consejos sobre diagramas ER
Aprende lo básico de los diagramas ER y los modelos ER, además de sus orígenes, usos, ejemplos, componentes, limitaciones y pautas sobre cómo dibujarlos usando nuestra herramienta de diagramas ER.


¿Quieres crear un diagrama? Prueba Lucidchart, es fácil rápido y completamente gratis.
Crea un Diagrama
¿Qué es un modelo entidad relación?

Un diagrama entidad-relación, también conocido como modelo entidad relación o ERD, es un tipo de diagrama de flujo que ilustra cómo las "entidades", como personas, objetos o conceptos, se relacionan entre sí dentro de un sistema. Los diagramas ER se usan a menudo para diseñar o depurar bases de datos relacionales en los campos de ingeniería de software, sistemas de información empresarial, educación e investigación. También conocidos como los ERD o modelos ER, emplean un conjunto definido de símbolos, tales como rectángulos, diamantes, óvalos y líneas de conexión para representar la interconexión de entidades, relaciones y sus atributos. Son un reflejo de la estructura gramatical y emplean entidades como sustantivos y relaciones como verbos.

Ejemplo de ERD

Los diagramas de ER se relacionan con los diagramas de estructura de datos (DSD), que se centran en las relaciones de los elementos dentro de las entidades, en lugar de las relaciones entre las entidades mismas. Los diagramas ER a menudo se combinan con los diagramas de flujo de datos (DFD), que trazan el flujo de la información para procesos o sistemas.

Historia de los modelos entidad relación

Peter Chen (también conocido como Peter Pin-Shan Chen) actualmente se desempeña como miembro de la facultad de la Universidad Carnegie Mellon ubicada en Pittsburgh y se le atribuye el desarrollo del modelo ER para el diseño de bases de datos en los 70. Mientras trabajaba como profesor adjunto en la Escuela de Administración y Dirección de Empresas Sloan del MIT, publicó un documento influyente en 1976 llamado "Modelo entidad-relación: hacia una visión unificada de los datos".

En un sentido más amplio, la representación de la interconexión de las cosas se remonta hasta, al menos, la Antigua Grecia, con los trabajos de Aristóteles, Sócrates y Platón. Se ha visto más recientemente en las obras del siglo XX y XIX de filósofos y lógicos, como Charles Sanders Peirce y Gottlob Frege.

 

En la década del 60 y 70, Charles Bachman (arriba) y A.P.G. Brown trabajaron con los primeros antecesores del enfoque de Chen. Bachman desarrolló un tipo de diagrama de estructura de datos que lleva su nombre: "el diagrama de Bachman". Brown publicó escritos sobre el modelado de los sistemas del mundo real. James Martin agregó mejoras al ERD. El trabajo de Chen, Bachman, Brown, Martin y otros también contribuyó al desarrollo del lenguaje unificado de modelado (UML), ampliamente utilizado en el diseño de software.        

Usos de los diagramas entidad-relación

Diseño de bases de datos: los diagramas ER se usan para modelar y diseñar bases de datos relacionales, en términos de reglas de negocio y lógicas (en un modelo de datos lógicos) y en términos de la tecnología específica que se implementará (en un modelo de datos físicos). En ingeniería de software, un diagrama ER a menudo es un primer paso para determinar los requisitos de un proyecto de sistemas de información. También se usa más adelante para modelar una base de datos en particular o varias. Una base de datos relacional tiene una tabla relacional equivalente y puede expresarse así potencialmente, según sea necesario.
Solución de problemas de bases de datos: los diagramas ER se usan para analizar las bases de datos existentes con el fin de hallar y resolver problemas de lógica o implementación. Al dibujar un diagrama se debería descubrir dónde está el problema.
Sistemas de información empresarial: los diagramas se usan para diseñar o analizar las bases de datos relacionales empleadas en procesos de negocio. Cualquier proceso de negocio que utilice datos de campo relacionados con entidades, acciones e interacción puede beneficiarse potencialmente de una base de datos relacional. Puede simplificar procesos, revelar información de forma más sencilla y mejorar los resultados.
Reingeniería de procesos de negocio (BPR): Los diagramas ER ayudan a analizar las bases de datos empleadas en la reingeniería de procesos de negocio y en el modelado de la configuración de una nueva base de datos.
Educación: las bases de datos son el método actual de almacenamiento de información relacional para propósitos educativos y la posterior recuperación. Así, los diagramas ER pueden ser útiles para la planificación de esas estructuras de datos.
Investigación: como hay muchas investigaciones centradas en los datos estructurados, los diagramas ER pueden desempeñar un papel fundamental en la configuración de bases de datos útiles para analizar los datos.
Los componentes y las características de un diagrama ER

Los diagramas ER se componen de entidades, relaciones y atributos. También representan la cardinalidad, que define las relaciones en términos de números. Puedes ver un glosario a continuación:

Entidad
Algo que se puede definir, como una persona, objeto, concepto u evento, que puede tener datos almacenados acerca de este. Piensa en las entidades como si fueran sustantivos. Por ejemplo: un cliente, estudiante, auto o producto. Por lo general se muestran como un rectángulo.

 

Tipo de entidad: un grupo de cosas que se pueden definir, como estudiantes o atletas, mientras que la entidad sería el estudiante o atleta específico. Otros ejemplos son clientes, autos o productos.

Conjunto de entidades: es igual que un tipo de entidad, pero se define en un momento determinado, como por ejemplo estudiantes que se inscribieron en una clase el primer día. Otros ejemplos son clientes que realizaron una compra en el último mes o autos registrados actualmente en Florida. Un término relacionado es una instancia, en la que una persona determinada o un auto específico podría ser una instancia del conjunto de entidades.

Categorías de entidades: las entidades se clasifican en fuertes, débiles o asociativas. Una entidad fuerte se puede definir únicamente por sus propios atributos, en cambio, una entidad débil no. Una entidad asociativa es aquella que relaciona entidades (o elementos) dentro de un conjunto de entidades.


Claves de entidad: se refiere a un atributo que únicamente define una entidad en un conjunto de entidades. Las claves de entidad se dividen en superclave, clave candidata o clave primaria. Superclave: un conjunto de atributos (uno o más) que juntos definen una entidad en un conjunto de entidades. Clave candidata: es una superclave mínima, es decir, contiene el menor número posible de atributos para seguir siendo una superclave. Un conjunto de entidades puede tener más de una clave candidata. Clave primaria: es una clave candidata seleccionada por el diseñador de la base de datos para identificar únicamente al conjunto de entidades. Clave extranjera: identifica la relación entre las entidades.

Relación
Cómo las entidades interactúan o se asocian entre sí. Piensa en las relaciones como si fueran verbos. Por ejemplo, el estudiante mencionado podría inscribirse en un curso. Las dos entidades serían el estudiante y el curso, y la relación representada es el acto de inscribirse, que conecta ambas entidades de ese modo. Las relaciones se muestran, por lo general, como diamantes o etiquetas directamente en las líneas de conexión.


Relación recursiva: la misma entidad participa más de una vez en la relación.

Atributo
Una propiedad o característica de una entidad. A menudo se muestra como un óvalo o círculo.

 
Atributo descriptivo: una propiedad o característica de una relación (frente a una entidad).

Categorías de los atributos: los atributos se clasifican en simples, compuestos y derivados, así como de valor único o de valores múltiples. Simples: significa que el valor del atributo es mínimo y ya no puede dividirse, como un número de teléfono. Compuestos: los subatributos surgen de un atributo. Derivados: los atributos se calculan o derivan de otro atributo, por ejemplo, la edad se calcula a partir de la fecha de nacimiento.

 

Valores múltiples: se denota más de un valor del atributo, como varios números de teléfono para una persona.

 

Valor único: contienen solo un valor de atributo. Los tipos se pueden combinar, por ejemplo, puede haber atributos de valor único simples o atributos de múltiples valores compuestos.

Cardinalidad
Define los atributos numéricos de la relación entre dos entidades o conjuntos de entidades. Las tres relaciones cardinales principales son uno a uno, uno a muchos y muchos a muchos. Un ejemplo de uno a uno sería un estudiante asociado a una dirección de correo electrónico. Un ejemplo de uno a muchos (o muchos a uno, en función de la dirección de la relación) sería un estudiante que se inscribe en muchos cursos, y todos esos cursos se asocian a ese estudiante en particular. Un ejemplo de muchos a muchos sería los estudiantes en grupo están asociados a múltiples miembros de la facultad y a su vez los miembros de la facultad están asociados a múltiples estudiantes.




Vistas de cardinalidad: la cardinalidad puede estar del lado opuesto o del mismo, en función de dónde se muestran los símbolos.

Restricciones de cardinalidad: Los números máximos o mínimos que se aplican a una relación.

Creación de mapas de lenguaje natural

Los componentes ER pueden reflejar las categorías gramaticales, eso fue lo que hizo Peter Chen. Esto muestra cómo un diagrama ER se compara con un diagrama gramatical:

Sustantivo común: tipo de entidad. Ejemplo: estudiante.
Sustantivo propio: entidad. Ejemplo: Sally Smith.
Verbo: tipo de relación. Ejemplo: se inscribe (por ej. en un curso, que podría ser otro tipo de entidad).
Adjetivo: atributo de una entidad. Ejemplo: principiante.
Adverbio: atributo de una relación. Ejemplo: digitalmente.
ERROL es un lenguaje de consulta de base de datos que imita las construcciones del lenguaje natural. ERROL se basa en álgebra relacional extendida (RRA) y funciona con modelos ER, capturando sus aspectos lingüísticos.

Crear diagramas en línea es fácil y rápido con Lucidchart. Empieza una prueba gratis hoy para crear y colaborar.


Ingresa tu correo electrónico
Regístrate gratis
Al registrarte, aceptas nuestros términos y condiciones.
Símbolos y notaciones de diagramas ER

Hay numerosos sistemas de notación que son similares, pero que se diferencian en algunos aspectos específicos.

Estilo de la notación de Chen
 
 
 
 

 


Estilo de la ingeniería de la información, notación de Martin y notación patas de gallo



Estilo de la notación de Bachman


Estilo de la notación de IDEF1X
 


Estilo de la notación de Barker



 
Ejemplos
A continuación encontrarás ejemplos de diagramas ER en cada sistema.

 

 

 

Modelos de datos físicos, lógicos y conceptuales

Los modelos de datos y los modelos ER se dibujan típicamente con hasta tres niveles de detalle:

Modelo de datos conceptuales: la visualización de nivel más alto que contiene la menor cantidad de detalle. Su valor muestra el alcance global del modelo y representa la arquitectura del sistema. Para un sistema de menor alcance, quizás no sea necesario dibujarlo. En cambio, se comienza con el modelo lógico.
Modelo de datos lógicos: contiene más detalle que un modelo conceptual. Ahora se definen las entidades transaccionales y operativas más detalladas. El modelo lógico es independiente de la tecnología en la que se implementará.
Modelo de datos físicos: uno o más modelos físicos pueden desarrollarse a partir de cada modelo lógico. El modelo físico debe mostrar los suficientes detalles tecnológicos para producir e implementar la base de datos en cuestión.
Ten en cuenta que existen niveles de alcance y de detalle similares en otros tipos de diagramas, como los diagramas de flujo de datos, pero esto se contrasta con el enfoque de tres esquemas de la ingeniería de software, que divide la información de forma diferente. En algunas ocasiones, los ingenieros ramificarán los diagramas ER con jerarquías adicionales con el fin de agregar los niveles de información necesarios para el diseño de la base de datos. Por ejemplo, pueden agregar categorías mediante la ampliación hacia arriba con superclases y hacia abajo con subclases.

Limitaciones de los modelos y diagramas ER

Exclusivo para datos relacionales: comprende que el propósito es solo mostrar las relaciones. Los diagramas ER muestran únicamente la estructura relacional.
Inadecuado para datos no estructurados: a menos que los datos se delineen claramente en campos, filas o columnas diferentes, es probable que los diagramas ER tengan un uso limitado. Lo mismo sucede con los datos semiestructurados, porque solo algunos datos serán útiles.
Complicaciones al realizar una integración con una base de datos existente: usar modelos ER para realizar una integración con bases de datos existentes puede ser un desafío debido a las diferentes arquitecturas.
Cómo dibujar un diagrama ER básico

Propósito y alcance: definen el propósito y el alcance de lo que estás analizando o modelando.

Entidades: identifican las entidades involucradas. Cuando estés listo, comienza a dibujarlas en rectángulos (o en la figura que selecciones en tu sistema) y etiquétalas como sustantivos.

Relaciones: determinan cómo se relacionan todas las entidades. Dibuja líneas entre ellas para indicar las relaciones y etiquétalas. Algunas entidades pueden no estar relacionadas, y eso está bien. En diferentes sistemas de notación, la relación se puede etiquetar en un diamante, otro rectángulo o directamente sobre la línea de conexión.

Atributos: brindan más detalles mediante la adición de atributos clave de las entidades. Los atributos a menudo se muestran como óvalos.

Cardinalidad: muestra si la relación es 1-1, 1-muchos o muchos a muchos.

 

Más consejos sobre diagramas ER

Muestra el nivel de detalle necesario para tu propósito. Tal vez desees dibujar un modelo físico, lógico o conceptual, en función de los detalles necesarios. (Consulta más arriba las descripciones de esos niveles).

Presta atención a las relaciones o entidades redundantes.

Si estás solucionando un problema de una base de datos, presta atención a los vacíos en las relaciones o los atributos o entidades que faltan.

Asegúrate de que todas tus entidades y relaciones estén etiquetadas.

Puedes convertir tablas relacionales a diagramas ER, y viceversa, si eso te ayuda a alcanzar tu objetivo.

Asegúrate de que el diagrama ER admita todos los datos que necesitas guardar.

Puede haber diferentes enfoques válidos para un diagrama ER. Mientras brinde la información necesaria para su alcance y propósito, es apropiado.

 

3. 

Fundamento de las bases de datos: Modelo entidad-relación

 

Fundamento de las bases de datos: Modelo entidad-relación

Las bases de datos son un gran pilar de la programación actual, ya que nos permiten almacenar y usar de forma rápida y eficiente cantidades ingentes de datos con cierta facilidad. En la actualidad se usa de forma mayoritaria lasbases de datos relacionales (dominadas por distintos gestores a través del lenguaje SQL, en gran medida).

Pero ahora vamos a dar un pequeño repaso a lo más esencial del modelo entidad-relación, que es y ha sido durante años la mejor forma de representar la estructura de estas bases de datos relacionales (o de representar sus esquemas).

 

¿Qué es el modelo entidad-relación?

Como ya he comentado este modelo es solo y exclusivamente un método del que disponemos para diseñar estos esquemas que posteriormente debemos de implementar en un gestor de BBDD (bases de datos). Este modelo se representa a través de diagramas y está formado por varios elementos.

Este modelo habitualmente, además de disponer de un diagrama que ayuda a entender los datos y como se relacionan entre ellos, debe de ser completado con un pequeño resumen con la lista de los atributos y las relaciones de cada elemento.

Elementos del modelo entidad-relación

Entidad

Las entidades representan cosas u objetos (ya sean reales o abstractos), que se diferencian claramente entre sí.

Para poder seguir un ejemplo durante el artículo añadiré ejemplos sobre un taller mecánico, donde se podría crear las siguientes entidades:

  • Coches (objeto físico): contiene la información de cada taller.
  • Empleado (objeto físico): información de los trabajadores.
  • Cargo del empleado (cosa abstracta): información de la función del empleado.

Estas entidades se representan en un diagrama con un rectángulos, como los siguientes.

Entidades

Atributos

Los atributos definen o identifican las características de entidad (es el contenido de esta entidad). Cada entidad contiene distintos atributos, que dan información sobre esta entidad. Estos atributos pueden ser de distintos tipos (numéricos, texto, fecha...).

Siguiendo el ejemplo de antes podemos analizar los atributos de nuestra entidad "Coches", que nos darán información sobre los coches de nuestro supuesto taller.

Unos posibles atributos serían los siguientes: número de chasismatrículaDNI del propietariomarcamodelo y muchos otros que complementen la información de cada coche.

Los atributos se representan como círculos que descienden de una entidad, y no es necesario representarlos todos, sino los más significativos, como a continuación.

Atributos

En un modelo relacional (ya implementado en una base de datos) una ejemplo de tabla dentro de una BBDD podría ser el siguiente.

 

Número de chasi
Número de chasis Matrícula DNI del propietario
5tfem5f10ax007210 4817 BFK 45338600L
6hsen2j98as001982 8810 CLM 02405068K
5rgsb7a19js001982 0019 GGL 40588860J
Matrícula DNI del propietario
5tfem5f10ax007210 4817 BFK 45338600L
6hsen2j98as001982 8810 CLM 02405068K
5rgsb7a19js001982 0019 GGL 40588860J

Este ejemplo es con tres atributos, pero un coche podría tener cientos (si fuese necesario) y seguirían la misma estructura de columnas, tras implementarlo en unaBBDD.

Relación

Es un 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.

Por ejemplo, los empleados del taller (de la entidad "Empleados") tienen un cargo (según la entidad "Cargo del empleado"). Es decir, un atributo de la entidad "Empleados" especificará que cargo tiene en el taller, y tiene que ser idéntico al que ya existe en la entidad "Cargo del empleado".

Las relaciones se muestran en los diagramas como rombos, que se unen a las entidades mediante líneas.

Relación

Yo, bajo mi punto de vista, entiendo mejor esto en una tabla (de una implementación en una BBDD), por lo que voy a poner el ejemplo de como se representaría (resaltada la relación, que posteriormente veremos como se haría).

Empleados

Nombre DNI Cargo
Carlos Sánchez 45338600L 001
Pepe Sánchez 02405068K 002
Juan Sánchez 40588860J 002

Cargo del empleado

ID del cargo Descripción
001 Jefe de taller
002 Mecánico

 

Relaciones de cardinalidad

Podemos encontrar distintos tipos de relaciones según como participen en ellas las entidades. Es decir, en el caso anterior cada empleado puede tener un cargo, pero un mismo cargo lo pueden compartir varios empleados.

Esto complementa a las representaciones de las relaciones, mediante un intervalo en cada extremo de la relación que especifica cuantos objetos o cosas (de cada entidad) pueden intervenir en esa relación.

Uno a uno: Una entidad se relaciona únicamente con otra y viceversa. Por ejemplo, si tuviésemos una entidad con distintos chasis y otra con matrículas deberíamos de determinar que cada chasis solo puede tener una matrícula (y cada matrícula un chasis, ni más en ningún caso).

Relación uno a uno

Uno a varios o varios a uno: determina que un registro de una entidad puede estar relacionado con varios de otra entidad, pero en esta entidad existir solo una vez. Como ha sido en el caso anterior del trabajador del taller.

Relación uno a varios

Varios a varios: determina que una entidad puede relacionarse con otra con ninguno o varios registros y viceversa. Por ejemplo, en el taller un coche puede ser reparado por varios mecánicos distintos y esos mecánicos pueden reparar varios coches distintos.

Relación varios a varios

Los indicadores numéricos indican el primero el número mínimo de registros en una relación y posteriormente el máximo (si no hay límite se representa con una "n").

Claves

Es el atributo de una entidad, al que le aplicamos una restricción que lo distingue de los demás registros (no permitiendo que el atributo específico se repita en la entidad) o le aplica un vínculo (exactamente como comentábamos en las relaciones). Estos son los distintos tipos:

Superclave: aplica una clave o restricción a varios atributos de la entidad, para así asegurarse que en su conjunto no se repitan varias veces y así no poder entrar en dudas al querer identificar un registro.

Clave primaria: identifica inequívocamente un solo atributo no permitiendo que se repita en la misma entidad. Como sería la matrícula o el número de chasis de un coche (no puede existir dos veces el mismo).

Clave externa o clave foránea: este campo tiene que estar estrictamente relacionado con la clave primaria de otra entidad, para así exigir que exista previamente ese clave. Anteriormente hemos hablado de ello cuando comentábamos que un empleado indispensablemente tiene que tener un cargo (que lo hemos representado numéricamente), por lo cual si intentásemos darle un cargo inexistente el gestor de bases de datos nos devolvería un error.

Resumen

Esto ha sido solo un repaso por encima de lo que es el modelo entidad-relación, sin entrar en grandes detalles.

También, bajo mi punto de vista, creo que es una buena forma de diseñar correctamente las bases de datos, aunque algunas veces resulta más rápido implementarlo directamente en nuestro gestor de BBDD sin la necesidad de crear un gran diagrama, sino usando notas más simples.

 

 

___  

Qué es un diagrama entidad-relación

Aprende lo básico de los diagramas ER y los modelos ER, además de sus orígenes, usos, ejemplos, componentes, limitaciones y pautas sobre cómo dibujarlos usando nuestra herramienta de diagramas ER.

¿Qué es un modelo entidad relación?

Un diagrama entidad-relación, también conocido como modelo entidad relación o ERD, es un tipo de diagrama de flujo que ilustra cómo las "entidades", como personas, objetos o conceptos, se relacionan entre sí dentro de un sistema. Los diagramas ER se usan a menudo para diseñar o depurar bases de datos relacionales en los campos de ingeniería de software, sistemas de información empresarial, educación e investigación. También conocidos como los ERD o modelos ER, emplean un conjunto definido de símbolos, tales como rectángulos, diamantes, óvalos y líneas de conexión para representar la interconexión de entidades, relaciones y sus atributos. Son un reflejo de la estructura gramatical y emplean entidades como sustantivos y relaciones como verbos.

Ejemplo de ERD

Los diagramas de ER se relacionan con los diagramas de estructura de datos (DSD), que se centran en las relaciones de los elementos dentro de las entidades, en lugar de las relaciones entre las entidades mismas. Los diagramas ER a menudo se combinan con los diagramas de flujo de datos (DFD), que trazan el flujo de la información para procesos o sistemas.

Historia de los modelos entidad relación

Peter Chen (también conocido como Peter Pin-Shan Chen) actualmente se desempeña como miembro de la facultad de la Universidad Carnegie Mellon ubicada en Pittsburgh y se le atribuye el desarrollo del modelo ER para el diseño de bases de datos en los 70. Mientras trabajaba como profesor adjunto en la Escuela de Administración y Dirección de Empresas Sloan del MIT, publicó un documento influyente en 1976 llamado "Modelo entidad-relación: hacia una visión unificada de los datos".

En un sentido más amplio, la representación de la interconexión de las cosas se remonta hasta, al menos, la Antigua Grecia, con los trabajos de Aristóteles, Sócrates y Platón. Se ha visto más recientemente en las obras del siglo XX y XIX de filósofos y lógicos, como Charles Sanders Peirce y Gottlob Frege.

En la década del 60 y 70, Charles Bachman (arriba) y A.P.G. Brown trabajaron con los primeros antecesores del enfoque de Chen. Bachman desarrolló un tipo de diagrama de estructura de datos que lleva su nombre: "el diagrama de Bachman". Brown publicó escritos sobre el modelado de los sistemas del mundo real. James Martin agregó mejoras al ERD. El trabajo de Chen, Bachman, Brown, Martin y otros también contribuyó al desarrollo del lenguaje unificado de modelado (UML), ampliamente utilizado en el diseño de software.         

Usos de los diagramas entidad-relación

  • Diseño de bases de datos: los diagramas ER se usan para modelar y diseñar bases de datos relacionales, en términos de reglas de negocio y lógicas (en un modelo de datos lógicos) y en términos de la tecnología específica que se implementará (en un modelo de datos físicos). En ingeniería de software, un diagrama ER a menudo es un primer paso para determinar los requisitos de un proyecto de sistemas de información. También se usa más adelante para modelar una base de datos en particular o varias. Una base de datos relacional tiene una tabla relacional equivalente y puede expresarse así potencialmente, según sea necesario.
  • Solución de problemas de bases de datos: los diagramas ER se usan para analizar las bases de datos existentes con el fin de hallar y resolver problemas de lógica o implementación. Al dibujar un diagrama se debería descubrir dónde está el problema.
  • Sistemas de información empresarial: los diagramas se usan para diseñar o analizar las bases de datos relacionales empleadas en procesos de negocio. Cualquier proceso de negocio que utilice datos de campo relacionados con entidades, acciones e interacción puede beneficiarse potencialmente de una base de datos relacional. Puede simplificar procesos, revelar información de forma más sencilla y mejorar los resultados.
  • Reingeniería de procesos de negocio (BPR): Los diagramas ER ayudan a analizar las bases de datos empleadas en la reingeniería de procesos de negocio y en el modelado de la configuración de una nueva base de datos.
  • Educación: las bases de datos son el método actual de almacenamiento de información relacional para propósitos educativos y la posterior recuperación. Así, los diagramas ER pueden ser útiles para la planificación de esas estructuras de datos.
  • Investigación: como hay muchas investigaciones centradas en los datos estructurados, los diagramas ER pueden desempeñar un papel fundamental en la configuración de bases de datos útiles para analizar los datos.

Los componentes y las características de un diagrama ER

Los diagramas ER se componen de entidades, relaciones y atributos. También representan la cardinalidad, que define las relaciones en términos de números. Puedes ver un glosario a continuación:

Entidad

Algo que se puede definir, como una persona, objeto, concepto u evento, que puede tener datos almacenados acerca de este. Piensa en las entidades como si fueran sustantivos. Por ejemplo: un cliente, estudiante, auto o producto. Por lo general se muestran como un rectángulo.

Tipo de entidad: un grupo de cosas que se pueden definir, como estudiantes o atletas, mientras que la entidad sería el estudiante o atleta específico. Otros ejemplos son clientes, autos o productos.

Conjunto de entidades: es igual que un tipo de entidad, pero se define en un momento determinado, como por ejemplo estudiantes que se inscribieron en una clase el primer día. Otros ejemplos son clientes que realizaron una compra en el último mes o autos registrados actualmente en Florida. Un término relacionado es una instancia, en la que una persona determinada o un auto específico podría ser una instancia del conjunto de entidades.

Categorías de entidades: las entidades se clasifican en fuertes, débiles o asociativas. Una entidad fuerte se puede definir únicamente por sus propios atributos, en cambio, una entidad débil no. Una entidad asociativa es aquella que relaciona entidades (o elementos) dentro de un conjunto de entidades. 

Claves de entidad: se refiere a un atributo que únicamente define una entidad en un conjunto de entidades. Las claves de entidad se dividen en superclave, clave candidata o clave primaria. Superclave: un conjunto de atributos (uno o más) que juntos definen una entidad en un conjunto de entidades. Clave candidata: es una superclave mínima, es decir, contiene el menor número posible de atributos para seguir siendo una superclave. Un conjunto de entidades puede tener más de una clave candidata. Clave primaria: es una clave candidata seleccionada por el diseñador de la base de datos para identificar únicamente al conjunto de entidades. Clave extranjera:identifica la relación entre las entidades.

Relación

Cómo las entidades interactúan o se asocian entre sí. Piensa en las relaciones como si fueran verbos. Por ejemplo, el estudiante mencionado podría inscribirse en un curso. Las dos entidades serían el estudiante y el curso, y la relación representada es el acto de inscribirse, que conecta ambas entidades de ese modo. Las relaciones se muestran, por lo general, como diamantes o etiquetas directamente en las líneas de conexión.

Relación recursiva: la misma entidad participa más de una vez en la relación.

Atributo

Una propiedad o característica de una entidad. A menudo se muestra como un óvalo o círculo.

Atributo descriptivo: una propiedad o característica de una relación (frente a una entidad).

Categorías de los atributos: los atributos se clasifican en simples, compuestos y derivados, así como de valor único o de valores múltiples.Simples: significa que el valor del atributo es mínimo y ya no puede dividirse, como un número de teléfono. Compuestos: los subatributos surgen de un atributo.Derivados: los atributos se calculan o derivan de otro atributo, por ejemplo, la edad se calcula a partir de la fecha de nacimiento.

Valores múltiples: se denota más de un valor del atributo, como varios números de teléfono para una persona.

Valor único: contienen solo un valor de atributo. Los tipos se pueden combinar, por ejemplo, puede haber atributos de valor único simples o atributos de múltiples valores compuestos.

Cardinalidad

Define los atributos numéricos de la relación entre dos entidades o conjuntos de entidades. Las tres relaciones cardinales principales son uno a uno, uno a muchos y muchos a muchos. Un ejemplo de uno a unosería un estudiante asociado a una dirección de correo electrónico. Unejemplo de uno a muchos (o muchos a uno, en función de la dirección de la relación) sería un estudiante que se inscribe en muchos cursos, y todos esos cursos se asocian a ese estudiante en particular. Un ejemplo de muchos a muchos seríalos estudiantes en grupo están asociados a múltiples miembros de la facultad y a su vez los miembros de la facultad están asociados a múltiples estudiantes.

Vistas de cardinalidad: la cardinalidad puede estar del lado opuesto o del mismo, en función de dónde se muestran los símbolos.

Restricciones de cardinalidad: Los números máximos o mínimos que se aplican a una relación.

Creación de mapas de lenguaje natural

Los componentes ER pueden reflejar las categorías gramaticales, eso fue lo que hizo Peter Chen. Esto muestra cómo un diagrama ER se compara con un diagrama gramatical:

  • Sustantivo común: tipo de entidad. Ejemplo: estudiante.
  • Sustantivo propio: entidad. Ejemplo: Sally Smith.
  • Verbo: tipo de relación. Ejemplo: se inscribe (por ej. en un curso, que podría ser otro tipo de entidad).
  • Adjetivo: atributo de una entidad. Ejemplo: principiante.
  • Adverbio: atributo de una relación. Ejemplo: digitalmente.

ERROL es un lenguaje de consulta de base de datos que imita las construcciones del lenguaje natural. ERROL se basa en álgebra relacional extendida (RRA) y funciona con modelos ER, capturando sus aspectos lingüísticos.

 
 

Contacto

felipevasquez-iearm@webnode.es 007 felipevasquez.iearm@gmail.com