
Un modelo de datos es un modelo abstracto que organiza elementos de datos y estandariza cómo se relacionan entre sí y con las propiedades de entidades del mundo real . [ 2 ] [ 3 ] Por ejemplo, un modelo de datos puede especificar que el elemento de datos que representa un automóvil esté compuesto por una serie de otros elementos que, a su vez, representan el color y el tamaño del automóvil y definen a su propietario.
La actividad profesional correspondiente se denomina generalmente modelado de datos o, más específicamente, diseño de bases de datos . Los modelos de datos suelen ser especificados por un experto en datos, un especialista en datos, un científico de datos, un bibliotecario de datos o un investigador de datos. Un lenguaje y una notación de modelado de datos se representan a menudo gráficamente mediante diagramas. [ 4 ]
En el contexto de los lenguajes de programación , a veces se hace referencia a un modelo de datos como una estructura de datos . Los modelos de datos suelen complementarse con modelos de funciones , especialmente en el contexto de los modelos empresariales .
Un modelo de datos determina explícitamente la estructura de los datos ; por el contrario, los datos estructurados son aquellos organizados según un modelo o estructura de datos explícitos. Los datos estructurados se diferencian de los datos no estructurados y semiestructurados .
Descripción general
El término modelo de datos puede referirse a dos conceptos distintos pero estrechamente relacionados. A veces, alude a una formalización abstracta de los objetos y relaciones presentes en un dominio de aplicación específico: por ejemplo, los clientes, productos y pedidos de una empresa manufacturera. Otras veces, se refiere al conjunto de conceptos utilizados para definir dichas formalizaciones: por ejemplo, entidades, atributos, relaciones o tablas. Así, el modelo de datos de una aplicación bancaria puede definirse mediante el modelo de datos entidad-relación. Este artículo utiliza el término en ambos sentidos.
La gestión de grandes cantidades de datos estructurados y no estructurados es una función primordial de los sistemas de información . Los modelos de datos describen la estructura, la manipulación y la integridad de los datos almacenados en sistemas de gestión de datos como las bases de datos relacionales. También pueden describir datos con una estructura menos rígida, como documentos de procesamiento de texto , mensajes de correo electrónico , imágenes, audio digital y vídeo: XDM , por ejemplo, proporciona un modelo de datos para documentos XML .
El papel de los modelos de datos

El objetivo principal de los modelos de datos es apoyar el desarrollo de sistemas de información al proporcionar la definición y el formato de los datos. Según West y Fowler (1999), "si esto se realiza de forma consistente 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, diferentes aplicaciones pueden compartirlos. Los resultados de esto se indican anteriormente. Sin embargo, los sistemas e interfaces a menudo cuestan más de lo que deberían, tanto para construir como para operar y mantener. También pueden limitar el negocio en lugar de apoyarlo. Una causa importante es la mala calidad de los modelos de datos implementados en los sistemas e interfaces". [ 5 ]
- Las reglas de negocio, específicas de cómo se hacen las cosas en un lugar determinado, suelen estar fijas en la estructura de un modelo de datos. Esto significa que pequeños cambios en la forma de hacer negocios conllevan grandes cambios en los sistemas informáticos y las interfaces. [ 5 ]
- "Los tipos de entidades a menudo no se identifican o se identifican incorrectamente. Esto puede provocar la duplicación de datos, estructura de datos y funcionalidad, junto con los costes asociados a dicha duplicación en el desarrollo y el mantenimiento". [ 5 ]
- "Los modelos de datos para diferentes sistemas son arbitrariamente diferentes. Como resultado, se requieren interfaces complejas entre los sistemas que comparten datos. Estas interfaces pueden representar entre el 25 % y el 70 % del costo de los sistemas actuales". [ 5 ]
- "Los datos no se pueden compartir electrónicamente con clientes y proveedores, porque la estructura y el significado de los datos no se han estandarizado. Por ejemplo, los datos de diseño de ingeniería y los planos de las plantas de proceso todavía se intercambian a veces en papel". [ 5 ]
La razón de estos problemas es la falta de estándares que garanticen que los modelos de datos satisfagan las necesidades del negocio y sean consistentes. [ 5 ]
Un modelo de datos determina explícitamente la estructura de los datos. Las aplicaciones típicas de los modelos de datos incluyen modelos de bases de datos, diseño de sistemas de información y la facilitación del intercambio de datos. Generalmente, los modelos de datos se especifican en un lenguaje de modelado de datos.[3]
Tres perspectivas

