stringtranslate.com

Modelo entidad-relación

Un diagrama entidad-atributo-relación para un MMORPG usando la notación de Chen

Un modelo entidad-relación (o modelo ER ) describe cosas de interés interrelacionadas en un dominio de conocimiento específico. Un modelo ER básico se compone de tipos de entidades (que clasifican las cosas de interés) y especifica las relaciones que pueden existir entre entidades (instancias de esos tipos de entidades).

En ingeniería de software , un modelo ER comúnmente se forma para representar cosas que una empresa necesita recordar para realizar procesos de negocio . En consecuencia, el modelo ER se convierte en un modelo de datos abstracto , [1] que define una estructura de datos o información que se puede implementar en una base de datos , típicamente una base de datos relacional .

El modelado entidad-relación fue desarrollado para bases de datos y diseño por Peter Chen y publicado en un artículo de 1976, [2] con variantes de la idea que existían anteriormente, [3] pero hoy en día se usa comúnmente para enseñar a los estudiantes los conceptos básicos de la estructura de bases de datos. Algunos modelos ER muestran entidades de super y subtipo conectadas por relaciones de generalización-especialización, [4] y un modelo ER también se puede utilizar en la especificación de ontologías de dominio específico .

Introducción

Un modelo ER suele ser el resultado de un análisis sistemático para definir y describir qué datos crean y necesitan los procesos en un área de una empresa. Normalmente, representa registros de entidades y eventos monitoreados y dirigidos por procesos de negocio, en lugar de los procesos en sí. Generalmente se dibuja en forma gráfica como cuadros ( entidades ) que están conectados por líneas ( relaciones ) que expresan las asociaciones y dependencias entre entidades. También se puede expresar en forma verbal, por ejemplo: un edificio puede dividirse en cero o más apartamentos, pero un apartamento sólo puede estar ubicado en un edificio.

Las entidades pueden ser [ se necesita aclaración ] no solo por relaciones, sino también por propiedades adicionales ( atributos ), que incluyen identificadores llamados "claves primarias". Los diagramas creados para representar atributos, así como entidades y relaciones, pueden denominarse diagramas entidad-atributo-relación, en lugar de modelos entidad-relación.

Un modelo ER normalmente se implementa como una base de datos . En una implementación de base de datos relacional simple, cada fila de una tabla representa una instancia de un tipo de entidad y cada campo de una tabla representa un tipo de atributo. En una base de datos relacional, una relación entre entidades se implementa almacenando la clave principal de una entidad como un puntero o "clave externa" en la tabla de otra entidad.

Existe la tradición de que los modelos de ER/datos se construyan en dos o tres niveles de abstracción. La siguiente jerarquía conceptual-lógica-física se utiliza en otros tipos de especificaciones y es diferente del enfoque de tres esquemas para la ingeniería de software .

Modelo de datos conceptuales
Este es el modelo ER de más alto nivel porque contiene el menor detalle granular pero establece el alcance general de lo que se incluirá dentro del conjunto de modelos. El modelo ER conceptual normalmente define entidades de datos maestros de referencia que la organización utiliza comúnmente. Desarrollar un modelo ER conceptual para toda la empresa es útil para respaldar la documentación de la arquitectura de datos de una organización.
Se puede utilizar un modelo ER conceptual como base para uno o más modelos de datos lógicos (ver más abajo). El propósito del modelo ER conceptual es entonces establecer metadatos estructurales comunes para las entidades de datos maestros entre el conjunto de modelos ER lógicos. El modelo de datos conceptual se puede utilizar para formar relaciones comunes entre modelos ER como base para la integración del modelo de datos.
Modelo de datos lógicos
Un modelo ER lógico no requiere un modelo ER conceptual, especialmente si el alcance del modelo ER lógico incluye sólo el desarrollo de un sistema de información distinto. El modelo ER lógico contiene más detalles que el modelo ER conceptual. Además de las entidades de datos maestros, ahora se definen entidades de datos operativos y transaccionales. Se desarrollan los detalles de cada entidad de datos y se establecen las relaciones entre estas entidades de datos. Sin embargo, el modelo ER lógico se desarrolla independientemente del sistema de gestión de bases de datos específico en el que se puede implementar.
Modelo de datos físicos
Se pueden desarrollar uno o más modelos de ER físicos a partir de cada modelo de ER lógico. El modelo físico de ER normalmente se desarrolla para ser instanciado como una base de datos. Por lo tanto, cada modelo físico de ER debe contener suficientes detalles para producir una base de datos y cada modelo físico de ER depende de la tecnología, ya que cada sistema de gestión de bases de datos es algo diferente.
El modelo físico normalmente se instancia en los metadatos estructurales de un sistema de gestión de bases de datos como objetos de bases de datos relacionales, como tablas de bases de datos , índices de bases de datos , como índices de clave única , y restricciones de bases de datos, como una restricción de clave externa o una restricción de elementos comunes. El modelo ER también se utiliza normalmente para diseñar modificaciones a los objetos de la base de datos relacional y para mantener los metadatos estructurales de la base de datos.

