You are on page 1of 8

Regional Distrito Capital Sistema de Gestin de la Calidad

GUIA DE APRENDIZAJE CREAR VISTAS CON TRANSACT SQL

REGIONAL DISTRITO CAPITAL CENTRO DE GESTION DE MERCADOS, LOGISTICA Y TECNOLOGIAS DE LA INFORMACION


Sistema de Gestin de la Calidad

Fecha: Febrero 2013 Versin: 1 Pgina 2 de 8

GUIA CREACION DE VISTAS CON TRANSACT SQL

Control del Documento


Nombre Autores Sandra Yanneth Rueda Guevara Elizabeth Zuiga Cargo Dependencia Regional Distrito Capital Regional Distrito Capital Firma Fecha febrero de 2011

Instructor

Asesora Pedaggica Revisin Aprobacin

Formadores Docentes

REGIONAL DISTRITO CAPITAL CENTRO DE GESTION DE MERCADOS, LOGISTICA Y TECNOLOGIAS DE LA INFORMACION


Sistema de Gestin de la Calidad

Fecha: Febrero 2013 Versin: 1 Pgina 3 de 8

GUIA CREACION DE VISTAS CON TRANSACT SQL

1. IDENTIFICACIN DE LA GUIA DE APRENDIZAJE PROGRAMA DE FORMACION: PROYECTO DE ASOCIADO: MODALIDAD DE FORMACION: ACTIVIDAD DEL PROYECTO: ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN - ADSI Aplicacin de la metodologa ETCL(Extraction, Transformation, Clean and Load), en sistemas manejadores de base de datos. Presencial Desarrollar la estructura de datos y la interfaz de usuario del sistema para el banco de proyectos 220501007 02 Construir la base de datos, a partir del modelo de datos determinado en el diseo del sistema, utilizando sistemas de gestin de base de datos, segn los protocolos establecidos en la organizacin. Creacin de vistas en la base de datos, utilizando Transact SQL 20 horas Duracin de la gua de Aprendizaje: 4 horas

RESULTADOS DE APRENDIZAJE:

TAREA DE APRENDIZAJE DURACION

2. CARACTERIZACIN DE LA ACTIVIDAD DE APRENDIZAJE 2.1 Introduccin

Gracias al desarrollo de esta gua se lograr conocer el objetivo y la sintaxis para la creacin de vistas, este aprendizaje se convertir en un apoyo para el desarrollador de bases de datos, puesto que le permitir reducir el volumen de informacin que requiera manipular; adems, obtendr consultas ms rpidamente y optimizar el trabajo en la Base de Datos. Una vista es una tabla lgica, que se crea en la base de datos y existe como un objeto ms de la misma; aunque no tiene existencia fsica, su implementacin permite usarla de la misma manera en la que se usan las tablas. La importancia de su implementacin radica en que el administrador de la base de datos, podr restringir el acceso a datos confidenciales y a los desarrolladores les permitir concentrarse en los datos ms relevantes para las transacciones cotidianas. Adems, es la forma ms conveniente para exportar datos a otras aplicaciones sin que creen dificultades frente al diseo de bases de datos complejas o en la que se requieran consultas heterogneas. Este conocimiento nos permitir mejorar las consultas en la base de Datos de Nuestro Proyecto de Formacin y adicionalmente, simplificar la administracin de los permisos de usuarios, mejorar el rendimiento y organizar los datos que se requieran exportar a otras aplicaciones. 2.2 Tarea de Aprendizaje Utilizando el editor SQLServerManagment Studio, y la base de datos Neptuno:

1. Cree una vista con el nombre del producto y la cantidad total vendida del mismo.

REGIONAL DISTRITO CAPITAL CENTRO DE GESTION DE MERCADOS, LOGISTICA Y TECNOLOGIAS DE LA INFORMACION


Sistema de Gestin de la Calidad

Fecha: Febrero 2013 Versin: 1 Pgina 4 de 8

GUIA CREACION DE VISTAS CON TRANSACT SQL

2. Cree una vista con el nombre del empleado, la edad y el total recaudado en ventas por
cada uno.