Una instancia de modelo de datos puede ser de tres tipos según ANSI en 1975: [ 6 ]
- Modelo de datos conceptual : describe la semántica de un dominio, constituyendo el alcance del modelo. Por ejemplo, puede ser un modelo del área de interés de una organización o industria. Este consta de clases de entidades, que representan tipos de elementos relevantes en el dominio, y aserciones de relaciones sobre asociaciones entre pares de clases de entidades. Un esquema conceptual especifica los tipos de hechos o proposiciones que pueden expresarse utilizando el modelo. En ese sentido, define las expresiones permitidas en un «lenguaje» artificial cuyo alcance está limitado por el alcance del modelo.
- Modelo de datos lógico : describe la semántica, tal como la representa una tecnología específica de manipulación de datos. Esto incluye descripciones de tablas y columnas, clases orientadas a objetos y etiquetas XML, entre otras cosas.
- Modelo físico de datos : describe la forma física en que se almacenan los datos. Esto incluye particiones, CPU, espacios de tablas y similares.
La importancia de este enfoque, según ANSI, radica en que permite que las tres perspectivas sean relativamente independientes entre sí. La tecnología de almacenamiento puede cambiar sin afectar ni al modelo lógico ni al conceptual. La estructura de tablas y columnas puede cambiar sin afectar (necesariamente) al modelo conceptual. En cada caso, por supuesto, las estructuras deben permanecer coherentes con el otro modelo. La estructura de tablas y columnas puede ser diferente de una traducción directa de las clases y atributos de las entidades, pero en última instancia debe cumplir los objetivos de la estructura de clases de entidades conceptuales. Las fases iniciales de muchos proyectos de desarrollo de software enfatizan el diseño de un modelo de datos conceptual . Dicho diseño puede detallarse en un modelo de datos lógico . En etapas posteriores, este modelo puede traducirse en un modelo de datos físico . Sin embargo, también es posible implementar un modelo conceptual directamente.
Historia
Uno de los primeros trabajos pioneros en el modelado de sistemas de información fue realizado por Young y Kent (1958), [ 7 ] [ 8 ] quienes defendieron "una forma precisa y abstracta de especificar las características informacionales y temporales de un problema de procesamiento de datos ". Querían crear "una notación que permitiera al analista organizar el problema en torno a cualquier componente de hardware ". Su trabajo fue el primer esfuerzo por crear una especificación abstracta y una base invariante para diseñar diferentes implementaciones alternativas utilizando distintos componentes de hardware. El siguiente paso en el modelado de SI fue dado por CODASYL , un consorcio de la industria de TI formado en 1959, que esencialmente buscaba lo mismo que Young y Kent: el desarrollo de "una estructura adecuada para un lenguaje de definición de problemas independiente de la máquina, a nivel de sistema de procesamiento de datos". Esto condujo al desarrollo de un álgebra de información específica para SI . [ 8 ]
En la década de 1960, el modelado de datos adquirió mayor importancia con el surgimiento del concepto de sistema de información gerencial (SIG). Según Leondes (2002), "durante ese tiempo, el sistema de información proporcionaba los datos y la información para fines gerenciales. El sistema de base de datos de primera generación , llamado Integrated Data Store (IDS), fue diseñado por Charles Bachman en General Electric. Dos modelos de bases de datos famosos, el modelo de datos de red y el modelo de datos jerárquico , fueron propuestos durante este período". [ 9 ] Hacia finales de la década de 1960, Edgar F. Codd desarrolló sus teorías de organización de datos y propuso el modelo relacional para la gestión de bases de datos basado en la lógica de predicados de primer orden . [ 10 ]
En la década de 1970, el modelado entidad-relación surgió como un nuevo tipo de modelado conceptual de datos, formalizado originalmente en 1976 por Peter Chen . Los modelos entidad-relación se utilizaban 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ía en una base de datos . Esta técnica puede describir cualquier ontología , es decir, una visión general y clasificación de conceptos y sus relaciones, para un área de interés determinada .
En la década de 1970, GM Nijssen desarrolló el método de análisis de información en lenguaje natural (NIAM, por sus siglas en inglés), que en la década de 1980, junto con Terry Halpin, perfeccionó hasta convertirlo en el modelado de objetos y roles (ORM, por sus siglas en inglés). Sin embargo, fue la tesis doctoral de Terry Halpin de 1989 la que sentó las bases formales del modelado de objetos y roles.
En su libro de 1978 , Data and Reality, [ 11 ] Bill Kent comparó un modelo de datos con un mapa de un territorio, haciendo hincapié en que, en el mundo real, "las carreteras no están pintadas de rojo, los ríos no tienen límites de condado que los atraviesen, y no se pueden ver las curvas de nivel en una montaña". A diferencia de otros investigadores que intentaron crear modelos matemáticamente limpios y elegantes, Kent destacó la inherente complejidad del mundo real y la tarea del modelador de datos de crear orden a partir del caos sin distorsionar excesivamente la verdad.
En la década de 1980, según Jan L. Harrington (2000), "el desarrollo del paradigma orientado a objetos provocó un cambio fundamental en la forma en que vemos los datos y los procedimientos que operan sobre ellos. Tradicionalmente, los datos y los procedimientos se han almacenado por separado: los datos y su relación en una base de datos, los procedimientos en un programa de aplicación. Sin embargo, la orientación a objetos combinó el procedimiento de una entidad con sus datos". [ 12 ]
A principios de la década de 1990, tres matemáticos holandeses, Guido Bakema, Harm van der Lek y JanPieter Zwart, continuaron el desarrollo del trabajo de GM Nijssen . Se centraron más en la parte comunicativa de la semántica. En 1997 formalizaron el método de Modelado de Información Orientado a la Comunicación Total (FCO-IM) .
Tipos
Modelo de base de datos
Un modelo de base de datos es una especificación que describe cómo se estructura y se utiliza una base de datos.
Se han propuesto varios modelos de este tipo. Algunos modelos comunes son:
- Modelo plano
- Esto podría no considerarse estrictamente un modelo de datos. El modelo plano (o de tabla) consiste en una única matriz bidimensional de elementos de datos, donde se supone que todos los miembros de una columna determinada tienen valores similares y que todos los miembros de una fila están relacionados entre sí.
- Modelo jerárquico
- El modelo jerárquico es similar al modelo de red, con la diferencia de que los enlaces en el modelo jerárquico forman una estructura de árbol, mientras que el modelo de red permite un grafo arbitrario.
- Modelo de red
- El modelo de red , también conocido como modelo gráfico , organiza los datos mediante dos elementos fundamentales: registros y conjuntos. Los registros (o nodos) contienen campos (es decir, atributos), y los conjuntos (o aristas) definen relaciones de uno a muchos, de muchos a muchos y de muchos a uno entre registros: un propietario, muchos miembros. El modelo de datos de red es una abstracción del concepto de diseño utilizado en la implementación de bases de datos. Los modelos de red enfatizan la interconexión, lo que los hace ideales para aplicaciones donde las relaciones son cruciales, como las redes sociales o los sistemas de recomendación. Esta estructura permite consultar las relaciones de manera eficiente sin realizar costosas uniones.
- Modelo relacional
- Es un modelo de base de datos basado en la lógica de predicados de primer orden. Su idea central es describir una base de datos como una colección de predicados sobre un conjunto finito de variables de predicado, que describen restricciones sobre los posibles valores y combinaciones de valores. La potencia del modelo de datos relacional reside en sus fundamentos matemáticos y en un paradigma sencillo para el usuario.
- Modelo objeto-relacional
- Similar a un modelo de base de datos relacional, pero los objetos, las clases y la herencia son compatibles directamente en los esquemas de la base de datos y en el lenguaje de consulta.
- Modelado de roles de objetos
- Método de modelado de datos definido como "libre de atributos" y "basado en hechos". El resultado es un sistema verificablemente correcto, a partir del cual se pueden derivar otros artefactos comunes, como diagramas entidad-relación (DER), UML y modelos semánticos. Las asociaciones entre objetos de datos se describen durante el proceso de diseño de la base de datos, de modo que la normalización es un resultado inevitable del mismo.
- Esquema de estrella
- El estilo más simple de esquema de almacén de datos. El esquema en estrella consta de unas pocas "tablas de hechos" (posiblemente solo una, lo que justifica su nombre) que hacen referencia a cualquier número de "tablas de dimensiones". El esquema en estrella se considera un caso especial importante del esquema en copo de nieve .




