Generando el diccionario de datos en SQL Server
Un diccionario de datos es un listado de los datos que se usarán en el sistema. Estos datos se encuentran detallados y pueden ser comprendidos entre los analistas de sistemas y los usuarios que tendrán acceso al documento.
Para generar nuestro diccionario de datos debemos usar una base de datos y ejecutar el siguiente script:
select
d.object_id,
a.name [tabla],
b.name [columna],
c.name [tipo],
CASE
WHEN c.name = 'numeric' OR c.name = 'decimal' OR c.name = 'float' THEN b.precision
ELSE null
END [Precision],
b.max_length,
CASE
WHEN b.is_nullable = 0 THEN 'NO'
ELSE 'SI'
END [Permite Nulls],
CASE
WHEN b.is_identity = 0 THEN 'NO'
ELSE 'SI'
END [Es Autonumerico],
ep.value [Descripcion],
f.ForeignKey,
f.ReferenceTableName,
f.ReferenceColumnName
from sys.tables a
inner join sys.columns b on a.object_id= b.object_id
inner join sys.systypes c on b.system_type_id= c.xtype
inner join sys.objects d on a.object_id= d.object_id
LEFT JOIN sys.extended_properties ep ON d.object_id = ep.major_id AND b.column_Id = ep.minor_id
LEFT JOIN (SELECT
f.name AS ForeignKey,
OBJECT_NAME(f.parent_object_id) AS TableName,
COL_NAME(fc.parent_object_id,fc.parent_column_id) AS ColumnName,
OBJECT_NAME (f.referenced_object_id) AS ReferenceTableName,
COL_NAME(fc.referenced_object_id,fc.referenced_column_id) AS ReferenceColumnName
FROM sys.foreign_keys AS f
INNER JOIN sys.foreign_key_columns AS fc ON f.OBJECT_ID = fc.constraint_object_id) f ON f.TableName =a.name AND f.ColumnName =b.name
WHERE a.name <> 'sysdiagrams'
ORDER BY a.name,b.column_Id
En mi caso usare una base de datos llamada BDCita y el resultado al ejecutar el script fue el siguiente:
Se muestra el listado de los datos como el nombre del objeto, el nombre de la tabla, el campo, el tipo de dato que tiene ese campo, la longitud máxima, si en ese campo permite valores nulos, si es autonumérico, también sobre las claves foráneas y un campo descriptivo para documentar los campos cuando se desee imprimir y enviarlo a otros usuarios.
Publicar un comentario
0 Comentarios