La primera etapa del diseño de sistemas de información utiliza estos modelos durante el análisis de requisitos para describir las necesidades de información o el tipo de información que se almacenará en una base de datos . La técnica de modelado de datos se puede utilizar para describir cualquier ontología (es decir, una descripción general y clasificaciones de los términos utilizados y sus relaciones) para un área de interés determinada . En el caso del diseño de un sistema de información que se basa en una base de datos, el modelo de datos conceptual se asigna, en una etapa posterior (generalmente llamado diseño lógico), a un modelo de datos lógico , como el modelo relacional ; esto a su vez se asigna a un modelo físico durante el diseño físico. A veces, ambas fases se denominan "diseño físico".

Componentes

Dos entidades relacionadas
Una entidad con un atributo.
Una relación con un atributo.
Clave primaria

Una entidad puede definirse como algo capaz de tener una existencia independiente, que puede identificarse de forma única y que es capaz de almacenar datos. [5] Una entidad es una abstracción de las complejidades de un dominio. Cuando hablamos de una entidad, normalmente hablamos de algún aspecto del mundo real que puede distinguirse de otros aspectos del mundo real. [6]

Una entidad es algo que existe física o lógicamente. Una entidad puede ser un objeto físico como una casa o un automóvil (existen físicamente), un evento como la venta de una casa o el servicio de un automóvil, o un concepto como una transacción o un pedido de un cliente (existen lógicamente, como un concepto). ). Aunque el término entidad es el más utilizado, siguiendo a Chen deberíamos distinguir entre una entidad y un tipo de entidad. Un tipo de entidad es una categoría. Una entidad, estrictamente hablando, es una instancia de un tipo de entidad determinado. Generalmente hay muchas instancias de un tipo de entidad. Debido a que el término tipo de entidad es algo engorroso, la mayoría de la gente tiende a utilizar el término entidad como sinónimo de este término.

Las entidades pueden considerarse como sustantivos . [7] Ejemplos: una computadora, un empleado, una canción, un teorema matemático, etc.

Una relación captura cómo las entidades se relacionan entre sí. Las relaciones pueden considerarse como verbos , que unen dos o más sustantivos. [7] Ejemplos: una relación de propiedad entre una empresa y una computadora, una relación de supervisión entre un empleado y un departamento, una relación de interpretación entre un artista y una canción, una relación de prueba entre un matemático y una conjetura, etc.

El aspecto lingüístico del modelo descrito anteriormente se utiliza en el lenguaje de consulta de base de datos declarativa ERROL, que imita construcciones de lenguaje natural . La semántica y la implementación de ERROL se basan en el álgebra relacional reformada (RRA), un álgebra relacional que se adapta al modelo entidad-relación y captura su aspecto lingüístico.

Tanto las entidades como las relaciones pueden tener atributos. Ejemplos: una entidad de empleado puede tener un atributo de Número de Seguro Social (SSN), mientras que una relación comprobada puede tener un atributo de fecha .

Todas las entidades, excepto las entidades débiles, deben tener un conjunto mínimo de atributos de identificación única que puedan usarse como clave única / principal .