Modelo orientado a conceptos
Diagrama de estructura de datos

Un diagrama de estructura de datos (DSD) es un diagrama y modelo de datos que se utiliza para describir modelos de datos conceptuales mediante notaciones gráficas que documentan las entidades , sus relaciones y las restricciones que las vinculan. Los elementos gráficos básicos de los DSD son las cajas , que representan entidades, y las flechas , que representan relaciones. Los diagramas de estructura de datos son especialmente útiles para documentar entidades de datos complejas.
Los diagramas de estructura de datos (DSD) son una extensión del modelo entidad-relación (modelo ER). En los DSD, los atributos se especifican dentro de los recuadros de las entidades, en lugar de fuera de ellos, mientras que las relaciones se representan como recuadros compuestos por atributos que especifican las restricciones que vinculan a las entidades. Los DSD se diferencian del modelo ER en que este último se centra en las relaciones entre diferentes entidades, mientras que los DSD se centran en las relaciones entre los elementos dentro de una entidad y permiten a los usuarios visualizar completamente los vínculos y las relaciones entre cada entidad.
Existen varios estilos para representar diagramas de estructuras de datos, con la notable diferencia en la forma de definir la cardinalidad . Las opciones son: puntas de flecha, puntas de flecha invertidas ( patas de gallo ) o representación numérica de la cardinalidad.