3. Cree una vista con el nombre de la categora, el nombre de los productos de cada
categora y los proveedores de cada producto, incluya solo las filas de los productos empacados en botellas (bot). 4. Cree una vista con el cdigo del cliente, el nombre del cliente y el total pagado por cada cliente. 5. Cree una vista con el cdigo del cliente, el nombre de cliente y el porcentaje que el total pagado por cada cliente representa frente al total de todas las ventas registradas. Utilice una subconsultas para obtener el total de todas las ventas y la vista del punto 4 para obtener el porcentaje. 6. crear una vista con las todas las columnas de la tabla productos, y solo las filas en las que el precio unidad es mayor a 20. Adems esta vista debe incluir la instruccin with check option. Insertar en la vista, un registro en el cual incluya como precio unidad 30, tenga en cuenta la integridad de datos. Describa lo que sucede. Insertar en la vista, un registro en el cual incluya como precio unidad 30, tenga en cuenta la integridad de datos. Describa lo que sucede. Cree la sentencia necesaria para modificar, en la vista, el precio unidad a 10 del producto 78, intente ahora cambiarlo a 28. Describa lo que sucede en los dos casos. Describa la utilidad que la instruccin with check option cumple dentro de una vista y explquelo a travs de la experiencia con la insercin y la modificacin. 7. Cree una vista con el requisito Distinct con las regiones de origen de los clientes, omita las filas con valor nulo. Explique con sus palabras la funcionalidad del requisito Distinct, en la creacin de vistas. 8. Agregue al final de cada vista, la sentencia de seleccin que le permita obtener los registros de cada una.

Al finalizar, cree el script para su posterior validacin, recuerde que debe modificar a trae la creacin del script con datos. Las evidencias resultantes son: DE CONOCIMIENTO: Identificar las diferentes instrucciones que se utilizan en la creacin de vistas en las bases de datos. Identificar las utilidades que ofrecen las vistas en las bases de datos DE DESEMPEO: Observacin y valoracin del proceso en la solucin de un ejercicio prctico sobre creacin de una vista, en la que se define nombre de columna, columna calculada, combinacin de tablas y funcin de agregado, de acuerdo con los requerimientos establecidos. Observacin y valoracin del proceso en la solucin de un ejercicio prctico sobre creacin de una vista, en la que se utiliza la instruccin with check option y el requisito Distrinct, de acuerdo con los requerimientos establecidos.

REGIONAL DISTRITO CAPITAL CENTRO DE GESTION DE MERCADOS, LOGISTICA Y TECNOLOGIAS DE LA INFORMACION


Sistema de Gestin de la Calidad

Fecha: Febrero 2013 Versin: 1 Pgina 5 de 8

GUIA CREACION DE VISTAS CON TRANSACT SQL

2.3 Proceso de Aprendizaje Creacin de vistas Los nombres de vistas deben ser nicos para cada usuario entre las tablas y vistas ya existentes. Es posible crear vistas en otras vistas y procedimientos que hagan referencia a vistas; tambin, puede definir claves primarias, externas y comunes en las vistas. No es posible asociar reglas, valores predeterminados ni disparadores a las vistas, ni tampoco crear ndices en ellas. No es posible crear vistas temporales, ni tampoco generar vistas en tablas temporales. Sintaxis para la creacin; a continuacin se muestra la sintaxis completa para la creacin de una vista: create view [[ database .] owner .] view_name [( column_name [, column_name ]...)] as select [distinct] select_statement [with check option] No es necesario especificar nombres de columna en la clusula create de una instruccin de definicin de vista. SQL Server da a las columnas de la vista los mismos nombres y mismos tipos de datos que las columnas a las que se hace referencia en la lista de seleccin de la instruccin select. La lista de seleccin puede ser " * ", como en el ejemplo, o una lista total o parcial de los nombres de columna de las tablas base; sin embargo, si se cumple alguna de las siguientes condiciones, los nombres de columna deben especificarse en la clusula create para todas las columnas de la vista:

Si cualquiera de las columnas de la vista, se deriva de una expresin aritmtica, un agregado,

una funcin incorporada o una constante. Esto hara que, dos o ms columnas de la vista tengan el mismo nombre; suele ocurrir porque la definicin de la vista incluye una combinacin, y las columnas objeto de la combinacin tienen el mismo nombre. Si quiere asignar a una columna de la vista un nombre diferente del de la columna de la que se deriva. Tambin puede cambiar el nombre de las columnas en la instruccin select. Se cambie o no el nombre de una columna de vista, sta hereda el tipo de datos de la columna de la que se deriva.

