Sei sulla pagina 1di 4

Actividad

Administrador de base de datos [Nivel 4]


Leccin 1 / Actividad 1
Documentacin e indizado de bases de datos
IMPORTANTE
Para resolver tu actividad, gurdala en tu computadora e imprmela.
Si lo deseas, puedes conservarla para consultas posteriores ya que te sirve
para reforzar tu aprendizaje. No es necesario que la enves para su revisin.
Propsito 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 ms eficiente su bsqueda.
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 Programacin y encuentra la carpeta de
Procedimientos almacenados o Funcin ya sea el caso.
3. Haz clic derecho en el procedimiento almacenado o funcin 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 descripcin 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


descripcin 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 Opcin
de Salida, selecciona Generar Script en la ventana Nueva de
consulta y presiona Finalizar.
6. Agrega el encabezado al script y gurdalo 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 ms en traer los resultados cuando busca
clientes por Nombre (CompanyName), este tipo de bsqueda es el
ms frecuente, seguido de las bsquedas por nmero telefnico
(Phone). Qu tipo de ndices utilizaras y a que campos de la tabla
de clientes (Customers) se los aplicaras?

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


aplicar tu propuesta a la base de datos de Northwind y despus
ejectalos.