Modelo entidad-relación
Un modelo entidad-relación (MER), también conocido como diagrama entidad-relación (DER), se utiliza para representar un modelo de datos conceptual abstracto (o modelo de datos semántico o físico) empleado en ingeniería de software para representar datos estructurados. Existen diversas notaciones para los MER. Al igual que en los DSD, los atributos se especifican dentro de los recuadros de las entidades, en lugar de fuera de ellos, mientras que las relaciones se representan mediante líneas, con las restricciones de relación descritas en la línea. Si bien el modelo ER es robusto, puede resultar visualmente complejo al representar entidades con múltiples atributos.
Existen varios estilos para representar diagramas de estructuras de datos, con una diferencia notable en la forma de definir la cardinalidad. Las opciones son: puntas de flecha, puntas de flecha invertidas (patas de gallo) o representación numérica de la cardinalidad.
Modelo de datos geográficos
Un modelo de datos en sistemas de información geográfica es una construcción matemática para representar objetos o superficies geográficas como datos. Por ejemplo,
- El modelo de datos vectoriales representa la geografía como puntos, líneas y polígonos.
- El modelo de datos ráster representa la geografía como matrices de celdas que almacenan valores numéricos;
- y el modelo de datos de red irregular triangulada (TIN) representa la geografía como conjuntos de triángulos contiguos que no se superponen. [ 14 ]
Modelo de datos genérico
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 elementos que pueden relacionarse mediante dichos tipos de relaciones. Los modelos de datos genéricos se desarrollan como una solución a algunas deficiencias de los modelos de datos convencionales. Por ejemplo, diferentes modeladores suelen producir distintos modelos de datos convencionales para un mismo dominio. Esto puede dificultar la integración de los modelos de distintas personas y constituye un obstáculo para el intercambio y la integración de datos. Sin embargo, esta diferencia suele atribuirse a los distintos niveles de abstracción de los modelos y a las diferencias en los tipos de hechos que pueden instanciarse (las capacidades de expresión semántica de los modelos). Los modeladores deben comunicarse y acordar ciertos elementos que deben representarse de forma más concreta para que las diferencias sean menos significativas.
Modelo de datos semántico

Un modelo de datos semántico en ingeniería de software es una técnica para definir el significado de los datos dentro del contexto de sus interrelaciones con otros datos. Un modelo de datos semántico es una abstracción que define cómo los símbolos almacenados se relacionan con el mundo real. [ 13 ] A veces, un modelo de datos semántico se denomina modelo de datos conceptual .
La estructura lógica de datos de un sistema de gestión de bases de datos (DBMS), ya sea jerárquica , de red o relacional , no puede satisfacer completamente los requisitos para una definición conceptual de los datos, ya que su alcance es limitado y está sesgada hacia la estrategia de implementación empleada por el DBMS. Por lo tanto, la necesidad de definir los datos desde una perspectiva conceptual ha llevado al desarrollo de técnicas de modelado de datos semánticos. 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 de datos semántico 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 fiel del mundo real. [ 13 ]
Temas
Arquitectura de datos
La arquitectura de datos es el diseño de datos para su uso en la definición del estado objetivo y la planificación posterior necesaria para alcanzar dicho estado. Generalmente, es uno de los diversos dominios de arquitectura que conforman los pilares de una arquitectura empresarial o de una arquitectura de soluciones .
Una arquitectura de datos describe las estructuras de datos utilizadas por una empresa o sus aplicaciones. Incluye descripciones de los datos almacenados y en tránsito; descripciones de los almacenes de datos, grupos de datos y elementos de datos; y asignaciones de estos artefactos de datos a las calidades de los datos, aplicaciones, ubicaciones, etc.
Fundamental para alcanzar el estado deseado, la arquitectura de datos describe cómo se procesan, almacenan y utilizan los datos en un sistema determinado. Proporciona criterios para las operaciones de procesamiento de datos que permiten diseñar flujos de datos y controlar dicho flujo dentro del sistema.
Modelado de datos