Los diagramas entidad-relación (ERD) no muestran entidades únicas ni instancias únicas de relaciones. Más bien, muestran conjuntos de entidades (todas las entidades del mismo tipo de entidad) y conjuntos de relaciones (todas las relaciones del mismo tipo de relación). Ejemplos: una canción en particular es una entidad; la colección de todas las canciones de una base de datos es un conjunto de entidades; la relación comida entre un niño y su almuerzo es una relación única; el conjunto de todas esas relaciones niño-almuerzo en una base de datos es un conjunto de relaciones. En otras palabras, un conjunto de relaciones corresponde a una relación en matemáticas , mientras que una relación corresponde a un miembro de la relación.

También se pueden indicar ciertas restricciones de cardinalidad en conjuntos de relaciones.

La vista física muestra cómo se almacenan realmente los datos.

Relaciones, roles y cardinalidades

En el artículo original de Chen, da un ejemplo de una relación y sus funciones. Describe una relación de "matrimonio" y sus dos roles "marido" y "esposa".

Una persona desempeña el papel de marido en un matrimonio (relación) y otra persona desempeña el papel de esposa en el (mismo) matrimonio. Estas palabras son sustantivos. Esto no es ninguna sorpresa; nombrar cosas requiere un sustantivo.

La terminología de Chen también se ha aplicado a ideas anteriores. Las líneas, flechas y patas de gallo de algunos diagramas se deben más a los diagramas anteriores de Bachman que a los diagramas de relaciones de Chen.

Otra extensión común del modelo de Chen es "nombrar" relaciones y roles como verbos o frases.

Denominación de roles

También se ha vuelto frecuente nombrar roles con frases como es propietario de y es propiedad de . Los sustantivos correctos en este caso son propietario y posesión . Así, la persona desempeña el papel de propietario y el coche desempeña el papel de posesión, en lugar de que la persona desempeñe el papel de , es propietario de , etc.

El uso de sustantivos tiene un beneficio directo a la hora de generar implementaciones físicas a partir de modelos semánticos. Cuando una persona tiene dos relaciones con el automóvil , es posible generar nombres como propietario_persona y conductor_persona , que tienen significado inmediato. [9]

Cardinalidades

Las modificaciones a la especificación original pueden resultar beneficiosas. Chen describió las cardinalidades transversales. Además, la notación de Barker-Ellis , utilizada en Oracle Designer, utiliza el mismo lado para una cardinalidad mínima (análoga a la opcionalidad) y el rol, pero mira hacia afuera para una cardinalidad máxima (la pata de gallo). [ se necesita aclaración ]

La investigación realizada por Merise , Elmasri y Navathe y otros ha demostrado que existe una preferencia por roles del mismo lado y cardinalidades mínimas y máximas, [10] [11] [12] y los investigadores (Feinerer, Dullea et al.) han demostrado que esto es más coherente cuando se aplica a relaciones n-arias de orden mayor que 2. [13] [14]

En Dullea et al. uno dice "Una notación de 'mirada transversal' como la que se usa en UML no representa efectivamente la semántica de las restricciones de participación impuestas a las relaciones donde el grado es superior al binario".

En Feinerer dice: "Surgen problemas si operamos bajo la semántica de mirada cruzada como se usa para las asociaciones UML. Hartmann [15] investiga esta situación y muestra cómo y por qué fallan diferentes transformaciones". (Aunque la "reducción" mencionada es espuria ya que los dos diagramas 3.4 y 3.5 son en realidad iguales) y también "Como veremos en las próximas páginas, la interpretación transversal introduce varias dificultades que impiden la extensión de mecanismos simples de asociaciones binarias a n-arias."

Varios métodos para representar la misma relación entre muchos. En cada caso, el diagrama muestra la relación entre una persona y un lugar de nacimiento: cada persona debe haber nacido en una, y sólo una, ubicación, pero en cada ubicación puede haber nacido cero o más personas.
Se muestran dos entidades relacionadas utilizando la notación de pata de gallo. En este ejemplo, se muestra una relación opcional entre Artista y Canción; los símbolos más cercanos a la entidad de la canción representan "cero, uno o muchos", mientras que una canción tiene "uno y sólo un" Artista. Por lo tanto, lo primero se lee como que un Artista puede interpretar "cero, una o muchas" canciones.

