El Data Modeling & Design o modelado y diseño de datos es el proceso de documentar el diseño de un sistema de software complejo como un diagrama fácil de entender, utilizando texto y símbolos para representar la forma en que los datos deben fluir. El diagrama se puede utilizar como un plan para la construcción de un nuevo software o para la reingeniería de una aplicación heredada.
Dentro de la gestión de datos, se necesitan un conjunto de especificaciones para estructurar y organizar los datos relacionales. Esta función se llama modelo y diseño de datos.
En la función de Data Modeling & Design se desciende a un nivel inferior en la estructura sobre la que se organizan los datos, alcanzándose el nivel de base de datos. A diferencia de la función de arquitectura de datos, que es global y describe cómo se estructura el dato y cómo es comprendido por la empresa; en esta función, modelar y diseñar, ya se está entrando en detalle en el dato en sí, siendo por tanto mucho más específica.
La función se despliega en dos procesos que se han de desarrollar conjuntamente y que son:
Tradicionalmente, los modelos de datos se han construido durante las fases de análisis y diseño de un proyecto para garantizar que los requisitos para una nueva aplicación se entiendan por completo. Un modelo de datos puede considerarse como un diagrama de flujo que ilustra las relaciones entre los datos. Aunque capturar todas las relaciones posibles en un modelo de datos puede requerir mucho tiempo, es un paso importante que no debe apresurarse. Los modelos de datos conceptuales, lógicos y físicos bien documentados permiten a los interesados identificar errores y realizar cambios antes de que se haya escrito cualquier código de programación .