
El modelado de datos en ingeniería de software es el proceso de creación de un modelo de datos para un sistema de información mediante la aplicación de ciertas técnicas formales. Puede aplicarse como parte del concepto más amplio de ingeniería basada en modelos (MDE).
Descripción general
El modelado de datos es un proceso que se utiliza para definir y analizar los requisitos de datos necesarios para respaldar los procesos comerciales dentro del alcance de los sistemas de información correspondientes en las organizaciones. Por lo tanto, el proceso de modelado de datos involucra a modeladores de datos profesionales que trabajan en estrecha colaboración con las partes interesadas de la empresa, así como con los usuarios potenciales del sistema de información.
Existen tres tipos diferentes de modelos de datos que se generan a medida que se avanza desde los requisitos hasta la base de datos real que se utilizará para el sistema de información. [2] Los requisitos de datos se registran inicialmente como un modelo de datos conceptual que es esencialmente un conjunto de especificaciones independientes de la tecnología sobre los datos y se utiliza para discutir los requisitos iniciales con las partes interesadas del negocio. Luego, el modelo conceptual se traduce en un modelo de datos lógico , que documenta las estructuras de los datos que se pueden implementar en las bases de datos. La implementación de un modelo de datos conceptual puede requerir varios modelos de datos lógicos. El último paso en el modelado de datos es transformar el modelo de datos lógicos en un modelo de datos físico que organiza los datos en tablas y da cuenta de los detalles de acceso, rendimiento y almacenamiento. El modelado de datos define no solo los elementos de datos, sino también sus estructuras y las relaciones entre ellos. [3]
Las técnicas y metodologías de modelado de datos se utilizan para modelar los datos de una manera estándar, consistente y predecible con el fin de gestionarlos como un recurso. El uso de estándares de modelado de datos se recomienda encarecidamente para todos los proyectos que requieren un medio estándar para definir y analizar datos dentro de una organización, por ejemplo, mediante el uso de modelos de datos:
- Ayudar a los analistas de negocios, programadores, evaluadores, redactores de manuales, selectores de paquetes de TI, ingenieros, gerentes, organizaciones relacionadas y clientes a comprender y utilizar un modelo semiformal acordado que abarque los conceptos de la organización y cómo se relacionan entre sí.
- Gestionar los datos como un recurso
- Integrar sistemas de información
- Diseñar bases de datos/ almacenes de datos (también conocidos como repositorios de datos)
El modelado de datos se puede realizar durante distintos tipos de proyectos y en múltiples fases de los mismos. Los modelos de datos son progresivos; no existe un modelo de datos final para una empresa o aplicación. En cambio, un modelo de datos debe considerarse un documento vivo que cambiará en respuesta a un cambio en la empresa. Lo ideal es que los modelos de datos se almacenen en un repositorio para que se puedan recuperar, ampliar y editar con el tiempo. Whitten et al. (2004) determinaron dos tipos de modelado de datos: [4]
- Modelado estratégico de datos: forma parte de la creación de una estrategia de sistemas de información, que define una visión y una arquitectura generales para los sistemas de información. La ingeniería de tecnologías de la información es una metodología que adopta este enfoque.
- Modelado de datos durante el análisis de sistemas: En el análisis de sistemas se crean modelos de datos lógicos como parte del desarrollo de nuevas bases de datos.
El modelado de datos también se utiliza como técnica para detallar los requisitos comerciales de bases de datos específicas . A veces se lo denomina modelado de bases de datos porque un modelo de datos se implementa finalmente en una base de datos. [4]
Temas
Modelos de datos