La notación de Chen para el modelado entidad-relación utiliza rectángulos para representar conjuntos de entidades y diamantes para representar relaciones apropiadas para objetos de primera clase : pueden tener atributos y relaciones propios. Si un conjunto de entidades participa en un conjunto de relaciones, están conectados con una línea.

Los atributos se dibujan como óvalos y se conectan con una línea exactamente a una entidad o conjunto de relaciones.

Las restricciones de cardinalidad se expresan de la siguiente manera:

Los atributos a menudo se omiten porque pueden saturar un diagrama; Otras técnicas de diagramas suelen enumerar atributos de entidad dentro de los rectángulos dibujados para conjuntos de entidades.

Técnicas de convenciones de diagramación relacionadas

Notación de pata de gallo

La notación de pata de gallo, cuyo comienzo se remonta a un artículo de Gordon Everest (1976), [16] se utiliza en la notación de Barker , el Método de Diseño y Análisis de Sistemas Estructurados (SSADM) y la ingeniería de tecnologías de la información . Los diagramas de pata de gallo representan entidades como cuadros y relaciones como líneas entre los cuadros. Diferentes formas al final de estas líneas representan la cardinalidad relativa de la relación.

La notación de pata de gallo se utilizó en ICL en 1978, [17] y se utilizó en la práctica de consultoría CACI . Muchos de los consultores de CACI (incluido Richard Barker) vinieron de ICL y posteriormente se trasladaron a Oracle Reino Unido, donde desarrollaron las primeras versiones de las herramientas CASE de Oracle , introduciendo la notación a una audiencia más amplia.

Con esta notación, las relaciones no pueden tener atributos. Cuando sea necesario, se promueven relaciones con entidades por derecho propio: por ejemplo, si es necesario capturar dónde y cuándo un artista interpretó una canción, se introduce una nueva entidad "interpretación" (con atributos que reflejan el tiempo y el lugar), y la relación de un artista con una canción se convierte en una relación indirecta a través de la interpretación (artista-interpreta-interpretación, interpretación-presentación-canción).

Se utilizan tres símbolos para representar la cardinalidad:

Estos símbolos se utilizan en pares para representar los cuatro tipos de cardinalidad que puede tener una entidad en una relación. El componente interno de la notación representa el mínimo y el componente externo representa el máximo.

Problemas de usabilidad del modelo

Al utilizar una base de datos modelada, los usuarios pueden encontrar dos problemas bien conocidos en los que los resultados devueltos significan algo distinto a los resultados asumidos por el autor de la consulta.

La primera es la "trampa de los fans". Ocurre con una tabla (maestra) que vincula a varias tablas en una relación de uno a muchos. El problema deriva su nombre de la apariencia del modelo cuando se dibuja en un diagrama entidad-relación: las tablas vinculadas se abren en abanico desde la tabla maestra. Este tipo de modelo es similar a un esquema en estrella , un tipo de modelo utilizado en almacenes de datos . Al intentar calcular sumas sobre agregados utilizando SQL estándar sobre la tabla maestra, pueden producirse resultados inesperados (e incorrectos). La solución es ajustar el modelo o el SQL. Este problema ocurre principalmente en bases de datos para sistemas de soporte de decisiones y el software que consulta dichos sistemas a veces incluye métodos específicos para manejar este problema.

La segunda cuestión es una "trampa de abismo". Una trampa de abismo ocurre cuando un modelo sugiere la existencia de una relación entre tipos de entidades, pero el camino no existe entre ciertas ocurrencias de entidades. Por ejemplo, un edificio tiene una o más habitaciones que albergan cero o más computadoras. Se esperaría poder consultar el modelo para ver todas las computadoras del edificio. Sin embargo, las computadoras que actualmente no están asignadas a una sala (porque están en reparación o en otro lugar) no se muestran en la lista. Se necesita otra relación entre Edificio y Computadoras para capturar todas las computadoras en el edificio. Este último problema de modelado es el resultado de no capturar en el modelo todas las relaciones que existen en el mundo real. Consulte Modelado entidad-relación 2 para obtener más detalles.

