reporte de practica

8
ÍNDICE El índice de una base de datos es una estructura de datos que mejora la velocidad de las operaciones, por medio de identificador único de cada fila de una tabla, permitiendo un rápido acceso a los registros de una tabla en una base de datos. Al aumentar drásticamente la velocidad de acceso, se suelen usar, sobre aquellos campos sobre los cuales se hacen frecuentes búsquedas. El índice tiene un funcionamiento similar al índice de un libro, guardando parejas de elementos: el elemento que se desea indexar y su posición en la base de datos. Para buscar un elemento que esté indexado, sólo hay que buscar en el índice dicho elemento para, una vez encontrado, devolver el registro que se encuentre en la posición marcada por el índice. Los índices pueden ser creados usando una o más columnas, proporcionando la base tanto para búsquedas rápidas al azar como de un ordenado acceso a registros eficiente. El espacio en disco requerido para almacenar el índice es típicamente menor que el espacio de almacenamiento de la tabla (puesto que los índices generalmente contienen solamente los campos clave de acuerdo con los que la tabla será ordenada, y excluyen el resto de los detalles de la tabla), lo que da la posibilidad de almacenar en memoria los índices de tablas que no cabrían en ella. En una base de datos relacional un índice es una copia de una parte de la tabla. Los índices pueden ser definidos como únicos o no únicos. Un índice único actúa como una restricción en la tabla previniendo filas idénticas en el índice.

Upload: irving-sakay-garcia-mendo

Post on 12-Jan-2016

215 views

Category:

Documents


1 download

DESCRIPTION

Un trabajo más

TRANSCRIPT

Page 1: Reporte De practica

ÍNDICE El índice de una base de datos es una estructura de datos que mejora la velocidad de las operaciones, por medio de identificador único de cada fila de una tabla, permitiendo un rápido acceso a los registros de una tabla en una base de datos. Al aumentar drásticamente la velocidad de acceso, se suelen usar, sobre aquellos campos sobre los cuales se hacen frecuentes búsquedas.

El índice tiene un funcionamiento similar al índice de un libro, guardando parejas de elementos: el elemento que se desea indexar y su posición en la base de datos. Para buscar un elemento que esté indexado, sólo hay que buscar en el índice dicho elemento para, una vez encontrado, devolver el registro que se encuentre en la posición marcada por el índice.

Los índices pueden ser creados usando una o más columnas, proporcionando la base tanto para búsquedas rápidas al azar como de un ordenado acceso a registros eficiente.

El espacio en disco requerido para almacenar el índice es típicamente menor que el espacio de almacenamiento de la tabla (puesto que los índices generalmente contienen solamente los campos clave de acuerdo con los que la tabla será ordenada, y excluyen el resto de los detalles de la tabla), lo que da la posibilidad de almacenar en memoria los índices de tablas que no cabrían en ella. En una base de datos relacional un índice es una copia de una parte de la tabla.

Los índices pueden ser definidos como únicos o no únicos. Un índice único actúa como una restricción en la tabla previniendo filas idénticas en el índice.

Page 2: Reporte De practica

CREACIÓN DE ÍNDICE

1. Diseñar el índice.El diseño de índices es una tarea crítica. El diseño de índices incluye la determinación de las columnas que se utilizarán, la selección del tipo de índice (por ejemplo, agrupado o no agrupado), la selección de opciones de índice adecuadas y la determinación de grupos de archivos o de la ubicación de esquemas de partición. Para obtener más información, vea Diseñar índices.

2. Determinar el mejor método de creación. Los índices se crean de las siguientes maneras:

Definiendo una restricción PRIMARY KEY o UNIQUE en una columna mediante CREATE TABLE o ALTER TABLESQL Server Database Engine (Motor de base de datos de SQL Server) crea automáticamente un índice único para hacer cumplir los requisitos de unicidad de una restricción PRIMARY KEY o UNIQUE. De forma predeterminada se crea un índice clúster único para hacer cumplir una restricción PRIMARY KEY, a menos que ya exista un índice clúster en la tabla o que usted especifique un índice no clúster único. De forma predeterminada se crea un índice único no clúster para hacer cumplir una restricción UNIQUE a menos que se especifique de explícitamente un índice clúster único y no exista un índice clúster en la tabla.También se pueden especificar las opciones de índice, la ubicación del índice, el grupo de archivos o el esquema de la partición.Un índice creado como parte de una restricción PRIMARY KEY o UNIQUE recibe automáticamente el mismo nombre que la restricción. Para obtener más información, vea Restricciones PRIMARY KEY y Restricciones UNIQUE.

3. Crear el índice.

Un factor importante que debe tenerse en cuenta es si el índice se creará en una tabla vacía o en una tabla con datos. La creación de un índice en una tabla vacía no tiene implicaciones de rendimiento en el momento de creación del índice; sin embargo, el rendimiento se verá afectado cuando se agreguen los datos a la tabla.La creación de índices en tablas grandes debe planearse con cuidado para que el rendimiento de la base de datos no se vea afectado. La mejor manera de crear índices en tablas de gran tamaño es empezar con el índice clúster y, a continuación, generar los índices no clúster. Considere la posibilidad de establecer la opción ONLINE en ON cuando cree índices en tablas existentes. Cuando se establece en ON, los bloqueos a largo plazo no se retienen, lo que permite que continúen consultas o actualizaciones a la tabla subyacente.