Se pueden crear vistas que no contengan filas duplicadas. Utilice la palabra clave distinct de la instruccin select para garantizar que cada fila de la vista sea nica. Sin embargo, estas vistas distinct no pueden actualizarse. A continuacin se muestra una instruccin de definicin de vista que cambia el nombre de una columna de la vista de su nombre en la tabla subyacente: CREATE VIEW DetallesView (NumPedido, CodigoPoducto, PrecioUnitario, Cantidad, Descuento) AS SELECT IdPedido, IdProducto, PrecioUnidad, Cantidad, Descuento FROM [Detalles de Pedidos] A continuacin se muestra un mtodo alternativo de creacin de la misma vista, pero cambiando el nombre de las columnas en la instruccin select: CREATE VIEW DetallesView2 AS SELECT IdPedido, CodigoPoducto=IdProducto, PrecioUnidad, Cantidad, Descuento FROM [Detalles de Pedidos]

REGIONAL DISTRITO CAPITAL CENTRO DE GESTION DE MERCADOS, LOGISTICA Y TECNOLOGIAS DE LA INFORMACION


Sistema de Gestin de la Calidad

Fecha: Febrero 2013 Versin: 1 Pgina 6 de 8

GUIA CREACION DE VISTAS CON TRANSACT SQL

Los ejemplos de instrucciones de definicin de vista proporcionados a continuacin, muestran el resto de las reglas para la inclusin de nombres de columnas en la clusula create; tambin se explica la instruccin select, el uso de la palabra clave distinct y la clusula with check option de las definiciones de vista. Uso de la instruccin select con create view Se usa para definir la vista; es necesario tener el permiso select para seleccionar cualquier objeto referenciado en la instruccin select de una vista que se est creando. Una vista no tiene que ser necesariamente un simple subconjunto de filas y columnas de una tabla concreta, como en el ejemplo. Es posible crear una vista a partir de ms de una tabla y otras vistas, con una instruccin select de cualquier grado de complejidad. Existen ciertas restricciones sobre la instruccin select de una definicin de vista: No se pueden incluir clusulas order by ni compute. No se puede incluir la palabra clave into. No se puede hacer referencia a una tabla temporal.

Definicin de vista con proyeccin Para crear una vista con todas las filas de la tabla Productos, pero slo con un subconjunto de sus columnas, escriba la instruccin: CREATE VIEW ProductosView AS SELECT IdProducto, PrecioUnidad, UnidadesEnExistencia FROM Productos Observe que no se incluye ningn nombre de columna en la clusula create view. La vista ProductosView heredar los nombres de columna que aparecen en la lista de seleccin. Definicin de vista con una columna calculada, combinacin de tablas y funcin de agregado: A continuacin se muestra una instruccin de definicin de vista que crea una vista con una columna calculada generada a partir de las columnas PrecioUnidad y Cantidad; ademas, utilizando la funcion SUM, y la combinacin de la tabla Productos y Detalles de pedidos: CREATE VIEW TotalesPedido (Pedido, TotalPedido) as select IdPedido, SUM(cantidad*D.PrecioUnidad) from Productos P inner join [Detalles de pedidos] D ON P.IdProducto=D.IdProducto where D.PrecioUnidad > 20 and Cantidad > 8 Group by IdPedido Vistas distinct Es posible asegurarse de que las filas que contiene una vista son nicas, como en el ejemplo: create view client as select distinct IdCliente from Clientes

REGIONAL DISTRITO CAPITAL CENTRO DE GESTION DE MERCADOS, LOGISTICA Y TECNOLOGIAS DE LA INFORMACION


Sistema de Gestin de la Calidad

Fecha: Febrero 2013 Versin: 1 Pgina 7 de 8

GUIA CREACION DE VISTAS CON TRANSACT SQL

