Hola a todos. Este es el primer post que escribo en este blog por lo que es un gran honor que les sirva de algo.
Cada vez que desarrollamos un software, website, o cualquier tipo de aplicativo que maneje una estructura de datos, es NECESARIO, hacer un Diccionario de Datos. Hay diversas formas de hacerlo, yo personalmente ejecuto este script para facilitarme las cosas.
---------------------------------------------------------------------------------
SELECT A.[name] TableName,B.[name] ColumnName, DataType=(CASE C.[name] WHEN 'decimal' THEN C.[name] + '(' + CONVERT(VARCHAR(50),B.precision) +','+ CONVERT(VARCHAR(50),B.scale)+')' ELSE C.[name] + '(' + CONVERT(VARCHAR(50),B.max_length) + ')' END), is_nullable=(CASE B.is_nullable WHEN 0 THEN 'Requerido' ELSE 'Nulable' END), is_identity=(CASE B.is_identity WHEN 1 THEN 'Autonumérico' ELSE 'Manual' END)
FROM sys.tables A INNER JOIN sys.columns B ON (A.object_id=B.object_id)
INNER JOIN sys.types C ON (B.system_type_id=C.system_type_id)
WHERE A.[name] <> 'sysdiagrams'
ORDER BY A.[name]
---------------------------------------------------------------------------------
Este script lo escribi yo y me es de gran ayuda. Sin embargo, lo mejor sería tener una tabla dentro de la base de datos con todos estos datos y 2 campos adicionales: La descripcion de la Tabla y la descripcion de la columna como tal. Llamese descripcion al nombre en criollo o traduccion a un idioma que conozcamos.