Page 3: Reporte De practica

VISTAS

 

La vista es una tabla virtual, que es el resultado de una consulta SQL en las que se carga los datos en el momento de ser llamada. La vista puede tener datos de una tabla o de la agrupación de varias tablas. El objetivo de estas vistas es agilizar el proceso de consulta a una base de datos.

Para entender este tema un poco mejor vamos a tomar como ejemplo, el siguiente modelo de datos

 

Si se tuviera que hacer un reporte de este modelo, donde aparecieran los siguientes datos el nombre (nombres y apellidos) de la persona, su género y su estado civil (no en código) sería necesario hacer una consulta de este tipo:

SELECT P.CODIGO 'CODIGO', P.PRIMER_NOMBRE 'PRIMER NOMBRE', P.SEGUNDO_NOMBRE 'SEGUNDO NOMBRE', P.PRIMER_APELLIDO 'PRIMER APELLIDO', P.SEGUNDO_APELLIDO 'SEGUNDO APELLIDO', E.DESCRIPCION 'ESTADO CIVIL',G.DESCRIPCION 'GENERO'FROM PERSONA P, ESTADO_CIVIL E, GENERO GWHERE P.COD_ESTADO_CIVIL = E.CODIGO AND P.COD_GENERO = G.GENEEROPero al ver que es frecuente este tipo de reportes, se ve la necesidad de crear una vista para guardar la consulta SQL. Para crear una vista se utilizara el siguiente código

Page 4: Reporte De practica

CREATE OR REPLACE VIEW NOMBRE_VISTA AS(– En este espacio va la consulta SQL que se realiza con

Frecuencia

);

Donde CREATE OR REPLACE (OR REPLACE es opcional pero recomendable, para que la remplace en caso de que exista) lo que hace es crear o remplazar la vista y NOMBRE_VISTA es el nombre que se le desee dar a la vista. EjemploCREATE OR REPLACE VIEW PERSONA_GENERO_ESTADO AS(SELECT P.CODIGO 'CODIGO', P.PRIMER_NOMBRE 'PRIMER NOMBRE', P.SEGUNDO_NOMBRE 'SEGUNDO NOMBRE', P.PRIMER_APELLIDO 'PRIMER APELLIDO', P.SEGUNDO_APELLIDO 'SEGUNDO APELLIDO', E.DESCRIPCION 'ESTADO CIVIL', G.DESCRIPCION 'GENERO'FROM PERSONA P, ESTADO_CIVIL E, GENERO GWHERE P.COD_ESTADO_CIVIL = E.CODIGO AND P.COD_GENERO = G.GENEERO); Y en una próxima vez que se requiera hacer esa consulta bastaría con el siguiente query:

SELECT * FROM PERSONA_GENERO_ESTADO

Page 5: Reporte De practica

CREACIÓN DE REPORTES

1.- Suponiendo que ya tenemos instalado correctamente nuestro servidor de

reportes con SQL Server 2008, iniciaremos abriendo el Visual Studio y crearemos

un nuevo proyecto del tipo Business Intelligence y seleccionamos la plantilla de

Servidor de Impresiones.

2.- Ahora necesitamos crear el Data Source o la fuente de datos que alimentará a

nuestros reportes, aquí podemos crear varios y administrarlos de manera

independiente e incluso conectarlos a distintos servidores, pero para éste caso

crearemos uno sólo y será compartido con todos los reportes que creen más

adelante.

3.- En la siguiente pantalla agregaremos el query que alimentará al reporte, de

momento no recibirá parámetros (esto lo veremos en otra entrada), en mi caso

sólo he agregado el siguiente query SQL:

SELECT * FROM EMPLEADOS;

También pueden optar por crear el query con el asistente que trae si lo desean.

4.- Una vez hecho esto el asistente nos ofrece seleccionar un tipo de informe pre

hecho de tipo Tabular (Sólo Columnas) y Matriz con (Columnas y Filas)

escogeremos el tabular de momento.

5.- Ahora podemos elegir el diseño que tendrá

6.- En el siguiente paso le podremos asignar una apariencia prediseñada que al

final podemos cambiarla a nuestro parece y gusto.

7.- Ya casi terminando los pasos nos queda poner el nombre del reporte, y luego

el servidor donde vamos a deployar los reportes.

8.- Ahora ya veremos en el Visual Studio el diseño del mismo, y podemos editarlo

a gusto, pero como venía diciendo no retocaremos el mismo aún. Si

presionamos F5 veremos una vista previa del mismo y debería quedar algo así.

Page 6: Reporte De practica

9.- Ahora sólo queda implementar en el servidor de producción, para ello daremos

clic derecho sobre el proyecto y elegimos dicha opción

10.- Al revisar si ha sido correctamente deployado podemos acceder a la siguiente

ruto: http://servidor/Reports, hacemos clic en el reporte que verán como un link.

11.- Finalmente nos queda sólo ver el reporte desde nuestra aplicación ASP.Net,

para la cual creamos otro proyecto de tipo aplicación Web.

Lo único que arrastraremos en la página para el ejemplo será un WebControl

ReportViewver el cual se encargará de mostrarnos lo que acabamos de crear.