sql >> Base de Datos >  >> RDS >> Database

Diseño de base de datos con Vertabelo

El diseño de bases de datos va mucho más allá de dibujar líneas y cuadros. En este artículo, reflexiono sobre el proceso de modelado de datos con énfasis en las mejores prácticas, así como en cómo usar herramientas para implementar esas mejores prácticas para crear un buen diseño de base de datos.

El diseño de bases de datos es el proceso de producir un modelo detallado de una base de datos. El inicio del modelado de bases de datos implica comprender el área comercial y la funcionalidad que se está desarrollando.

Si no está seguro de los pasos involucrados en el proceso de diseño de la base de datos, lo remito a esta descripción de los pasos del diseño de la base de datos.

Comience a modelar:hable con el negocio

Este es un principio clave en la tecnología de la información. Estamos resolviendo un problema comercial desde el lado de los datos para que los datos requeridos estén disponibles. Necesitamos hablar con la gente de negocios para entender sus necesidades.

Debemos hacer preguntas como:

  • "¿Cuál es el dominio?"
  • "¿Cuáles son los desafíos en este dominio?"
  • “¿Cuáles son los problemas a resolver?”
  • "¿Qué información necesitamos conservar?"

Al hablar con la empresa, podemos considerar las compensaciones que podrían afectar el modelo de la base de datos. También sentamos las bases para el modelado.

Usemos un ejemplo concreto. Tome una aplicación de contabilidad para una empresa:necesitaría modelar clientes, proveedores, facturas, pagos, cuentas, saldos, etc. Necesita aprender sobre estos conceptos y sobre contabilidad. Solo puedes hacer esto hablando a la gente de negocios.

Poner los conceptos en orden

Este trabajo inicial con el negocio lo llevará a un modelo de qué "conceptos" deben almacenarse en la base de datos (lea esta explicación de los diferentes niveles de modelos). Del concepto de lo que necesitamos almacenar en la base de datos, es decir, nuestro modelo conceptual, pasamos a uno lógico. El modelo lógico documenta los conceptos comerciales y las reglas sobre las que superponemos los detalles (es posible que le interese leer esta discusión sobre si el modelado de datos lógicos está obsoleto).

Si no está seguro acerca de los diferentes tipos de modelos de datos, consulte nuestro artículo sobre cómo implementar modelos de datos conceptuales, lógicos y físicos con Vertabelo.

El modelo lógico de datos añade más información a los conceptos que ya hemos documentado. Describe cómo se estructuran los datos y cómo se relacionan las entidades entre sí. Además, incluye información sobre los tipos de datos que estamos gestionando.

En Vertabelo podemos crear un modelo lógico de datos a través de un diagrama lógico entidad-relación (ERD). Consulta los detalles de cómo realizar el modelado lógico de datos con Vertabelo.

Aquí hay un modelo de datos lógicos simple, y aún no completo, de clientes, proveedores, facturas, pagos y cuentas.

Otra ventaja que encuentro al trabajar con Vertabelo es que no necesito preocuparme demasiado por la notación exacta. La herramienta de modelado le permite preocuparse por el diseño y no por los detalles de las notaciones y los símbolos del diagrama entidad-relación (ERD), que, obviamente, deberían ser la menor de sus preocupaciones durante el proceso de diseño de la base de datos.

Pongámonos físicos

Para trabajar realmente con la base de datos, necesitamos pasar de nuestro modelo lógico a uno físico. La herramienta Vertabelo nos permite generar un modelo físico de datos a partir de uno lógico de forma sencilla. Primero crea un modelo de datos lógicos, luego puede "auto-mágicamente " genere uno físico seleccionando el modelo lógico y haciendo clic en "Generar modelo de datos físicos" (consulte esta guía detallada para conocer los pasos exactos).

Obviamente, el modelo de datos físicos generado será similar al modelo lógico; sin embargo, los tipos de datos lógicos se traducirán en tipos de datos permitidos para el sistema de administración de bases de datos (DBMS) en particular para el que genera el modelo físico. El modelo físico también indicará qué atributos son claves foráneas entre tablas. También es posible que desee realizar un modelado adicional relacionado con los aspectos físicos de la base de datos, por ejemplo, índices y vistas.

Además, es posible crear un modelo de datos físicos directamente; no tiene que crear uno lógico primero. Pasar directamente a un modelo físico tendrá sentido para actividades de modelado más pequeñas y dirigidas, donde el dominio comercial está mejor definido. El proceso de modelado de la base de datos física es sencillo y no debería presentar demasiados desafíos. Tener un modelo de datos lógico resultará útil para proyectos más grandes, pero tener al menos uno físico es mejor que no tener ninguno.

Evolución del diseño de su base de datos