En modelado semántico

Modelo semántico

Un modelo semántico es un modelo de conceptos, a veces se le llama "modelo independiente de plataforma". Es un modelo intencional. Al menos desde Carnap , es bien sabido que: [18]

"...el significado pleno de un concepto está constituido por dos aspectos, su intensión y su extensión. La primera parte comprende la incorporación de un concepto en el mundo de los conceptos como un todo, es decir, la totalidad de todas las relaciones con otros conceptos. La segunda parte establece el significado referencial del concepto, es decir su contraparte en el mundo real o en un mundo posible".

Modelo de extensión

Un modelo extensional es aquel que se asigna a los elementos de una metodología o tecnología particular y, por lo tanto, es un "modelo específico de plataforma". La especificación UML establece explícitamente que las asociaciones en los modelos de clases son extensionales y esto, de hecho, es evidente si se considera la amplia gama de "adornos" adicionales proporcionados por la especificación además de los proporcionados por cualquiera de los "lenguajes de modelado semántico" candidatos anteriores. "UML como notación de modelado de datos, parte 2"

Orígenes entidad-relación

Peter Chen, el padre del modelado de emergencias, dijo en su artículo fundamental:

" El modelo entidad-relación adopta la visión más natural de que el mundo real consta de entidades y relaciones. Incorpora parte de la información semántica importante sobre el mundo real " .

En su artículo original de 1976, Chen contrasta explícitamente los diagramas entidad-relación con las técnicas de modelado de registros:

" El diagrama de estructura de datos es una representación de la organización de registros y no es una representación exacta de entidades y relaciones. "

Varios otros autores también apoyan el programa de Chen: [19] [20] [21] [22] [23]

Alineación filosófica

Chen está de acuerdo con las tradiciones filosóficas de la época de los filósofos griegos antiguos: Platón y Aristóteles . [24] El propio Platón asocia el conocimiento con la aprehensión de Formas inmutables (es decir, arquetipos o representaciones abstractas de muchos tipos de cosas y propiedades) y sus relaciones entre sí.

Limitaciones

Ver también

