You are on page 1of 4

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL


CARRERA DE INGENIERÍA SISTEMAS COMPUTACIONALES E INFORMATICOS
MARZO 2019 – SEPTIEMBRE 2019
AMBATO-ECUADOR

UNIVERSIDAD TÉCNICA DE AMBATO


Facultad de Ingeniería en Sistemas, Electrónica e Industrial

Título: DICCIONARIO DE DATOS


Carrera: Ingeniería en Sistemas Computacionales e
Informáticos
Área Académica: Desarrollo de Software
Línea de Investigación: Software
Nivel y Paralelo: Quinto Sistemas “A”
Estudiante: Remigio Chagmana
Módulo y Docente: Base de Datos II - Ing. Hernán Naranjo
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE INGENIERÍA SISTEMAS COMPUTACIONALES E INFORMATICOS
MARZO 2019 – SEPTIEMBRE 2019
AMBATO-ECUADOR

DICCIONARIO DE DATOS

Durante la creación, SQL Server crea estructuras de objetos adicionales dentro de los datafiles

 Tablas del diccionario de datos


 Tablas dinámicas de rendimiento

El diccionario de datos es un conjunto de tablas de sólo lectura y vistas que registran, verifican y
proveen información sobre una base de datos [1]

 Describen la base de datos y sus objetos


 Incluyen dos tipos de objetos
o Tablas Base
o Descripción de almacenamiento de la BD
o Creadas con CREATE DATABASE
 Vistas de Diccionario de Datos
o Información resumida de tablas base
o Creadas usando el script catalog.sql

APLICACIÓN DEL DICCIONARIO DE DATOS A LA BASE DE DATOS GESTION_MEDICINA


USE GESTION_MEDICINA
GO

SELECT
SCHEMA_NAME(o.schema_id) AS Esquema,
O.Name AS Tabla,
P1.Value AS [Descripción Tabla],
--Column_id AS [Col ID],
C.Name AS Columna,
T.Name AS Tipo,
C.max_length AS Longitud,
C.[Precision] AS Presición,
C.scale AS Escala,
CASE
WHEN C.Is_Nullable = 0 Then
'No'
WHEN C.Is_Nullable = 1 Then
'Si'
END [Nulo?],
P2.value AS [Descripción Col]
FROM
sys.tables O
INNER JOIN sys.Columns C
ON O.object_id = C.object_id
INNER JOIN sys.Types T
ON C.system_type_id = T.system_type_id
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE INGENIERÍA SISTEMAS COMPUTACIONALES E INFORMATICOS
MARZO 2019 – SEPTIEMBRE 2019
AMBATO-ECUADOR

AND C.system_type_id = T.user_type_id


LEFT JOIN sys.extended_properties P1
ON C.object_id = P1.major_id
AND P1.minor_id = 0
LEFT JOIN sys.extended_properties P2
ON C.object_id = P2.major_id
AND C.Column_id = P2.minor_id
AND P2.Class = 1
ORDER BY
O.Name,
C.Column_id
GO

Se observa en el resultado la estructura de las tablas, pero las


columnas Descripción Tabla y Descripción Col contienen datos nulos. Es aquí
donde hay que ponerle un poco de trabajo para poder actualizar la descripción de
todas las tablas y columnas. Pero es un trabajo de una sola vez. Después de eso
solo toca actualizar.
Para poder actualizar las descripciones de tabla y columnas se usa el procedimiento
almacenado del sistema sp_addextendedproperty, el cual permite actualizar las
propiedades extendidas de un objeto, como por ejemplo, la descripción. A
continuación un ejemplo de como agregar la descripción de la tabla PACIENTES:
--Ingresar Descripcion de Tabla
EXEC sys.sp_addextendedproperty
@name='MS_Description',
@value='Tabla 1 de prueba de diccionario de datos' ,
@level0type='SCHEMA',
@level0name='dbo',
@level1type='TABLE',
@level1name='PACIENTES'
GO
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE INGENIERÍA SISTEMAS COMPUTACIONALES E INFORMATICOS
MARZO 2019 – SEPTIEMBRE 2019
AMBATO-ECUADOR

A continuación un ejemplo de como agregar la descripción de columna DIRECCION de la


tabla PACIENTES:

--Ingresar Descripción de campo


EXEC sp_addextendedproperty
@name='MS_Description',
@value='NUEVA LOJA' ,
@level0type='SCHEMA',
@level0name='dbo',
@level1type='TABLE',
@level1name='PACIENTES',
@level2type='COLUMN',
@level2name='DIRECCION'
GO

Volvemos a ejecutar la consulta para obtener el diccionario y este es el resultado:

Bibliografía

[1] DuoucCuc, «Uso y contenido del Diccionario de».

You might also like