Los desarrolladores generalmente piensan que el modelo de la base de datos debe girar en torno al código real, mientras que los modeladores de datos piensan que el código debe crearse en función de un modelo de datos relativamente estático. El modelado de datos actual debe ser colaborativo . El código y el modelo de datos se influyen mutuamente.

Por lo tanto, necesitamos una herramienta que admita un proceso colaborativo de diseño y modelado de bases de datos. Además de trabajar con la empresa para crear el diseño conceptual, los modeladores de datos deben colaborar durante el ciclo de desarrollo para actualizar los modelos de datos lógicos y físicos según sea necesario. Los modeladores y desarrolladores deben adaptar el modelo hasta que realmente admita los requisitos comerciales y no funcionales del sistema.

Obviamente, los cambios pueden conducir a errores. Nuevamente, tener una herramienta puede ayudar; una herramienta que valida constantemente su modelo de datos es invaluable. Vertabelo tiene una validación en línea, en vivo e integrada para modelos de datos lógicos y físicos para que los problemas se detecten durante el modelado, no durante la implementación. Y los errores permanecen visibles para todos los que colaboran en él. Además, puede ajustar la configuración de validación según sea necesario. Este es un ejemplo de mi modelo de datos incompletos con varios errores y advertencias.

Volviendo al ejemplo de la contabilidad, es posible que descubra durante el desarrollo que no es suficiente modelar una moneda única como euros o dólares para facturas y pagos. Más bien, necesitaría almacenar montos con su moneda respectiva y convertirlos a la moneda "base" en la que se lleva la contabilidad de la empresa. También puede necesitar las tasas de cambio de moneda y la información histórica de las tasas que se usaron para la conversión de monedas en el pasado.

Aquí es donde una herramienta colaborativa de modelado de bases de datos como Vertabelo realmente demuestra su valor. Puede encontrar más información sobre el uso de Vertabelo para el modelado colaborativo. Simplemente haga clic y comparta su modelo con los miembros de su equipo.

Físico a Implementación

Una vez que tenga su primera versión del modelo físico, probablemente estará ansioso por comenzar a trabajar con la base de datos real. Para hacer eso, Vertabelo generará scripts SQL DDL (lenguaje de definición de datos) para crear la base de datos. No escribiré todos los detalles aquí, ya que puede encontrarlos en el artículo de la base de conocimientos en línea sobre cómo generar un script SQL creando una base de datos.

Déjame decirte por experiencia:esta es una característica muy bienvenida. Evita tener que lidiar con los caprichos de las diferentes sintaxis SQL DDL de la base de datos y puede centrarse en su diseño .

Versión

Ahora, como escribí anteriormente, sus modelos evolucionarán, ya sea durante el diseño de la base de datos, durante el desarrollo del software o después durante el uso real de su base de datos. Hay dos excelentes funciones de Vertabelo que quiero asegurarme de que conozca.

En primer lugar, Vertabelo incluye la gestión de versiones. Puede realizar un seguimiento de las modificaciones y administrar las versiones de los modelos de datos, por lo que es fácil "retroceder en el tiempo" y retroceder a una versión anterior si es necesario. Si es disciplinado, puede etiquetar las diferentes versiones con nombres precisos, ya sean borradores o versiones reales de la base de datos.

La otra característica, con la que he soñado durante muchos años durante el modelado de mi base de datos, es la capacidad de la herramienta Vertabelo para automáticamente generar scripts de migración entre versiones de su modelo de datos. He perdido la cuenta de las veces que tuve que escribir manualmente y corregir scripts de migración repetidamente. Este es un ejemplo de generación de scripts de migración entre dos versiones de una base de datos para una encuesta en línea.

¡Qué bendición para los modeladores de datos tener una herramienta que administre versiones de manera eficiente y calcule el impacto de los cambios entre las versiones!

Modelos grandes

Primero, déjame ser honesto. No siempre trabajo con modelos grandes, pero a veces tengo que crearlos. Aquí, de nuevo, Vertabelo nos ofrece una solución para organizar nuestros modelos.

Podemos agrupar mesas visualmente con áreas temáticas; si desea ver cómo hacerlo, también puede ver un video sobre cómo administrar modelos de datos grandes en Vertabelo.

También puede utilizar esta técnica cuando realiza ingeniería inversa desde un script SQL DDL en un modelo de datos.

Empezar con el diseño de bases de datos

Si está buscando algunas de las mejores prácticas de diseño de bases de datos, le recomiendo que eche un vistazo a este artículo. Para obtener consejos para un mejor diseño de la base de datos, no necesita buscar más allá de este artículo. Y vea este para obtener consejos sobre cómo comenzar a usar Vertabelo para el diseño de su base de datos.