Referencias

  1. ^ Bagui y Earp 2022, pag. 72, §4.2.1.
  2. ^ ab Chen, Peter (marzo de 1976). "El modelo entidad-relación: hacia una visión unificada de los datos". Transacciones ACM en sistemas de bases de datos . 1 (1): 9–36. CiteSeerX  10.1.1.523.6679 . doi :10.1145/320434.320440. S2CID  52801746.
  3. ^ APG Brown, "Modelado de un sistema del mundo real y diseño de un esquema para representarlo", en Douque y Nijssen (eds.), Descripción de la base de datos , Holanda Septentrional, 1975, ISBN 0-7204-2833-5
  4. ^ "Lección 5: Supertipos y subtipos". docs.microsoft.com .
  5. ^ Bagui y Earp 2022, pag. 73-74, §4.3.
  6. ^ Beynon-Davies, Paul (2004). Sistemas de bases de datos . Basingstoke, Reino Unido: Palgrave: Houndmills. ISBN 978-1403916013.
  7. ^ ab Bagui y Earp 2022, p. 112-116, §5.5.
  8. ^ "Diagramas en inglés, chino y ER" de Peter Chen
  9. ^ "El Pangrammaticon: emoción y sociedad". 3 de enero de 2013.
  10. ^ Hubert Tardieu, Arnold Rochfeld y René Colletti La método MERISE: Principes et outils (rústica - 1983)
  11. ^ Elmasri, Ramez, B. Shamkant, Navathe, Fundamentos de los sistemas de bases de datos, tercera ed., Addison-Wesley, Menlo Park, CA, EE. UU., 2000.
  12. ^ Atzeni, Paolo; Chu, Wesley; Lu, Hongjun; Ling, Tok Wang; Zhou, Shuigeng (27 de octubre de 2004). ER 2004: 23ª Conferencia Internacional sobre Modelado Conceptual, Shanghai, China, 8 al 12 de noviembre de 2004. ISBN 9783540237235.
  13. ^ "Un tratamiento formal de los diagramas de clases UML como método eficiente para la gestión de la configuración 2007" (PDF) .
  14. ^ "James Dullea, Il-Yeol Song, Ioanna Lamprou - Un análisis de la validez estructural en el modelado entidad-relación 2002" (PDF) .[ enlace muerto permanente ]
  15. ^ Hartmann, Sven. "Razonamiento sobre las limitaciones de participación y las limitaciones de Chen Archivado el 10 de mayo de 2013 en la Wayback Machine ". Actas de la 14ª conferencia de bases de datos de Australasia, volumen 17. Australian Computer Society, Inc., 2003.
  16. ^ G. Everest, "MODELOS DE ESTRUCTURA DE DATOS BÁSICOS EXPLICADOS CON UN EJEMPLO COMÚN", en Computing Systems 1976, Actas de la Quinta Conferencia de Texas sobre Sistemas de Computación, Austin, TX, 18-19 de octubre de 1976, páginas 39-46. (Long Beach, CA: Oficina de Publicaciones de IEEE Computer Society).
  17. ^ "Introducción al análisis de datos", publicación de formación de ICL T2384, número 2, noviembre de 1978
  18. ^ "El papel de la interpretación intencional y extensional en las representaciones semánticas".
  19. ^ Kent en "Datos y realidad":
    "Una cosa que debemos tener clara al comienzo de un esfuerzo de modelización es si nuestra intención es describir una parte de la "realidad" (alguna empresa humana) o una actividad de procesamiento de datos".
  20. ^ Abrial en "Semántica de datos": "... la llamada definición y manipulación" lógica "de los datos todavía están influenciadas (a veces inconscientemente) por los mecanismos" físicos "de almacenamiento y recuperación actualmente disponibles en los sistemas informáticos".
  21. ^ Stamper: "Pretenden describir tipos de entidades, pero el vocabulario proviene del procesamiento de datos: campos, elementos de datos, valores. Las reglas de nomenclatura no reflejan las convenciones que usamos para nombrar personas y cosas; en cambio, reflejan técnicas para localizar registros en archivos."
  22. ^ En palabras de Jackson : "El desarrollador comienza creando un modelo de la realidad que preocupa al sistema, la realidad que proporciona su tema [del sistema] ..."
  23. ^ Elmasri, Navathe: "Los conceptos del modelo ER están diseñados para acercarse más a la percepción de los datos por parte del usuario y no pretenden describir la forma en que se almacenarán los datos en la computadora".
  24. ^ Paolo Rocchi, Probabilidad frente a Jano , Springer, 2014, p. 62.
  25. ^ P. Chen. Direcciones de investigación sugeridas para una nueva frontera: modelado conceptual activo. ER 2006, volumen 4215 de Lecture Notes in Computer Science, páginas 1–4. Springer Berlín/Heidelberg, 2006.
  26. ^ Carta, Traci A.; Jasperson, Jon (Sean); y Cornelius, Mark E. (2020) "Integración de conceptos ERD y UML al enseñar modelado de datos", Journal of Information Systems Education: vol. 17: Edición. 1, artículo 9.
  27. El poder y los límites de la tecnología relacional en la era de los ecosistemas de información Archivado el 17 de septiembre de 2016 en Wayback Machine . Conferencias Federadas On The Move, 2010.
  28. ^ A. Badia y D. Lemire. Un llamado a las armas: revisando el diseño de bases de datos. Citeseerx,
  29. ^ Gregersen, Heidi; Jensen, Christian S. (1999). "Modelos temporales entidad-relación: una encuesta". Transacciones IEEE sobre conocimiento e ingeniería de datos . 11 (3): 464–497. CiteSeerX 10.1.1.1.2497 . doi : 10.1109/69.774104. 
  30. ^ RICCARDO TORLONE (2003). «Modelos Conceptuales Multidimensionales» (PDF) . En Maurizio Rafanelli (ed.). Bases de datos multidimensionales: problemas y soluciones . Idea Group Inc (IGI). ISBN 978-1-59140-053-0.

Otras lecturas

enlaces externos