domingo, 16 de septiembre de 2012

SQL Server - Creación de Vistas

Vistas en SQL Server


Una vista no es mas que una consulta que se le hace a una o varias tablas de donde se puede obtener información como si fuera una sola tabla.

Las vistas no son tablas físicas, son consultas que se realizan al momento de llamar a dicha Vista.
No se puede Insertar, Actualizar ni eliminar información directamente a la vista; hay que actualizar la información de la tabla para que se vea reflejado en la vista.

Sintaxis:  

* Creación de una vista
  Create  View <nombreVista>
  AS
  {<Sentencia SQL>}

* Actualización de una vista

  Alter View <nombreVista>
  AS
  {<Sentencia SQL>}


* Eliminar una vista

  Drop View <nombreVista>



/**************************\
                Ejemplos
\**************************/
Para realizar los ejemplos cabe mencionar que seguiremos utilizando la base de datos dbProyectoDemo creado en el primer post, las tablas que utilizaremos serán las mismas de dicha base de datos.

Ejemplo 1. Seleccionar datos de la tabla Categorias

Create View V_ListarCategorias
As
Select IdCategoria, Descrpcion From Categorias

---> en este ejemplo estamos listando el idCategoria y la Descripcion de manera simple


Ejemplo 2. Seleccion de elementos que pertenecen a productos y categorias.

Create View V_ListarProductosPorCategoria
As
Select
    Categorias.Descripcion as 'DesCategoria', Productos.Descripcion as 'DesProducto',
    Productos.PrecioVenta, Productos.StockActual
    From Categorias, Productos
    Where Categrias.IdCategoria=Productos.IdCategoria

---> en este ejemplo estamos listando los elementos de la tabla categorias y productos enlazados en el Where por el IdCategoria que esta contenido en al tabla Productos.


A estas Consultas se les puede anidar con Inner Join según sea el nivel de conocimiento de la persona que lo realize.

En una vista se le puede poner una condicional pero no se le puede enviar una parametro ni de entrada ni de salida.

Se puede crear vistas con tablas de diferentes bases de datos

Se puede crear una Vista que contenga información de otras vistas tomándolas como si fueran tablas



Mayor Información:
http://msdn.microsoft.com/es-es/library/ms189918(v=sql.105).aspx
http://msdn.microsoft.com/es-es/library/ms187956.aspx
http://users.dsic.upv.es/~jorallo/docent/BDA/castella/tema2efg_4x1.pdf
http://www.devjoker.com/contenidos/Tutorial-SQL-/13/Vistas.aspx




No hay comentarios:

Publicar un comentario