El modelado de datos en ingeniería de software es el proceso de crear un modelo de datos aplicando descripciones formales de modelos de datos mediante técnicas de modelado de datos. El modelado de datos es una técnica para definir los requisitos de negocio de una base de datos. A veces se le llama modelado de bases de datos porque, finalmente, un modelo de datos se implementa en una base de datos. [ 16 ]
La figura ilustra cómo se desarrollan y utilizan los modelos de datos en la actualidad. Se desarrolla un modelo de datos conceptual basado en los requisitos de datos de la aplicación en desarrollo, posiblemente en el contexto de un modelo de actividad . El modelo de datos normalmente consta de tipos de entidades, atributos, relaciones, reglas de integridad y las definiciones de dichos objetos. Este modelo se utiliza como punto de partida para el diseño de la interfaz o la base de datos . [ 5 ]
Propiedades de los datos

Algunas propiedades importantes de los datos que deben cumplirse son:
- propiedades relacionadas con la definición [ 5 ]
- Relevancia : la utilidad de los datos en relación con su propósito o aplicación previstos.
- Claridad : la disponibilidad de una definición clara y compartida para los datos.
- consistencia : la compatibilidad del mismo tipo de datos procedentes de diferentes fuentes.
- propiedades relacionadas con el contenido
- Puntualidad : la disponibilidad de los datos en el momento requerido y cuán actualizados están esos datos.
- Precisión : qué tan cerca de la verdad están los datos.
- propiedades relacionadas tanto con la definición como con el contenido
- Integridad : cantidad de datos necesarios que están disponibles.
- Accesibilidad : dónde, cómo y para quién están disponibles o no los datos (por ejemplo, seguridad).
- costo : el costo incurrido para obtener los datos y ponerlos a disposición para su uso.
Organización de datos
Otro tipo de modelo de datos describe cómo organizar los datos mediante un sistema de gestión de bases de datos u otra tecnología de gestión de datos. Describe, por ejemplo, tablas y columnas relacionales o clases y atributos orientados a objetos. Este modelo de datos a veces se denomina modelo de datos físico , pero en la arquitectura original de tres esquemas ANSI se llama "lógico". En dicha arquitectura, el modelo físico describe los medios de almacenamiento (cilindros, pistas y espacios de tablas). Idealmente, este modelo se deriva del modelo de datos más conceptual descrito anteriormente. Sin embargo, puede diferir para tener en cuenta restricciones como la capacidad de procesamiento y los patrones de uso.
Si bien el análisis de datos es un término común para el modelado de datos, la actividad en realidad tiene más en común con las ideas y los métodos de síntesis (inferir conceptos generales a partir de instancias particulares) que con el análisis (identificar conceptos componentes a partir de otros más generales). { Presumiblemente nos llamamos analistas de sistemas porque nadie puede decir sintetizadores de sistemas . } El modelado de datos se esfuerza por reunir las estructuras de datos de interés en un todo cohesivo e inseparable, eliminando las redundancias de datos innecesarias y relacionando las estructuras de datos con relaciones .
Otro enfoque consiste en utilizar sistemas adaptativos , como las redes neuronales artificiales , que pueden crear de forma autónoma modelos implícitos de datos.
Estructura de datos

Una estructura de datos es una forma de almacenar información en un ordenador para que pueda utilizarse de manera eficiente. Se trata de una organización de conceptos matemáticos y lógicos relacionados con los datos. A menudo, una estructura de datos cuidadosamente elegida permite utilizar el algoritmo más eficiente . La elección de la estructura de datos suele comenzar con la selección de un tipo de dato abstracto .
Un modelo de datos describe la estructura de los datos dentro de un dominio determinado y, por extensión, la estructura subyacente de dicho dominio. Esto significa que un modelo de datos especifica una gramática específica para un lenguaje artificial propio de ese dominio. Un modelo de datos representa clases de entidades (tipos de cosas) sobre las que una empresa desea almacenar información, los atributos de dicha información y las relaciones entre esas entidades, así como las relaciones (a menudo implícitas) entre esos atributos. El modelo describe la organización de los datos en cierta medida, independientemente de cómo se representen en un sistema informático.
Las entidades representadas por un modelo de datos pueden ser entidades tangibles, pero los modelos que incluyen clases de entidades concretas tienden a cambiar con el tiempo. Los modelos de datos robustos suelen identificar abstracciones de dichas entidades. Por ejemplo, un modelo de datos podría incluir una clase de entidad llamada "Persona", que representa a todas las personas que interactúan con una organización. Esta clase de entidad abstracta suele ser más apropiada que las llamadas "Proveedor" o "Empleado", que identifican roles específicos desempeñados por esas personas.
Formación