Los modelos de datos proporcionan un marco para que los datos se utilicen en los sistemas de información, ya que proporcionan definiciones y formatos específicos. Si un modelo de datos se utiliza de forma coherente en todos los sistemas, se puede lograr la compatibilidad de los datos. Si se utilizan las mismas estructuras de datos para almacenar y acceder a los datos, las distintas aplicaciones pueden compartirlos sin problemas. Los resultados de esto se indican en el diagrama. Sin embargo, los sistemas y las interfaces suelen ser costosos de construir, operar y mantener. También pueden limitar el negocio en lugar de respaldarlo. Esto puede ocurrir cuando la calidad de los modelos de datos implementados en los sistemas y las interfaces es deficiente. [1]
Algunos problemas comunes encontrados en los modelos de datos son:
- Las reglas de negocio, específicas de cómo se hacen las cosas en un lugar en particular, suelen estar fijadas en la estructura de un modelo de datos. Esto significa que pequeños cambios en la forma en que se llevan a cabo los negocios conducen a grandes cambios en los sistemas informáticos y las interfaces. Por lo tanto, las reglas de negocio deben implementarse de una manera flexible que no genere dependencias complicadas; más bien, el modelo de datos debe ser lo suficientemente flexible como para que los cambios en el negocio se puedan implementar dentro del modelo de datos de una manera relativamente rápida y eficiente.
- A menudo, los tipos de entidad no se identifican o se identifican incorrectamente. Esto puede dar lugar a la duplicación de datos, estructuras de datos y funcionalidades, junto con los costos asociados a esa duplicación en el desarrollo y el mantenimiento. Por lo tanto, las definiciones de datos deben ser lo más explícitas y fáciles de entender posible para minimizar la interpretación errónea y la duplicación.
- Los modelos de datos de los distintos sistemas son arbitrariamente diferentes. El resultado de esto es que se requieren interfaces complejas entre sistemas que comparten datos. Estas interfaces pueden representar entre el 25 y el 70% del costo de los sistemas actuales. Las interfaces requeridas deben considerarse inherentemente al diseñar un modelo de datos, ya que un modelo de datos por sí solo no sería utilizable sin interfaces dentro de diferentes sistemas.
- Los datos no se pueden compartir electrónicamente con clientes y proveedores porque la estructura y el significado de los datos no están estandarizados. Para obtener el valor óptimo de un modelo de datos implementado, es muy importante definir estándares que aseguren que los modelos de datos satisfagan las necesidades comerciales y sean consistentes. [1]
Esquemas conceptuales, lógicos y físicos

En 1975 ANSI describió tres tipos de instancias de modelos de datos : [5]
- Esquema conceptual : describe la semántica de un dominio (el alcance del modelo). Por ejemplo, puede ser un modelo del área de interés de una organización o de una industria. Consiste en clases de entidades, que representan tipos de cosas de importancia en el dominio, y relaciones (aserciones sobre asociaciones entre pares de clases de entidades). Un esquema conceptual especifica los tipos de hechos o proposiciones que se pueden expresar utilizando el modelo. En ese sentido, define las expresiones permitidas en un "lenguaje" artificial con un alcance que está limitado por el alcance del modelo. En términos simples, un esquema conceptual es el primer paso para organizar los requisitos de datos.
- Esquema lógico : describe la estructura de un dominio de información. Consiste en descripciones de (por ejemplo) tablas, columnas, clases orientadas a objetos y etiquetas XML. El esquema lógico y el esquema conceptual a veces se implementan como uno solo. [2]
- Esquema físico : describe los medios físicos utilizados para almacenar datos. Esto se relaciona con particiones, CPU, espacios de tablas y similares.
Según ANSI, este enfoque permite que las tres perspectivas sean relativamente independientes entre sí. La tecnología de almacenamiento puede cambiar sin afectar ni al esquema lógico ni al conceptual. La estructura de la tabla/columna puede cambiar sin afectar (necesariamente) al esquema conceptual. En cada caso, por supuesto, las estructuras deben permanecer consistentes en todos los esquemas del mismo modelo de datos.
Proceso de modelado de datos

