Está en la página 1de 6

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 rpido acceso a los registros de una tabla en una base de datos. Al
aumentar drsticamente la velocidad de acceso, se suelen usar, sobre
aquellos campos sobre los cuales se hacen frecuentes bsquedas.
El ndice tiene un funcionamiento similar al ndice de un libro, guardando parejas
de elementos: el elemento que se desea indexar y su posicin en la base de
datos. Para buscar un elemento que est indexado, slo hay que buscar en el
ndice dicho elemento para, una vez encontrado, devolver el registro que se
encuentre en la posicin marcada por el ndice.
Los ndices pueden ser creados usando una o ms columnas, proporcionando la
base tanto para bsquedas rpidas al azar como de un ordenado acceso a
registros eficiente.
El espacio en disco requerido para almacenar el ndice es tpicamente 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 cabran 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 acta
como una restriccin en la tabla previniendo filas idnticas en el ndice.

CREACIN DE NDICE

1. Disear el ndice.
El diseo de ndices es una tarea crtica. El diseo de ndices incluye la
determinacin de las columnas que se utilizarn, la seleccin del tipo de
ndice (por ejemplo, agrupado o no agrupado), la seleccin de opciones de
ndice adecuadas y la determinacin de grupos de archivos o de la
ubicacin de esquemas de particin. Para obtener ms informacin,
vea Disear ndices.
2. Determinar el mejor mtodo de creacin.
Los ndices se crean de las siguientes maneras:
Definiendo una restriccin PRIMARY KEY o UNIQUE en una
columna mediante CREATE TABLE o ALTER TABLE
SQL Server Database Engine (Motor de base de datos de SQL
Server) crea automticamente un ndice nico para hacer cumplir los
requisitos de unicidad de una restriccin PRIMARY KEY o UNIQUE.
De forma predeterminada se crea un ndice clster nico para hacer
cumplir una restriccin PRIMARY KEY, a menos que ya exista un
ndice clster en la tabla o que usted especifique un ndice no clster
nico. De forma predeterminada se crea un ndice nico no clster
para hacer cumplir una restriccin UNIQUE a menos que se
especifique de explcitamente un ndice clster nico y no exista un
ndice clster en la tabla.
Tambin se pueden especificar las opciones de ndice, la ubicacin
del ndice, el grupo de archivos o el esquema de la particin.
Un ndice creado como parte de una restriccin PRIMARY KEY o
UNIQUE recibe automticamente el mismo nombre que la
restriccin. Para obtener ms informacin, 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 vaca o en una tabla con datos. La creacin de un ndice en
una tabla vaca no tiene implicaciones de rendimiento en el momento de
creacin del ndice; sin embargo, el rendimiento se ver afectado cuando se
agreguen los datos a la tabla.
La creacin 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 tamao es empezar con el ndice
clster y, a continuacin, generar los ndices no clster. Considere la
posibilidad de establecer la opcin 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 continen consultas o actualizaciones a
la tabla subyacente.

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 agrupacin 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 gnero y su
estado civil (no en cdigo) sera 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 G
WHERE P.COD_ESTADO_CIVIL = E.CODIGO AND P.COD_GENERO =
G.GENEERO
Pero 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
cdigo

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. Ejemplo
CREATE 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 G
WHERE P.COD_ESTADO_CIVIL = E.CODIGO AND P.COD_GENERO =
G.GENEERO
);
Y en una prxima vez que se requiera hacer esa consulta bastara con el siguiente
query:
SELECT * FROM PERSONA_GENERO_ESTADO

CREACIN 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 slo y ser compartido con todos los reportes que creen ms
adelante.
3.- En la siguiente pantalla agregaremos el query que alimentar al reporte, de
momento no recibir parmetros (esto lo veremos en otra entrada), en mi caso
slo he agregado el siguiente query SQL:
SELECT * FROM EMPLEADOS;
Tambin 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 (Slo Columnas) y Matriz con (Columnas y Filas)
escogeremos el tabular de momento.
5.- Ahora podemos elegir el diseo que tendr
6.- En el siguiente paso le podremos asignar una apariencia prediseada 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 diseo del mismo, y podemos editarlo
a gusto, pero como vena diciendo no retocaremos el mismo an. Si
presionamos F5 veremos una vista previa del mismo y debera quedar algo as.
9.- Ahora slo queda implementar en el servidor de produccin, para ello daremos
clic derecho sobre el proyecto y elegimos dicha opcin
10.- Al revisar si ha sido correctamente deployado podemos acceder a la siguiente
ruto: http://servidor/Reports, hacemos clic en el reporte que vern como un link.
11.- Finalmente nos queda slo ver el reporte desde nuestra aplicacin ASP.Net,
para la cual creamos otro proyecto de tipo aplicacin Web.
Lo nico que arrastraremos en la pgina para el ejemplo ser un WebControl
ReportViewver el cual se encargar de mostrarnos lo que acabamos de crear.

También podría gustarte