teoría del modelo de datos
El término modelo de datos puede tener dos significados: [ 17 ]
- Una teoría de modelos de datos , es decir, una descripción formal de cómo se pueden estructurar y acceder a los datos.
- Una instancia de modelo de datos , es decir, aplicar una teoría de modelos de datos para crear una instancia práctica de modelo de datos para alguna aplicación en particular.
Una teoría de modelos de datos tiene tres componentes principales: [ 17 ]
- La parte estructural: un conjunto de estructuras de datos que se utilizan para crear bases de datos que representan las entidades u objetos modelados por la base de datos.
- La parte de integridad: un conjunto de reglas que rigen las restricciones impuestas a estas estructuras de datos para garantizar la integridad estructural.
- La parte de manipulación: un conjunto de operadores que se pueden aplicar a las estructuras de datos para actualizar y consultar los datos contenidos en la base de datos.
Por ejemplo, en el modelo relacional , la parte estructural se basa en un concepto modificado de la relación matemática ; la parte de integridad se expresa en lógica de primer orden y la parte de manipulación se expresa utilizando el álgebra relacional , el cálculo de tuplas y el cálculo de dominios .
Se crea una instancia de modelo de datos aplicando una teoría de modelado de datos. Esto se suele hacer para resolver algún requisito empresarial. Los requisitos empresariales normalmente se capturan mediante un modelo de datos lógico semántico . Este se transforma en una instancia de modelo de datos físico a partir de la cual se genera una base de datos física. Por ejemplo, un modelador de datos puede usar una herramienta de modelado de datos para crear un modelo entidad-relación del repositorio de datos corporativo de una empresa. Este modelo se transforma en un modelo relacional , que a su vez genera una base de datos relacional .
Patrones
Los patrones [ 18 ] son estructuras comunes de modelado de datos que aparecen en muchos modelos de datos.
Modelos relacionados
Diagrama de flujo de datos

Un diagrama de flujo de datos (DFD) es una representación gráfica del "flujo" de datos a través de un sistema de información . Se diferencia del diagrama de flujo en que muestra el flujo de datos en lugar del flujo de control del programa. Un diagrama de flujo de datos también puede utilizarse para la visualización del procesamiento de datos (diseño estructurado). Los diagramas de flujo de datos fueron inventados por Larry Constantine , el desarrollador original del diseño estructurado, [ 20 ] basándose en el modelo de computación de "grafo de flujo de datos" de Martin y Estrin.
Es práctica común dibujar primero un diagrama de flujo de datos (DFD) a nivel de contexto, que muestra la interacción entre el sistema y las entidades externas. El DFD está diseñado para mostrar cómo se divide un sistema en partes más pequeñas y para resaltar el flujo de datos entre esas partes. Este diagrama de flujo de datos a nivel de contexto se "expande" para mostrar más detalles del sistema que se está modelando.
Modelo de información

Un modelo de información no es un tipo de modelo de datos, sino más bien un modelo alternativo. En el campo de la ingeniería de software, tanto un modelo de datos como un modelo de información pueden ser representaciones abstractas y formales de tipos de entidades que incluyen sus propiedades, relaciones y las operaciones que se pueden realizar sobre ellas. Los tipos de entidades en el modelo pueden ser objetos del mundo real, como dispositivos en una red, o pueden ser abstractos, como las entidades utilizadas en un sistema de facturación. Generalmente, se utilizan para modelar un dominio restringido que se puede describir mediante un conjunto cerrado de tipos de entidades, propiedades, relaciones y operaciones.
Según Lee (1999) [ 21 ] un modelo de información es una representación de conceptos, relaciones, restricciones, reglas y operaciones para especificar la semántica de los datos para un dominio de discurso elegido. Puede proporcionar una estructura compartible, estable y organizada de los requisitos de información para el contexto del dominio. [ 21 ] Más generalmente, el término modelo de información se utiliza para modelos de cosas individuales, como instalaciones, edificios, plantas de proceso, etc. En esos casos, el concepto se especializa en Modelo de Información de Instalaciones , Modelo de Información de Edificios , Modelo de Información de Plantas, etc. Dicho modelo de información es una integración de un modelo de la instalación con los datos y documentos sobre la instalación.
Un modelo de información proporciona formalismo a la descripción de un dominio de problema sin restringir cómo se asigna dicha descripción a una implementación real en software. Puede haber múltiples asignaciones del modelo de información. Dichas asignaciones se denominan modelos de datos, independientemente de si son modelos de objetos (por ejemplo, utilizando UML ), modelos entidad-relación o esquemas XML .