En el contexto de la integración de procesos de negocio (ver figura), el modelado de datos complementa el modelado de procesos de negocio y, en última instancia, da como resultado la generación de una base de datos. [6]
El proceso de diseño de una base de datos implica la producción de los tres tipos de esquemas descritos anteriormente: conceptual, lógico y físico. El diseño de la base de datos documentado en estos esquemas se convierte a través de un lenguaje de definición de datos , que luego se puede utilizar para generar una base de datos. Un modelo de datos con todos los atributos contiene atributos detallados (descripciones) para cada entidad dentro de él. El término "diseño de base de datos" puede describir muchas partes diferentes del diseño de un sistema de base de datos general . Principalmente, y más correctamente, se puede pensar en él como el diseño lógico de las estructuras de datos base utilizadas para almacenar los datos. En el modelo relacional, estas son las tablas y las vistas . En una base de datos de objetos, las entidades y las relaciones se asignan directamente a clases de objetos y relaciones con nombre. Sin embargo, el término "diseño de base de datos" también se podría utilizar para aplicarlo al proceso general de diseño, no solo de las estructuras de datos base, sino también de los formularios y consultas utilizados como parte de la aplicación general de la base de datos dentro del sistema de gestión de bases de datos o DBMS.
En el proceso, las interfaces de los sistemas representan entre el 25% y el 70% de los costos de desarrollo y soporte de los sistemas actuales. La razón principal de este costo es que estos sistemas no comparten un modelo de datos común . Si los modelos de datos se desarrollan sistema por sistema, no solo se repite el mismo análisis en áreas superpuestas, sino que se deben realizar análisis adicionales para crear las interfaces entre ellos. La mayoría de los sistemas dentro de una organización contienen los mismos datos básicos, rediseñados para un propósito específico. Por lo tanto, un modelo de datos básico diseñado de manera eficiente puede minimizar la repetición del trabajo con modificaciones mínimas para los propósitos de diferentes sistemas dentro de la organización [1].
Metodologías de modelado
Los modelos de datos representan áreas de información de interés. Si bien existen muchas formas de crear modelos de datos, según Len Silverston (1997) [7] solo se destacan dos metodologías de modelado, la de arriba hacia abajo y la de abajo hacia arriba:
- Los modelos ascendentes o modelos de integración de vistas suelen ser el resultado de un esfuerzo de reingeniería . Suelen empezar con estructuras de datos existentes (formularios, campos en pantallas de aplicaciones o informes). Estos modelos suelen ser físicos, específicos de la aplicación e incompletos desde una perspectiva empresarial . Es posible que no fomenten el uso compartido de datos, especialmente si se crean sin referencia a otras partes de la organización. [7]
- Por otro lado, los modelos de datos lógicos descendentes se crean de manera abstracta, obteniendo información de personas que conocen el tema. Es posible que un sistema no implemente todas las entidades de un modelo lógico, pero el modelo sirve como punto de referencia o plantilla. [7]
A veces, los modelos se crean con una combinación de ambos métodos: teniendo en cuenta las necesidades y la estructura de los datos de una aplicación y haciendo referencia de forma coherente a un modelo de área temática. En muchos entornos, la distinción entre un modelo de datos lógicos y un modelo de datos físicos es borrosa. Además, algunas herramientas CASE no distinguen entre modelos de datos lógicos y físicos . [7]
Diagramas de entidad-relación

Existen varias notaciones para el modelado de datos. El modelo real se denomina con frecuencia "modelo entidad-relación", porque representa los datos en términos de las entidades y relaciones descritas en los datos . [4] Un modelo entidad-relación (ERM) es una representación conceptual abstracta de datos estructurados. El modelado entidad-relación es un método de modelado de bases de datos de esquema relacional , utilizado en ingeniería de software para producir un tipo de modelo de datos conceptual (o modelo de datos semántico ) de un sistema, a menudo una base de datos relacional , y sus requisitos de manera descendente .
Estos modelos se utilizan en la primera etapa del diseño de sistemas de información 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 determinado universo de discurso, es decir, un área de interés.
Se han desarrollado varias técnicas para el diseño de modelos de datos. Si bien estas metodologías guían a los modeladores de datos en su trabajo, dos personas diferentes que utilicen la misma metodología a menudo obtendrán resultados muy diferentes. Los más destacados son:
- Diagramas de Bachman
- Notación de Barker
- Notación de Chen
- Modelado de bóveda de datos
- Forma Backus-Naur extendida
- IDEF1X
- Mapeo relacional de objetos
- Modelado de objetos y roles y modelado de información totalmente orientado a la comunicación
- Modelo relacional
- Modelo relacional/Tasmania
Modelado de datos genéricos

