Muchos sistemas de bases de datos no permiten comentarios o descripciones de tablas y campos, entonces, ¿cómo se puede documentar el propósito de una tabla/campo aparte de lo obvio de tener buenas convenciones de nomenclatura?¿Cómo documenta la estructura de su base de datos?
(Supongamos por ahora que "excelentes" nombres de tabla y campo no son suficientes para documentar el pleno significado de cada mesa, el campo y las relaciones en la base de datos.)
Sé que muchas personas usan diagramas UML para visualizar la base de datos, pero rara vez tengo — si alguna vez — he visto un diagrama UML que incluye comentarios de campo. Sin embargo, tengo una buena experiencia con el uso de comentarios dentro de los archivos .sql
. La desventaja de este enfoque es que requiere que los archivos .sql
se mantengan actualizados manualmente a medida que la estructura de la base de datos cambia con el tiempo —, pero si lo hace, también puede tenerlo bajo control de versión.
Algunas otras técnicas que he visto son documentos separados que describen la estructura y las relaciones de la base de datos y los comentarios mantenidos manualmente dentro del código ORM u otro código de mapeo de bases de datos.
¿Cómo ha resuelto este problema en el pasado? ¿Qué métodos existen y cuáles son los diversos pros y contras asociados con ellos? ¿Cómo te gustaría que esto se resuelva en "un mundo perfecto"?
actualización
Como otros han señalado, la mayoría de los motores SQL populares sí permiten a los comentarios, que es grande. Por extraño que parezca, la gente no parece estar usando estas características mucho. Al menos no en los proyectos en los que he estado involucrado en el pasado.
Es bastante sencillo escribir un script que extraiga la estructura y los comentarios de una base de datos MySQL y producen un conjunto de documentos HTML que describen la base de datos. –
Estoy buscando ese script. Escrito. – greenoldman
Uso [Toad] (http://www.quest.com/toad-data-modeler/) para hacer que mis diagramas, informes y eventos sean creados o eliminados. Hay una versión freeware. No es un guión, pero funciona bien para esta copia – Termiux