Uso de la palabra clave with check option con create view Normalmente, SQL Server no verifica las instrucciones insert y update en vistas para determinar si las filas afectadas estn dentro del alcance de la vista. Una instruccin puede insertar una fila en la tabla base subyacente pero no en la vista, ni cambiar una fila existente para que deje de cumplir los criterios de seleccin de la vista. Cuando se crea una vista con with check option, cada operacin insert y update realizada mediante la vista se valida segn los criterios de seleccin de la vista. Todas las filas insertadas o actualizadas mediante la vista deben permanecer visibles por medio de sta, o la instruccin no se ejecuta correctamente. A continuacin se muestra un ejemplo de una vista, stores_cal , creada con with check option . Esta vista incluye informacin sobre las tiendas ubicadas en California, pero excluye la informacin sobre las tiendas ubicadas en cualquier otro estado. La vista se crea seleccionando todas las filas de la tabla stores cuya columna state tenga el valor "CA": create view proveedor as select * from Proveedores where Ciudad like 'A%' with check option Cuando se intenta insertar una fila mediante proveedor, SQL Server verifica si la nueva fila se encuentra dentro del alcance de la vista. La siguiente instruccin insert no se ejecuta correctamente porque la fila nueva tendra un valor ciudad de "Bogota", en lugar de "A%": insert proveedor (IdProveedor,NombreCompaa,Ciudad)values (30,'CorPoBer','Bogota') Cuando se intenta actualizar una fila mediante proveedor, SQL Server verifica si la actualizacin no har que la fila desaparezca de la vista. La siguiente instruccin update no se ejecuta correctamente porque cambiara el valor de ciudad de "A%" a "Medellin". Despus de la actualizacin, la fila dejara de estar visible mediante la vista. update proveedor set ciudad = 'Medellin' where IdProveedor = 28 Vistas derivadas de otras vistas Si se crea una vista con with check option , todas las vistas derivadas de la vista "base" deben satisfacer su opcin de verificacin. Cada fila insertada mediante la vista derivada debe estar visible a travs de la vista base. Cada una de las filas actualizadas mediante la vista derivada deben permanecer visibles a travs de la vista base. Considere la vista RegionProveedor, que se deriva de Proveedor. La vista nueva incluye informacin sobre proveedores que tengan nmero de fax. create view RegionProveedor as select * from Proveedor where fax <> 'null'

REGIONAL DISTRITO CAPITAL CENTRO DE GESTION DE MERCADOS, LOGISTICA Y TECNOLOGIAS DE LA INFORMACION


Sistema de Gestin de la Calidad

Fecha: Febrero 2013 Versin: 1 Pgina 8 de 8

GUIA CREACION DE VISTAS CON TRANSACT SQL

La actividad debe ser construida en un documento que contenga: el planteamiento y la sentencia de creacin y utilizacin de la vista solicitada y con el link al Script resultante. 2.4 Ambientes de Aprendizaje La actividad debe desarrollarse en aula dispuesta con equipos de cmputo con la suite de desarrollo y el servidor de base de datos SqlServer 2005 o superior, con acceso a Internet y un Videobeam o Televisor dispuesto para demostraciones o presentacin de contenidos. 2.5 Evaluacin del aprendizaje Para valorar el alcance del resultado de aprendizaje, se tendr en cuenta:

La participacin oportuna del aprendiz en el desarrollo de las sentencias solicitas. Que el aprendiz optimice los recursos del aula en el desarrollo de las actividades propuestas y
este acorde con las normas institucionales. El uso del administrador de SQLServer y la navegabilidad por el mismo. Que la respuesta a preguntas formuladas sobre el tema, durante el desarrollo de las actividades propuestas, este acorde con la lectura y el aprendiz aporte con informacin adicional, si es el caso.

Y por ultimo, la creacin de vistas en la base de datos y la manipulacin de las mismas para dar aportar a los requerimientos del sistema, utilizando adecuadamente las sentencias SQL. 2.6 Conclusiones Se espera conseguir a travs de la realizacin de esta actividad, las competencias necesarias para crear vistas y obtener de manera eficaz las consultas, informes y operaciones para dar cumplimiento a la operatividad de cualquier sistema. 2.7 Bibliografa Estas son algunas referencias adicionales de gran utilidad.

http://64.4.11.252/es-es/library/cc280665%28SQL.100%29.aspx http://manuals.sybase.com/onlinebooks/groupasarc/svs11001/tsqlsp/@Generic__BookTextView/23583;hf=0;lang=es http://64.4.11.252/es-es/library/ms188754%28SQL.100%29.aspx

You might also like