Los modelos de datos genéricos son generalizaciones de los modelos de datos convencionales . Definen tipos de relaciones generales estandarizados, junto con los tipos de cosas que pueden estar relacionadas por dicho tipo de relación. La definición de modelo de datos genérico es similar a la definición de un lenguaje natural. Por ejemplo, un modelo de datos genérico puede definir tipos de relaciones como una "relación de clasificación", que es una relación binaria entre una cosa individual y un tipo de cosa (una clase) y una "relación parte-todo", que es una relación binaria entre dos cosas, una con el papel de parte, la otra con el papel de todo, independientemente del tipo de cosas que estén relacionadas.
Dada una lista extensible de clases, esto permite la clasificación de cualquier cosa individual y especificar relaciones parte-todo para cualquier objeto individual. Mediante la estandarización de una lista extensible de tipos de relaciones, un modelo de datos genérico permite la expresión de un número ilimitado de tipos de hechos y se acercará a las capacidades de los lenguajes naturales. Los modelos de datos convencionales, por otro lado, tienen un alcance de dominio fijo y limitado, porque la instanciación (uso) de un modelo de este tipo solo permite expresiones de tipos de hechos que están predefinidos en el modelo.
Modelado de datos semánticos
La estructura lógica de datos de un DBMS, ya sea jerárquica, de red o relacional, no puede satisfacer totalmente los requisitos de una definición conceptual de los datos porque tiene un alcance limitado y está sesgada hacia la estrategia de implementación empleada por el DBMS. Esto es así a menos que el modelo de datos semántico se implemente en la base de datos a propósito, una elección que puede afectar ligeramente el rendimiento pero que, en general, mejora enormemente la productividad.

