CREACIÓN DE VISTAS
INFORMES Y REPORTES
6
Integridad de Datos en SQL SERVER
Vistas en SQL Server 2005
Creación de Vistas en SQL Server 2005
Informes y Reportes en SQL Server 2005
C O N T E N I D O
1. Integridad de datos en SQL Server 20052. Vistas en SQL Server 2005
3. Creación de Vistas en SQL Server 2005 4. Informes y Reportes en SQL Server 2005
O B J E T I V O S
Proporcionar al lector información básica acerca de integridad de datos.
Desarrollar Vistas en SQL Server 2005 Creación de Vistas en SQL Server 2005
Desarrollar Informes y Reportes en SQL Server 2005
1.
INTEGRIDAD DE LOS DATOSEl primer paso de la especificación de los dominios de una tabla consiste en determinar los tipos de datos de las columnas. Un dominio es el conjunto de todos los valores permitidos en una columna. El dominio no sólo incluye el concepto del tipo de datos aplicables, sino también los valores permitidos en la columna. Por ejemplo, el dominio de la columna
Color de la tabla Production.Product incluye el tipo de datos nvarchar y un límite de tamaño de 15 caracteres. El dominio también podría especificar las cadenas de caracteres admitidas en la columna, como Red, Blue, Green, Yellow, Brown, Black, White, Teal, Gray y Silver. Para obtener más información, veaTipos de datos (motor de base de datos).
Valores NULL
Las columnas pueden aceptar o rechazar valores NULL. NULL es un valor especial en las bases de datos que representa el concepto de un valor desconocido. NULL es diferente de un carácter en blanco ó 0. En realidad, el carácter en blanco es un carácter válido y 0 es un número válido. NULL simplemente representa la idea de que este valor no se conoce. NULL tampoco es lo mismo que una cadena de longitud cero. Si la definición de una columna contiene la cláusula NOT NULL, no se pueden insertar filas que tengan el valor NULL en dicha columna. Si la definición de una columna sólo tiene la palabra clave NULL, acepta valores NULL.
La aceptación de valores NULL en una columna puede aumentar la complejidad de las comparaciones lógicas que utilicen la columna. El estándar ISO determina que las comparaciones con valores NULL no se evalúan como TRUE o FALSE, sino como UNKNOWN.Esto introduce una lógica de tres valores en los operadores de comparación, que puede ser difícil de controlar correctamente.
Restricciones, reglas, valores predeterminados y desencadenadores
Las columnas de tablas tienen otras propiedades además del tipo y el tamaño de datos. Estas otras propiedades son importantes para la consecución de la integridad de los datos y la integridad referencial de las tablas de una base de datos:
La integridad de los datos significa que todas las repeticiones de una columna tienen un valor de datos correcto. Los valores de los datos deben ser del tipo correcto y deben encontrarse en su dominio correspondiente.
La integridad referencial indica que las relaciones entre las tablas se mantienen adecuadamente. Los datos de una tabla sólo deben apuntar a filas existentes de otra tabla y no pueden apuntar a filas inexistentes.
Para mantener los dos tipos de integridad, se utilizan los objetos siguientes:
Restricciones
Reglas
Valores predeterminados
Desencadenadores DML
La exigencia de integridad de los datos garantiza la calidad de los datos de la base de datos. Por ejemplo, si se especifica para un empleado el valor de identificador de 123, la base de datos no debe permitir que ningún otro empleado tenga el mismo valor de identificador. Si tiene una columna
employee_rating para la que se prevean valores entre 1 y 5, la base de datos no debe aceptar valores fuera de ese intervalo. Si en la tabla hay una columna dept_id en la que se almacena el número de departamento del empleado, la base de datos sólo debe permitir valores que correspondan a los números de departamento de la empresa.
Dos pasos importantes en el diseño de las tablas son la identificación de valores válidos para una columna y la determinación de cómo forzar la integridad de los datos en la columna. La integridad de datos pertenece a una de las siguientes categorías:
Integridad de entidad Integridad de dominio Integridad referencial
Integridad definida por el usuario
Integridad de entidad
La integridad de entidad define una fila como entidad única para una tabla determinada. La integridad de entidad exige la integridad de las columnas de los identificadores o la clave principal de una tabla, mediante índices y restricciones UNIQUE, o restricciones PRIMARY KEY.
Integridad de dominio
La integridad de dominio viene dada por la validez de las entradas para una columna determinada. Puede exigir la integridad de dominio para restringir el tipo mediante tipos de datos, el formato mediante reglas y restricciones CHECK, o el intervalo de valores posibles mediante restricciones FOREIGN KEY, restricciones CHECK, definiciones DEFAULT, definiciones NOT NULL y reglas.
Integridad referencial
La integridad referencial protege las relaciones definidas entre las tablas cuando se crean o se eliminan filas. En SQL Server la integridad referencial se basa en las relaciones entre claves externas y claves principales o entre claves externas y claves exclusivas, mediante restricciones FOREIGN KEY y CHECK. La integridad referencial garantiza que los valores de clave sean coherentes en las distintas tablas. Para conseguir esa coherencia, es
preciso que no haya referencias a valores inexistentes y que, si cambia el valor de una clave, todas las referencias a ella se cambien en consecuencia en toda la base de datos.
Cuando se exige la integridad referencial, SQL Server impide a los usuarios:
Agregar o cambiar filas en una tabla relacionada si no hay ninguna fila
asociada en la tabla principal.
Cambiar valores en una tabla principal que crea filas huérfanas en una
tabla relacionada.
Eliminar filas de una tabla principal cuando hay filas relacionadas coincidentes.
Por ejemplo, en las tablas Sales.SalesOrderDetail y Production.Product
de la base de datos AdventureWorks2008R2, la integridad referencial se basa en la relación entre la clave externa (ProductID) de la tabla
Sales.SalesOrderDetail y la clave principal (ProductID) de la tabla
Production.Product. Esta relación garantiza que un pedido de ventas no pueda nunca hacer referencia a un producto que no existe en la tabla
Production.Product.
Integridad definida por el usuario
La integridad definida por el usuario permite definir reglas de empresa específicas que no pertenecen a ninguna otra categoría de integridad. Todas las categorías de integridad admiten la integridad definida por el usuario. Esto incluye todas las restricciones de nivel de columna y nivel de tabla en CREATE TABLE, procedimientos almacenados y desencadenadores.
2.
VISTASUna vista es como una tabla virtual o como una consulta SELECT
almacenada, pero podría imaginársela como un televisor. Cuando ve televisión, normalmente ve gente haciendo diversas actividades. Pero, ¿están estas personas en realidad dentro del televisor?. Puede que lo pensara cuando era pequeño, pero ahora ya sabe que esa gente se encuentra a millones de kilómetros en un estudio. Está viendo personas que en realidad no está ahí; ve una representación de ellas. Las vistas funcionan de una manera muy parecida.
Las vistas se emplean para representar los datos que están almacenados en una tabla, al igual que el televisor representa a una persona que están en un estudio. Una vista tiene más ventajas aparte de mirar los datos almacenados en una tabla.
Ejemplo: Crear una Vista con las tablas: Alumnos.xls, Curso81.xls, 81Notas.xls, Profe.xls.
3.
CREACIÓN DE UNA VISTA EN SQL SERVER 2005
Luego de haber verificado en elExplorador de objetosla existencia de las cuatro tablas: Alumnos.xls, Curso81.xls, 81Notas.xls, Profe.xls, que forman parte de la base de datos BASE, en la ruta C:\X o D:\X, ubique el objeto Vistas haga clic en el botón derecho de mouse y seleccione Nueva vista.
Al hacer clic en el objeto Nueva vista aparecerá la siguiente figura
“Agregar tabla”conteniendo las cuatro tablas indicadas, como la siguiente pantalla:
Aparece la siguiente pantalla:
Continuar agregando las demás tablas hasta tener la siguiente apariencia:
Luego de agregar las tablas, hacer clic en el botónCerrar
Nota.- La tabla maestra es 81Notas; por lo tanto debe estar ubicado casi al centro.
Relacione las tablas tal como se indica a continuación:
Columna Código de la tabla Profe con la columna Codpro de la tabla
81Notas
Columna Codcorto de la tabla Curso81 con la columna Nomcur de la tabla81Notas
Columna Código de la tabla Alumnos con la columna Codalu de la tabla
81Notas
Para relacionar haga clic en el nombre de la columna Código de la tabla
Profe, mantenga presionado el pie izquierdo del mouse y arrástrelo hasta señalar con el puntero del mouse el nombre de la columna Codpro de la tabla81Notas.
Una vez acomodado y relacionado las cuatro tablas, se tiene una pantalla similar a la siguiente:
Pasos para agregar y relacionar tablas:
a. Agregar tablas.- En el cuadro de diálogo Agregar tabla, seleccione la tabla 81notas y haga clic en el botón Agregar, lo mismo haga con las tablas Alumnos, Curso81 y Profe, una vez agregada las cuatro tablas haga clic en el botón Cerrar. Amplíe el Diseñador de vistas, coloque al centro la tabla maestra 81notas, en la parte central, y acomode las otras tres tablas y relacione las cuatro tablas. La relación se realiza con las tres tablasAlumnos, Curso81 y Profe hacia la tabla maestra81Notas.
b. Relacionar tablas.-Para relacionar las tablas haga clic en el nombre del campo de inicio, mantenga pulsado el pie izquierdo y diríjase al nombre del campo final y suelte el mouse.
En vez de los siguientes códigos:
SELECT dbo.Alumnos.CÓDIGO, dbo.Curso81.descripción, dbo.[81notas].notafinal, dbo.Profe.APENOM FROM dbo.[81notas] INNER JOIN
dbo.Alumnos ON dbo.[81notas].codalu = dbo.Alumnos.CÓDIGO INNER JOIN
dbo.Curso81 ON dbo.[81notas].nomcur = dbo.Curso81.Codcorto INNER JOIN
dbo.Profe ON dbo.[81notas].codpro = dbo.Profe.CÓDIGO
Que aparece en el cuadro de texto editor de sintaxis de Transac–SQL, debajo de la cuadrículaColumna, escriba la siguiente consulta:
SELECT N.CODALU,A.APENOM,N.NOMCUR,C.DESCRIPCION,N.GH,
N.NOTAFINAL,N.CODSEM,P.CÓDIGO,P.APENOM FROM[81NOTAS] N,PROFE P,ALUMNOS A,CURSO81 C WHEREN.CODPRO=P.CÓDIGOANDN.CODALU='082920B'
ANDA.CODIGO='082920B'
ANDN.CODCUR=C.CODIGO
Haga clic en el cuadrito izquierdo de la columna descripción de la tabla Cursos81
Grabe la vista con el atajo Ctrl + S o con la secuenciaArchivo > Guardar vista, en su ruta de trabajo.
En el cuadro de diálogoElegir nombre, especifiqueVista_Tarea2_Lab12 y haga clic enAceptar.
Al pulsar el botón Aceptar, aparece la siguiente pantalla:
Para ejecutar la vista que acaba de crear haga lo siguiente: haga clic con el botón derecho en Nueva consulta y escriba el siguiente comando:
USEBASE
SELECT*FROMVISTA_TAREA2_LAB12
4.
INFORMES Y REPORTES EN SQLSERVER 2005
Reporting Services utiliza diversos términos para describir un informe en distintos estados, incluida la definición inicial, el informe publicado y el informe visualizado tal cual aparece ante el usuario.
Archivos de definición de informe (.rdl)
Una definición de informe es un archivo que se crea mediante el Diseñador de informes o el Generador de informes. Esta definición proporciona una descripción completa de conexiones de orígenes de datos, consultas utilizadas para recuperar datos, expresiones, parámetros, imágenes, cuadros de texto, tablas y cualquier otro elementos de tiempo de diseño que podría incluir en un informe.
Las definiciones de informe se representan en un tiempo de ejecución como un informe procesado. Si bien las definiciones de informe pueden ser complejas, como mínimo especifican una consulta y otro contenido del informe, propiedades del informe y un diseño de informe.
Las definiciones de informe se escriben en XML y se ajusta a una gramática XML denominada lenguaje RDL (Report Definition Language). El lenguaje RDL describe los elementos XML, que engloban todas las variantes posibles que puede tener un informe. Para obtener más información sobre las definiciones de informe o el lenguaje RDL, vea Diseñar y crear informesy Report Definition Language.
Informes publicados
Una vez creado un archivo .rdl, éste se publica en un servidor de informes mediante la implementación de una solución de proyecto de informes desde el Diseñador de informes, y se lo guarda desde el Generador de informes o se lo carga mediante el Administrador de informes o SQL Server Management Studio. Un informe publicado es un elemento que se almacena en una base de datos del servidor de informes y se administra en un servidor de informes. El informe se almacena en un formato intermedio parcialmente compilado que lo prepara para que los usuarios puedan obtener acceso a éste.
Un informe publicado se protege mediante asignaciones de funciones utilizando el modelo de seguridad basado en funciones de Reporting Services. Se obtiene acceso a los informes publicados a través de direcciones URL, de partes del sitio Web SharePoint o del Administrador de
informes.
Salvo los informes que se crean y guardan en el Generador de informes, los informes publicados no se pueden editar ni volver a guardar en el servidor de informes.
Informes representados
Un informe representado es un informe totalmente procesado que contiene datos e información de diseño en un formato que permite su visualización (por ejemplo, HTML). Un informe no puede visualizarse hasta que no se haya representado en un formato de salida. El servidor de informes lleva a cabo la representación de informes. Puede representar un informe realizando una de las siguientes acciones:
Abrir un informe publicado desde el servidor de informes.
Suscribirse a un informe, que se entrega a una bandeja de entrada de correo electrónico o a un recurso compartido de archivos en un formato de salida que se especifique.
El formato de representación predeterminado para los informes de Reporting Services es HTML 4.0. Además del formato HTML, los informes pueden representarse en una variedad de formatos de salida, entre los que se incluyen Excel, XML, PDF, TIFF y CSV. Al igual que ocurre con los informes publicados, los informes representados no se pueden editar ni volver a guardar en el servidor de informes.
En este tema se ofrece una descripción avanzada de las características de creación, administración y entrega de informes disponibles en SQL Server 2005 Reporting Services.
Crear informes
Para crear un informe, cree una definición de informe mediante el Diseñador de informes o el Generador de informes. La herramienta de creación que se utilice depende de los requisitos del informe y del nivel de conocimiento del usuario sobre técnicas de creación de informes.
El Diseñador de informes es una herramienta de creación de informes completa que se ejecuta en Business Intelligence Development Studio. Para utilizarla, debe saber cómo conectarse a un origen de datos, generar consultas y establecer propiedades. Puede utilizar el Diseñador de informes para crear informes simples o informes complejos que
incluyan expresiones y ensamblados personalizados para hacerlos compatibles con una funcionalidad personalizada. Puede utilizar el Asistente para informes para crear un informe y luego modificarlo, o generarlo a partir de cero mediante una plantilla de proyecto del servidor de informes.
El Generador de informes proporciona informes ad hoc sobre datos relacionales y multidimensionales mediante orígenes de datos de modelo. Está destinado a usuarios que desean crear informes básicos fácilmente sin escribir consultas. El Generador de informes utiliza modelos y plantillas de informe predefinidos que administran conexiones de datos, consultas y relaciones de datos de modo que los usuarios sólo deban arrastrar y colocar campos de datos en una plantilla para crear informes tabulares o de matriz.
Cree informes en un equipo cliente, distinto del servidor de informes. Una vez que el informe tenga el aspecto deseado, puede publicarlo en un servidor de informes, donde estará disponible para su uso generalizado. Para crear un informe, siga estos pasos:
1. Conéctese a un origen de datos y recupere datos. Puede hacerlo mediante cadenas de conexión y consultas, o bien, creando un modelo de informe que especifique los datos con los que desea trabajar.
2. Cree un diseño de informe. El Generador de informes proporciona plantillas que realizan estos pasos. El Generador de informes proporciona un cuadro de herramientas y una superficie de diseño para que se puedan combinar tablas, matrices, gráficos, elementos gráficos y otros elementos como se desee.
3. Obtenga una vista previa del informe para ver los datos y el diseño juntos y, a continuación, publique el informe en un servidor de informes.
Administrar informes y otros elementos
Una de las principales ventajas de utilizar Reporting Services es la posibilidad de administrar informes y elementos relacionados, como carpetas, conexiones de orígenes de datos y recursos, desde una ubicación centralizada. Puede definir la seguridad, establecer propiedades y programar operaciones. También puede crear programaciones compartidas y orígenes de datos compartidos, y ponerlos a disposición de todos los usuarios. Para administrar informes y el entorno de informes, utilice SQL Server Management Studio o el Administrador de informes. La administración de informes comprende las siguientes tareas:
Organizar el entorno de informes agregando nuevas carpetas para almacenar colecciones de informes.
Habilitar características como Mis informes, el historial del informe y la entrega de informes por correo electrónico.
Proteger el acceso a carpetas e informes mediante la asignación de usuarios y grupos a funciones.
Generar las programaciones compartidas y los orígenes de datos compartidos que desea poner a disposición de todos los usuarios.
Tanto los usuarios como los administradores del servidor de informes pueden administrar informes, pero no del mismo modo. Los usuarios pueden publicar y administrar informes en un área de trabajo personal denominado Mis informes. Los administradores del servidor de informes pueden administrar el espacio de nombres completo de carpetas del servidor de informes. La posibilidad de realizar tareas de administración depende de los permisos de usuario.
Obtener acceso a informes y entregarlos
Reporting Services ofrece dos métodos para obtener acceso a los informes y entregarlos:
El acceso a petición permite a los usuarios seleccionar los informes desde una herramienta de visualización de informes. Puede utilizar el Administrador de informes, una parte de Microsoft SharePoint Web o un explorador.
El acceso basado en suscripciones genera y entrega informes automáticamente a un destino. Puede entregar informes a una bandeja de entrada de correo electrónico o a un recurso compartido de archivos. Para ver un informe a petición, puede buscar o seleccionar un informe de una jerarquía de carpetas, denominada espacio de nombres de carpetas del servidor de informes. Para recibir informes automáticamente, puede suscribirse a un informe específico. Cuando se ejecuta el informe, el usuario recibe una notificación que le indica que el informe está disponible o recibe una copia del mismo en un mensaje de correo electrónico.
Los administradores del servidor de informes pueden generar suscripciones controladas por datos que proporcionan datos a un grupo numeroso de personas. Las suscripciones controladas por datos generan una lista de destinatarios en tiempo de ejecución. En una suscripción controlada por datos, la configuración de entrega se genera a partir de los datos
almacenados (por ejemplo, los de una base de datos de empleados) cuando se desencadena la suscripción.
Reporting Services es compatible con varios formatos de visualización. Al principio los informes se muestran en formato HTML, pero, una vez representado un informe, se puede volver a mostrar en un formato diferente como Excel o PDF.
SQL Server Reporting Services es un conjunto de componentes de procesamiento, herramientas e interfaces de programación que permiten el desarrollo y la utilización de informes completos en un entorno administrado. El conjunto de herramientas incluye herramientas de desarrollo, de configuración y de administración así como herramientas de visualización de informes. Las interfaces de programación incluyen el protocolo simple de acceso a objetos (SOAP), los extremos de direcciones URL e Instrumental de administración de Windows (WMI), para permitir una fácil integración con aplicaciones y portales nuevos o existentes.
El procesamiento se distribuye en múltiples componentes. Para recuperar datos, procesar el diseño de los informes, representar los formatos de presentación y entregar en destinos específicos se utilizan procesadores centralizados y especializados. El procesamiento de una presentación tiene lugar después de recuperar los datos y es independiente del procesamiento de los datos, lo que permite a diversos usuarios consultar el mismo informe simultáneamente en formatos diseñados para distintos servicios o cambiar inmediatamente el formato de visualización del informe, de HTML a PDF, a Microsoft Excel o a XML, con un solo clic. La arquitectura modular se ha diseñado para permitir ampliaciones. Los programadores pueden incluir funciones de informes en aplicaciones personalizadas o ampliar la funcionalidad para hacerla compatible con características personalizadas. El diagrama siguiente muestra los componentes y las herramientas de Reporting Services. El diagrama también muestra cómo se adaptan las herramientas personalizadas al diseño global. Presenta el flujo de solicitudes y datos entre componentes del servidor y los componentes que envían y recuperan contenido de un almacén de datos.
Diagrama de la arquitectura
Temas de información general de componentes
Tema Descripción
Servidor de informes
Describe el componente Servidor de informes, que proporciona datos y permite procesar y entregar informes. El componente Servidor de informes incluye diversos subcomponentes para llevar a cabo funciones específicas. Este tema ofrece una introducción a todos los componentes del servidor de informes.
Administrador de informes
Describe la herramienta de aplicación Web utilizada para tener acceso al contenido de una base de datos del servidor de informes y administrar dicho contenido.
Generador de informes
Describe la herramienta de creación de informes utilizada para crear informes adaptados a cada situación.
Diseñador de informes Describe la herramienta de creación de informes incluida en Reporting Services.
Diseñador de modelos
Describe la herramienta de creación de modelos de informes utilizada para generar modelos de informes adaptados a cada situación.
Herramienta de configuración de Reporting Services
Describe la herramienta de configuración utilizada para implementar y mantener un servidor de informes.
Utilidades de símbolo del sistema del servidor de informes
Describe las utilidades de la línea de comandos que se pueden utilizar para administrar un servidor de informes.
Compatibilidad con exploradores en Reporting Services
Describe los exploradores Web que se pueden utilizar para visualizar informes y ejecutar herramientas basadas en Web.
REFERENCIALES
1. CEVALLOS FCO. JAVIER SIERRA, Enciclopedia de Microsoft Visual C#, Edit. Alfaomega RA-MA, primera edición 2006, México
2. GUNDERLOY MIKE,La Biblia Microsoft SQL Server 2005, Edit. Anaya,2006, España. Multimedia,
3. ROMERO RICARDO,SQL Server 2005, Edit. Ritisa Graff S.R.L., primera edición 2006, Lima Perú.