Está en la página 1de 4

Actividad

Administrador de base de datos [Nivel 4]


Lección 1 / Actividad 1
Documentación e indizado de bases de datos

IMPORTANTE

Para resolver tu actividad, guárdala en tu computadora e imprímela.

Si lo deseas, puedes conservarla para consultas posteriores ya que te sirve


para reforzar tu aprendizaje. No es necesario que la envíes para su revisión.

Propósito de la actividad

Documentar y respaldar una base de datos existente por medio de


comentarios y scripts. Editar y agregar índices de tabla a las consultas para
hacer más eficiente su búsqueda.

Practica lo que aprendiste

I. Documenta la base de datos Northwind

a) Agrega un comentario que describa los siguientes objetos de la base


de datos
Procedimientos
 CustOrderHist
 CustOrdersDetail
 CustOrdersOrders
 Employee Sales by Country
 Sales by Year
 SalesByCategory
 Ten Most Expensive Products

Funciones
 fn_diaSem
 fn_mes
Actividad

Para acceder a los scripts para documentar estos objetos de una base
de datos en SQL Server sigue estos pasos:

1. Despliega tu base de datos en el explorador de objetos.


2. Despliega la carpeta Programación y encuentra la carpeta de
Procedimientos almacenados o Función ya sea el caso.
3. Haz clic derecho en el procedimiento almacenado o función que
quieras documentar y selecciona Modificar.
4. Inserta el comentario que describa su funcionamiento, en el script
que se desplegó y da clic en ejecutar para guardar los cambios.

b) Crea el siguiente procedimiento almacenado en Northwind, que te


servirá para enlistar el nombre y la descripción de cada objeto
documentado de la base de datos

--Descripcion: Procedimiento encargado de desplegar la descripcion de


los objetos de la BD
CREATE PROCEDURE [dbo].[DescripcionObjetos]
AS
SET NOCOUNT ON
DECLARE @DESCRIPCION VARCHAR(4000)
CREATE TABLE #helptext
(
[Text] VARCHAR(4000) NULL
);
DECLARE ShowComentsAll CURSOR
FOR
SELECT sysusers.[name] + '.' + sysobjects.[name] AS FullName
FROM sysobjects
INNER JOIN sysusers ON sysobjects.uid = sysusers.uid
WHERE xtype in ('P', 'V', 'FN')
ORDER BY xtype, FullName
OPEN ShowComentsAll
DECLARE @name VARCHAR(250)

FETCH NEXT FROM ShowComentsAll INTO @name


WHILE @@fetch_status = 0
BEGIN

DELETE #helptext
SET @DESCRIPCION = NULL
INSERT INTO #helptext
exec sp_helptext @name

SELECT @DESCRIPCION = [text]


FROM #helptext
WHERE [text] LIKE '--Descripcion:%'
IF (@DESCRIPCION IS NOT NULL)
BEGIN
PRINT @NAME
PRINT @DESCRIPCION
END
Actividad

FETCH NEXT FROM ShowComentsAll INTO @name


END
CLOSE ShowComentsAll
DEALLOCATE ShowComentsAll
DROP TABLE #helptext

c) Ejecuta el procedimiento almacenado de la siguiente forma:

execute DescripcionObjetos

El resultado que debes obtener es parecido al siguiente, pero con la


descripción de todos los objetos.

d) Documenta los cambios en la base de datos y sigue estos pasos


para generar el script de toda la base de datos:
1. Localiza la base de datos a documentar, en el explorador de
objetos.
2. Haz clic derecho en la base de datos, desplaza el cursor hasta
tareas y selecciona Generar script.
3. Selecciona las bases de datos.
4. Selecciona los tipos de objetos que deseas documentar y
todo el contenido de cada objeto.
5. Una vez que hayas seleccionado todos los objetos, en Opción
de Salida, selecciona Generar Script en la ventana Nueva de
consulta y presiona Finalizar.
6. Agrega el encabezado al script y guárdalo en un lugar
seguro.
Actividad

II. Realiza una propuesta para optimizar las consultas utilizando índices en
el siguiente caso:

a) El gerente de ventas de la tienda Northwind ha notado que su base


de datos cada vez tarda más en traer los resultados cuando busca
clientes por Nombre (CompanyName), este tipo de búsqueda es el
más frecuente, seguido de las búsquedas por número telefónico
(Phone). ¿Qué tipo de índices utilizarías y a que campos de la tabla
de clientes (Customers) se los aplicarías?

b) Escribe los comandos con la sintaxis correcta que necesitas para


aplicar tu propuesta a la base de datos de Northwind y después
ejecútalos.

También podría gustarte