Por lo tanto, la necesidad de definir los datos desde una perspectiva conceptual ha llevado al desarrollo de técnicas de modelado semántico de datos , es decir, técnicas para definir el significado de los datos dentro del contexto de sus interrelaciones con otros datos. Como se ilustra en la figura, el mundo real, en términos de recursos, ideas, eventos, etc., se define simbólicamente dentro de almacenes de datos físicos. Un modelo semántico de datos es una abstracción que define cómo los símbolos almacenados se relacionan con el mundo real. Por lo tanto, el modelo debe ser una representación verdadera del mundo real. [8]
El objetivo del modelado semántico de datos es crear un modelo estructural de una parte del mundo real, denominada "universo del discurso". Para ello, se consideran cuatro relaciones estructurales fundamentales:
- Clasificación/instanciación: Los objetos con cierta similitud estructural se describen como instancias de clases.
- Agregación/descomposición: Los objetos compuestos se obtienen uniendo sus partes.
- Generalización/especialización: Se reconsideran clases distintas con algunas propiedades comunes en una clase más genérica con atributos comunes.
Un modelo de datos semánticos se puede utilizar para muchos propósitos, tales como: [8]
- Planificación de recursos de datos
- Construcción de bases de datos compartibles
- Evaluación del software del proveedor
- Integración de bases de datos existentes
El objetivo general de los modelos de datos semánticos es captar más significado de los datos mediante la integración de conceptos relacionales con conceptos de abstracción más potentes conocidos en el campo de la inteligencia artificial . La idea es proporcionar primitivas de modelado de alto nivel como parte integral de un modelo de datos para facilitar la representación de situaciones del mundo real. [10]
Véase también
- Patrón arquitectónico
- Comparación de herramientas de modelado de datos
- Datos (informática)
- Diccionario de datos
- Modelado de documentos
- Modelado de datos empresariales
- Modelo de datos de entidad
- Gestión de la información
- Modelo de información
- Modelado de información de construcción
- Modelado de metadatos
- Enfoque de tres esquemas
- Marco de Zachman
Referencias
- ^ abcdef Matthew West y Julian Fowler (1999). Desarrollo de modelos de datos de alta calidad Archivado el 9 de septiembre de 2020 en Wayback Machine . El Ejecutivo de enlace técnico de STEP de las industrias de procesos europeas (EPISTLE).
- ^ de Simison, Graeme. C. y Witt, Graham. C. (2005). Fundamentos de modelado de datos . Tercera edición. Morgan Kaufmann Publishers . ISBN 0-12-644551-6
- ^ Glosario de integración de datos Archivado el 20 de marzo de 2009 en Wayback Machine , Departamento de Transporte de EE. UU., agosto de 2001.
- ^ abc Whitten, Jeffrey L. ; Lonnie D. Bentley , Kevin C. Dittman . (2005). Métodos de análisis y diseño de sistemas . 6.ª edición. ISBN 0-256-19906-X .
- ^ Instituto Nacional Estadounidense de Normas. 1975. Grupo de estudio ANSI/X3/SPARC sobre sistemas de gestión de bases de datos; informe provisional . FDT (Boletín de ACM SIGMOD) 7:2.
- ^ ab Paul R. Smith y Richard Sarfaty (1993). Creación de un plan estratégico para la gestión de la configuración utilizando herramientas de ingeniería de software asistida por computadora (CASE). Documento para el grupo de usuarios de CAD/CAE de contratistas e instalaciones del Departamento de Energía de Estados Unidos de 1993.
- ^ abcd Len Silverston, WHInmon, Kent Graziano (2007). The Data Model Resource Book . Wiley, 1997. ISBN 0-471-15364-8 . Reseñado por Van Scott en tdan.com. Consultado el 1 de noviembre de 2008.
- ^ abcd Publicación FIPS 184 Archivado el 3 de diciembre de 2013 en Wayback Machine . Publicación de IDEF1X por el Laboratorio de Sistemas Informáticos del Instituto Nacional de Estándares y Tecnología (NIST). 21 de diciembre de 1993.
- ^ Amnon Shabo (2006). Estándares de datos genómicos clínicos para farmacogenética y farmacogenómica Archivado el 22 de julio de 2009 en Wayback Machine .
- ^ "Modelado semántico de datos" En: Metaclases y su aplicación . Serie de libros Lecture Notes in Computer Science. Editorial Springer Berlin / Heidelberg. Volumen 943/1995.
Este artículo incorpora material de dominio público del Instituto Nacional de Estándares y Tecnología.
Lectura adicional
- JH ter Bekke (1991). Modelado semántico de datos en entornos relacionales
- John Vincent Carlis, Joseph D. Maguire (2001). Dominar el modelado de datos: un enfoque impulsado por el usuario .
- Alan Chmura, J. Mark Heumann (2005). Modelado lógico de datos: qué es y cómo hacerlo .
- Martin E. Modell (1992). Análisis de datos, modelado de datos y clasificación .
- M. Papazoglou, Stefano Spaccapietra, Zahir Tari (2000). Avances en el modelado de datos orientado a objetos .
- G. Lawrence Sanders (1995). Modelado de datos
- Graeme C. Simsion, Graham C. Witt (2005). Fundamentos del modelado de datos
- Matthew West (2011) Desarrollo de modelos de datos de alta calidad
Enlaces externos
- Modelado de datos ágil y evolutivo
- Artículos sobre modelado de datos Archivado el 7 de marzo de 2010 en Wayback Machine .
- Modelado de bases de datos en UML
- Modelado de datos 101
- Modelado de datos semánticos
- Desarrollo de sistemas, metodologías y modelado Archivado el 7 de marzo de 2012 en Wayback Machine Notas sobre Tony Drewry
- Solicitud de propuesta - Metamodelo de gestión de la información (IMM) del grupo de gestión de objetos
- El modelado de datos NO es solo para DBMS (parte 1) Chris Bradley
- El modelado de datos NO es solo para DBMS (segunda parte) Chris Bradley