Tabla de contenido
Cuando empezamos a trabajar con las bases de datos, normalmente intentamos poner en marcha todas las actividades de desarrollo, sin tomar en consideración la documentación de bases de datos
¿Qué es la documentación de bases de datos?
La documentación de las bases de datos toma un puesto fundamental dentro de todos los proyectos, ya que permite saber a cada uno de los desarrolladores que están inmersos en el proyecto, metainformación para poder preservar la integridad y seguridad de nuestras bases de datos.
Es por ello que hoy te hablaré de los aspectos mínimos a tener en consideración a la hora de realizar la documentación de bases de datos.
Al utilizar bases de datos relacionales, pensamos que la documentación de bases de datos correspondiente sería un diagrama entidad-relación y muchas veces nos parece suficiente esto como único entregable de la documentación de bases de datos, aunque debo admitir que en algunos casos, ni el diagrama elaboramos 😅
Curso de MySQL
¿Entonces no basta con realizar un diagrama entidad-relación? La respuesta a esa pregunta se encuentra totalmente ligada al futuro y escalabilidad de la base de datos, en realidad tal vez podríamos complementar esa pregunta con algunas otras como: ¿En 1 año, bastará con tener un diagrama entidad-relación?, Si se integran desarrolladores al equipo ¿Les bastará un diagrama para poder entender procesos, relaciones, reglas de negocio, respuestas, tipos de datos?
Si la respuesta a las preguntas complementarías es Sí, entonces seguramente con un diagrama entidad-relación basta, sin embargo, si alguna de esas preguntas no te convence o es un No, seguramente tendremos que agregar algunas otras herramientas.
¿Qué es un diagrama entidad-relación?
Un diagrama entidad-relación se puede definir como una representación gráfica de las entidades, las cuales, aplicadas a las bases de datos son nuestras tablas, sus atributos, es decir, sus campos y como se relacionan unas con otras, mediante su tipo de relación o cardinalidad. Un ejemplo podría ser algo como esto
¿Qué es un Diccionario de datos?
Otra herramienta que nos podría ayudar a la hora de documentar nuestra base de datos, son los diccionarios de datos, el cual es una lista de nombres, definiciones y atributos de los campos que componen cada una de las tablas de una base de datos.
Comúnmente, los diccionarios de datos se definen como cuando estamos estructurando los campos de una tabla, por lo que probablemente deberán llevar información como: nombre del campo, tipo de dato, tamaño del campo, descripción, adicional a esto, también podemos agregar información referente a los valores que puede tomar, si estos valores vienen de un catálogo o si las posibles respuestas que esto nos pueda dar.
Por ejemplo, supongamos que tenemos la tabla de usuarios con los siguientes campos: id, name, email, password, phone, status
Campo | Tipo | Values | Descripción | Min Length | Max Length | Key | Autoincrement |
id | Int | [0-9] | Identificador de registro | 11 | 11 | PK | Sí |
name | varchar | [0-9, A-Z] | Nombre del usuario | 5 | 50 | No | No |
varchar | [0-9, A-Z, @] | Correo del usuario | 5 | 50 | No | No | |
password | varchar | [0-9, A-Z] | Contraseña del usuario | 5 | 15 | No | No |
phone | varchar | [0-9] | Teléfono del usuario | 9 | 11 | FK | No |
status | boolean | 0,1 | Estado Activo del usuario | 1 | 1 | No | No |
Con esto, claramente podemos evidenciar para que se está utilizando el campo, qué tipo es, cuales son los valores permitidos, una descripción o comentario del campo, largo mínimo y máximo, si funge como llave y si es primaria o foránea y si es auto incremental
Como puedes observar, esto nos da un panorama todavía más claro, pero a su vez complementario de un diagrama entidad-relación, incluso, si tenemos un buen sistema de versionamiento de nuestra documentación, podríamos ver como van evolucionando las entidades, los atributos y las relaciones de nuestra base de datos a lo largo del tiempo y con ello, un mejor contexto del mismo.
Si bien la documentación de bases de datos puede llegar a ser algo tediosa y que requiere mucha inversión de tiempo, es importante realizarla, ya que muchas acciones o servicios que desarrollemos, probablemente serán consumidos por proveedores, clientes o incluso tendremos que hacer un entregable de ello.
Si te ha gustado este artículo y te aporta valor te pido me sigas en mi:
🖥️ Youtube: https://www.youtube.com/@eightdev?sub_confirmation=1
🎵 Tik Tok: https://www.tiktok.com/@8devmx
✅ Facebook: https://www.facebook.com/8devmx/
📸 Instagram: https://www.instagram.com/8devmx/