Modelo de objeto
En informática, un modelo de objetos es una colección de objetos o clases mediante la cual un programa puede examinar y manipular partes específicas de su entorno. En otras palabras, es la interfaz orientada a objetos de un servicio o sistema. Dicha interfaz se denomina modelo de objetos del servicio o sistema representado. Por ejemplo, el Modelo de Objetos del Documento (DOM).es una colección de objetos que representan una página en un navegador web , utilizada por programas de script para examinar y modificar dinámicamente la página. Existe un modelo de objetos de Microsoft Excel [ 22 ] para controlar Microsoft Excel desde otro programa, y el controlador de telescopio ASCOM [ 23 ] es un modelo de objetos para controlar un telescopio astronómico.
En informática, el término modelo de objetos tiene un segundo significado distinto: las propiedades generales de los objetos en un lenguaje de programación , tecnología, notación o metodología específicos que los utilizan. Por ejemplo, el modelo de objetos de Java , el modelo de objetos COM o el modelo de objetos de OMT . Estos modelos de objetos suelen definirse mediante conceptos como clase , mensaje , herencia , polimorfismo y encapsulación . Existe una amplia bibliografía sobre modelos de objetos formalizados como subconjunto de la semántica formal de los lenguajes de programación .
Modelado de roles de objetos

El modelado de objetos y roles (ORM) es un método para el modelado conceptual y puede utilizarse como herramienta para el análisis de información y reglas. [ 25 ]
El modelado de objetos y roles es un método orientado a los hechos para realizar análisis de sistemas a nivel conceptual. La calidad de una aplicación de base de datos depende fundamentalmente de su diseño. Para garantizar la corrección, la claridad, la adaptabilidad y la productividad, lo ideal es especificar los sistemas de información primero a nivel conceptual, utilizando conceptos y un lenguaje fácilmente comprensible.
El diseño conceptual puede incluir perspectivas de datos, procesos y comportamiento, y el sistema de gestión de bases de datos (DBMS) utilizado para implementar el diseño podría basarse en uno de los muchos modelos de datos lógicos (relacional, jerárquico, de red, orientado a objetos, etc.). [ 26 ]
Modelos del lenguaje de modelado unificado
El Lenguaje Unificado de Modelado (UML) es un lenguaje de modelado estandarizado de propósito general en el campo de la ingeniería de software . Es un lenguaje gráfico para visualizar, especificar, construir y documentar los artefactos de un sistema intensivo en software. El Lenguaje Unificado de Modelado ofrece una forma estándar de escribir los planos de un sistema, incluyendo: [ 27 ]
- Aspectos conceptuales como los procesos de negocio y las funciones del sistema.
- Cosas concretas como sentencias de lenguajes de programación , esquemas de bases de datos y
- Componentes de software reutilizables .
UML ofrece una combinación de modelos funcionales , modelos de datos y modelos de bases de datos .
Véase también
- Modelo de proceso de negocio
- Modelo de datos de la arquitectura central
- Modelo de datos común , cualquier modelo de datos estandarizado
- Sistema de recopilación de datos
- Diccionario de datos
- Lenguaje de descripción de formato de datos (DFDL)
- Base de datos distribucional-relacional
- JC3IEDM
- Grafo de objetos
- Modelo de proceso
Referencias
- ↑ Paul R. Smith y Richard Sarfaty Publications, LLC 2009
- ↑ "¿Qué es un modelo de datos?" . princeton.edu . Consultado el 29 de mayo de 2024 .
- ↑ "Modelado de dominio UML - Stack Overflow" . Stack Overflow . Stack Exchange Inc. Consultado el 4 de febrero de 2017 .
- ↑ Michael R. McCaleb (1999). "Un modelo conceptual de datos de sistemas de referencia". Archivado el 21 de septiembre de 2008 en Wayback Machine . Instituto Nacional de Estándares y Tecnología. Agosto de 1999.
- 1 2 3 4 5 6 7 8 9 10 11 Matthew West y Julian Fowler (1999). Desarrollo de modelos de datos de alta calidad . El Ejecutivo de Enlace Técnico STEP de las Industrias de Procesos Europeas (EPISTLE).
- ↑ Instituto Nacional Estadounidense de Estándares. 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.
- ↑ Young, JW y Kent, HK (1958). «Formulación abstracta de problemas de procesamiento de datos». En: Journal of Industrial Engineering . Noviembre-diciembre de 1958. 9(6), págs. 471–479
- 1 2 Janis A. Bubenko jr (2007) "Del álgebra de la información al modelado empresarial y las ontologías: una perspectiva histórica sobre el modelado para sistemas de información". En: Modelado conceptual en ingeniería de sistemas de información . John Krogstie et al. eds. pp 1–18
- ↑ Cornelius T. Leondes (2002). Sistemas de bases de datos y redes de comunicación de datos: técnicas y aplicaciones . Página 7
- ↑ "Derivabilidad, redundancia y consistencia de las relaciones almacenadas en grandes bancos de datos" , EF Codd, Informe de investigación de IBM, 1969
- ↑ Datos y realidad
- ↑ Jan L. Harrington (2000). Diseño de bases de datos orientadas a objetos explicado claramente . pág. 4
- 1 2 3 4 Publicación FIPS 184 Archivada el 3 de diciembre de 2013 en Wayback Machine publicada de IDEF1X por el Laboratorio de Sistemas Informáticos del Instituto Nacional de Estándares y Tecnología (NIST). 21 de diciembre de 1993 (retirada en 2008).
- ↑ Wade, T. y Sommer, S. (eds.). SIG de la A a la Z.
- 1 2 3 4 David R. Soller1 y Thomas M. Berg (2003). El proyecto de base de datos del mapa geológico nacional: descripción general y progreso Informe de archivo abierto del Servicio Geológico de los Estados Unidos 03–471.
- ↑ Whitten, Jeffrey L.; Lonnie D. Bentley , Kevin C. Dittman . (2004). Métodos de análisis y diseño de sistemas . 6.ª edición. ISBN 0-256-19906-X.
- 1 2 Beynon-Davies P. (2004). Sistemas de bases de datos, 3.ª edición. Palgrave, Basingstoke, Reino Unido. ISBN 1-4039-1601-2
- ↑ "El libro de recursos del modelo de datos: patrones universales para el modelado de datos" Len Silverstone y Paul Agnew (2008).
- ↑ John Azzolini (2000). Introducción a las prácticas de ingeniería de sistemas . Julio de 2000.
- ↑ W. Stevens, G. Myers, L. Constantine, "Diseño estructurado", IBM Systems Journal, 13 (2), 115–139, 1974.
- 1 2 Y. Tina Lee (1999). "Modelado de información desde el diseño hasta la implementación" Instituto Nacional de Estándares y Tecnología.
- ↑ Descripción general del modelo de objetos de Excel
- ↑ "Requisitos generales de ASCOM" . 13 de mayo de 2011. Consultado el 25 de septiembre de 2014 .
- ↑ Stephen M. Richard (1999). Modelado de conceptos geológicos . Informe de archivo abierto del Servicio Geológico de los Estados Unidos 99–386.
- ↑ Joachim Rossberg y Rickard Redler (2005). Diseños de aplicaciones Pro Scalable .NET 2.0 . Página 27.
- ↑ Modelado de roles de objetos: una descripción general (msdn.microsoft.com) . Consultado el 19 de septiembre de 2008.
- ↑ Grady Booch, Ivar Jacobson y Jim Rumbaugh (2005) Especificación del lenguaje de modelado unificado de OMG .
Lecturas adicionales
- David C. Hay (1996). Patrones de modelos de datos: convenciones de pensamiento . Nueva York: Dorset House Publishers, Inc.
- Len Silverston (2001). El libro de recursos del modelo de datos Volumen 1/2. John Wiley & Sons.
- Len Silverston y Paul Agnew (2008). El libro de recursos del modelo de datos: Patrones universales para el modelado de datos Volumen 3. John Wiley & Sons.
- Matthew West (2011) Desarrollo de modelos de datos de alta calidad Morgan Kaufmann
- Modelado de datos