InicioArticulos y noticiasBases de datosProgramaciónForosInternetServiciosContratacionEmail
Tutorial SQL
Introducción SQL
El lenguaje SQL
Componentes del lenguaje SQL
Tablas
Indices
Vistas
Consultar datos. SELECT
Insertar datos. INSERT
Borrado de datos. DELETE
Actualización de datos. UPDATE
Consultas combinadas. JOINS
Consultas agregadas
Subconsultas
También puedes ver ...
Instalar SQL server enterprise en Vista o XP
¿Qué es el Collation en SQL ?
Como encriptar o cifrar cadenas y campos en SQL server 2005 ENCRYPTBYPASSPHRASE y DECRYPTBYPASSPHRASE
SQL Prompt - Intellisense para SQL Server
Borrado de datos. DELETE
Consultas agregadas
Introducción SQL
El lenguaje SQL
Componentes del lenguaje SQL
Tablas


Lenguaje de definición de datos (III)

Vistas

En el modelo de datos relacional la forma de guardar la información no es la mejor para ver los datos

Una vista es una consulta, que refleja el contenido de una o más tablas, desde la que se puede acceder a los datos como si fuera una tabla.

Dos son las principales razones por las que podemos crear vistas.

  • Seguridad, nos pueden interesar que los usuarios tengan acceso a una parte de la información que hay en una tabla, pero no a toda la tabla.
  • Comodidad, como hemos dicho el modelo relacional no es el más comodo para visualizar los datos, lo que nos puede llevar a tener que escribir complejas sentencias SQL, tener una vista nos simplifica esta tarea.

Las vistas no tienen una copia física de los datos, son consultas a los datos que hay en las tablas, por lo que si actualizamos los datos de una vista, estamos actualizando realmente la tabla, y si actualizamos la tabla estos cambios serán visibles desde la vista.

Nota: No siempre podremos actualizar los datos de una vista, dependerá de la complejidad de la misma (dependerá de si el cojunto de resultados tiene acceso a la clave principal de la tabla o no), y del gestor de base de datos. No todos los gestores de bases de datos permiten actualizar vistas, ORACLE, por ejemplo, no lo permite, mientrar que SQL Server si.

arriba


Creación de vistas.

Para crear una vista debemos utilizar la sentencia CREATE VIEW, debiendo proporcionar un nombre a la vista y una sentencia SQL SELECT válida.


CREATE VIEW
<nombre_vista>
AS
(<sentencia_select>);

Ejemplo:Crear una vista sobre nuestra tabla alquileres, en la que se nos muestre el nombre y apellidos del cliente en lugar de su código.


CREATE VIEW vAlquileres
AS
(
SELECT nombre,
       apellidos,
       matricula
FROM tAlquileres,
tClientes 
WHERE ( tAlquileres.codigo_cliente = tClientes.codigo )
)

Si queremos, modificar la definición de nuestra vista podemos utilizar la sentencia ALTER VIEW, de forma muy parecida a como lo haciamos con las tablas. En este caso queremos añadir los campos fx_alquiler y fx_devolucion a la vista.


ALTER VIEW vAlquileres
AS
(
SELECT nombre,
       apellidos,
       matricula,
       fx_alquiler,
       fx_devolucion 
FROM tAlquileres,
tClientes 
WHERE ( tAlquileres.codigo_cliente = tClientes.codigo )
)

Por último podemos eliminar la vista a través de la sentencia DROP VIEW. Para eliminar la vista que hemos creado anteriormente se uitlizaría:


DROP VIEW
vAlquileres;

Una vista se consulta como si fuese una tabla.

arriba


Sinónimos

Un sinónimo es un nombre alternativo que identifica un tabla en la base de datos. Con un sinónimo se pretende normalmente simplicar el nombre original de la tabla, aunque tambien se suelen utilizar para evitar tener que escribir el nombre del propietario de la tabla.

No todas las bases de datos soportan los sinónimos.

Para crear un sinónimo hay uque utilizar la sentencia CREATE SYNONYM especificando el nombre que deseamos utilizar como sinónimo y la tabla para  la que estamos creando el sinónimo.


CREATE SYNONYM
<nombre_sinonimo>
FOR <nombre_tabla>;

Ejemplo: El siguente ejemplo crea el sinónimo Coches para la tabla tCoches.


CREATE SYNONYM
Coches
FOR tCoches;

Para eliminar el sinónimo creado debemos emplear la sentencia DROP SYNONYM.


DROP SYNONYM Coches;

arriba



Inicio | Tutorial SQL IndicesTutorial SQL Consultar datos. SELECT Versión para imprimir Foros de consulta

 
crear sinonimos entres dos tablas de diferentes bases de datos por reny
Respuesta recibida el [05/09/2007 08:12:30]
hola quisiera saber como crear dos tablas de diferentes base de datos

 
Para preguntar utiliza los for... por Devjoker
Respuesta recibida el [05/09/2007 02:18:48]
Para preguntar utiliza los foros 

 
Observacion create view y alter view por CarlosHV
Respuesta recibida el [10/09/2007 09:45:34]
notar que ambos comandos no ejecutan al finalizar con ";" (en el query analizer) como una excepcion a la regla o algo parecido?

 
el ; es opcional por aldeamedia
Respuesta recibida el [10/09/2007 10:26:03]
Carlos el ; es opcional es equivalente a GO

 
Empleado por Guillermo Flores
Respuesta recibida el [16/11/2007 12:33:39]
Excelente la informacion que brindas. Me ha ayudado mucho para realizar una pequeña aplicacion de control de inventarios.

 
hola por alfonso
Respuesta recibida el [07/01/2008 12:22:35]
oye deberias de poner las salidas de las sentencias para ver mas o menos como queda

 
Pregunta por Tonny
Respuesta recibida el [07/02/2008 04:23:21]
oe como puedo relacionar dos tablas k no tiene naa en comun...ni llaves ni naa x el estilo

 
miguel.guerrero@infomedia.com.mx por Miguel Guerrero
Respuesta recibida el [20/02/2008 12:30:14]
No dice como consultar la Vista, puros tutoriales incompletos.

Saludos Cordiales

 
muy bien por marrano
Respuesta recibida el [03/04/2008 06:26:23]
Es una exelente informacion calra y precisa  bien

 
Acceder a una vista por Josue
Respuesta recibida el [18/04/2008 11:09:58]
Esas consultas a las vistas se realizan  como si fuesen tablas...
select ...
from [nombre de la vista]
where ...

 
Gracias por tu explicacion por jid
Respuesta recibida el [21/04/2008 11:20:10]
que buena explicacion gracias!!!!

 
vistas e ndices por edgar
Respuesta recibida el [22/04/2008 01:00:15]
cual es la diferencia entre un indice y una vista, no se entiende

 
perfecto documento, muy instru... por Anónimo
Respuesta recibida el [06/05/2008 06:48:28]
perfecto documento, muy instructivo y claro

 
Actualziar un sinonimo por Francisco Jimenez
Respuesta recibida el [19/06/2008 03:43:26]
Si tengo creado un Sinonimo como lo puedo actualizar

 
como llamo una vista en c# de sqlserve por pati Bello
Respuesta recibida el [20/06/2008 04:54:19]
como llamo una vista en c# de sqlserve, por q quiero hacer un reporte q tenga una condicion de un combo si selecciona algun departamento en especial. y solo muestre articulos de ese departamento

 
NAAA por FRANS
Respuesta recibida el [01/09/2008 12:55:43]
SE SUPONE QUE HABLAS DE UN REFRESACDO PERO NO ES ASI PRUEBA PONIENDOLE UN PARAMETRO A ESA VISTA COMO POR EJEMPLO UN GETDATE() PARA SACAR EN ESA VISTA DATOS DEL DIA ACTUAL 

 
lalalalalaaaaa por lalalal
Respuesta recibida el [25/09/2008 05:33:54]
me la pela todo, lalalalalaaa

 
Chingon tutorial por SQL-C.C++
Respuesta recibida el [03/11/2008 07:22:33]
ESTO CONFIRMA MI AUDACIA SOY CHINGON
Y ESTA INFORMACION ME LO CONFIRMA

JAJAJAJ

 
Zoily por Insertar datos en una vista
Respuesta recibida el [20/02/2009 12:37:26]
Plis por fis puedes detallar más acerca de ingresar datos en una vista ayudamé con unos ejemplos GRACIAS...

 
Para mandar llamar la vista. por R.R. Villanueva
Respuesta recibida el [30/03/2009 09:23:19]
select * from vAlquileres

 
Ver contenido select de la vista por bavaro
Respuesta recibida el [20/04/2009 10:52:53]
Hola, please , necesitaria saber como mostrar el código sql de la select que forma la vista en SQL Server

 
Para ver la definicion de una ... por devjoker
Respuesta recibida el [20/04/2009 11:01:27]
Para ver la definicion de una vista , la "select" 
utilizar el procedimiento almacenado
sp_helptext.
Algo asi: exec sp_helptext 'mivista'

 
Gracias por Frans
Respuesta recibida el [02/05/2009 01:23:55]
Muchas gracias por el informacion, a para esos vagos que todo lo quieren listo, tomenc el tiempo de pasarlo a Word hahaha ¬¬

 
Crear una BD en Sql desde VB 6.0 por Noel
Respuesta recibida el [27/05/2009 07:06:54]
Holas a todos, quisiera saber cuales son los comandos para crear una BD en sql desde vb 6.0 vale decir sus tablas, atributos, tipos de datos sus relaciones y los diferentes motores de datos que las ejecutarían y echo esto, dar mantenimiento a las mismas. Gracias

 
hola a todos, xfa me urge sabe... por Anónimo
Respuesta recibida el [14/07/2009 11:36:55]
hola a todos, xfa me urge saber que es una vista agrupada y una vista compuesta con algunos ejemplos...gracias

 
comando vista por el barbie
Respuesta recibida el [19/08/2009 01:46:29]
se puede crear un comando en sql server donde el usuario lo seleccione y traiga la informacion de una vista que hemos creado????

 
vistas por maria
Respuesta recibida el [06/10/2009 05:15:07]
cuales son las sentencias q no admiten vistas

 
Indices por Juan Andres
Respuesta recibida el [21/10/2009 09:30:47]
Excelente tutorial, es de los mejores que leido para SQL


 
Comentarios por Anonimo
Respuesta recibida el [29/12/2009 02:28:24]
Madre mia, normal que no os respondan, sarta de estupideces que preguntan xD

a ver... lo primero, Para preguntar utiliza los foros, y segundo:

Una vista no es mas que una mascara, igual que el sinonimo, si cambias los datos en la principal, obviamente se cambian en el resto, para que lo entendais, es como vuestros accesos directos a "mis documentos" por ejemplo.

salu2.

 
Cómo tutorial es muy bueno, pe... por VVV
Respuesta recibida el [16/01/2010 01:12:50]
Cómo tutorial es muy bueno, pero hay que entender que es solo eso, un tutorial. Hay algunos que todo lo quieren 'peladito y a la boca' pero también hay que estudiar invertir en libros, cursos y demás... Que se creen que al autor no le ha costado estudio y trabajo??? 
Felicitaciones al autor!!! Excelente tutorial

 
excelente por serge francois sandino
Respuesta recibida el [17/01/2010 04:24:53]
me gusta tu tutorial

 
Como modificar una vista sin alterar la tabla origen por kokherlo
Respuesta recibida el [24/01/2010 10:51:06]
Hola....!!! 
quisiera saber si hay una forma de manejar una vista, pero sin alterar la tabla original?? necesito estar alterando las vistas de una tabla, pero todas deben ser independientes entre si...

grax...

 
quelim por quelim
Respuesta recibida el [02/02/2010 05:25:59]
quelim


Añadir comentario ... Para preguntar utiliza los foros
Autor:

Título:


Para preguntar utiliza los foros.



Inicio | Tutorial SQL IndicesTutorial SQL Consultar datos. SELECT Versión para imprimir

Vistas
Autor: Pedro Herrarte Sánchez
Visitas: 125962 Fecha de publicación: 22/10/2005
Pedro Herrarte, es consultor independiente, ofreciendo servicios de consultoría, análisis, desarrollo y formación.

Posee mas de diez años de experiencia trabajando para las principales empresas de España.

Es especialista en tecnologías .NET, entornos Web, bases de datos (SQL Server y ORACLE) e integración de sistemas.

Es experto en desarrollo (C#, ASP.NET, VB.Net, T-SQL, PL/SQL, , ASP, CGI , C, Pro*C, Java, Essbase, Vignette, PowerBuilder y Visual Basic ...) y bases de datos (SQL Server y ORACLE).

Es fundador, diseñador y programador de www.devjoker.com.




Visitas: 110 | Comentarios: 3 | Archivo: Articulos
02/02/2010 iPad vs Telesketch
Visitas: 809 | Comentarios: 2 | Archivo: Articulos
Categorias: Humor
Visitas: 765 | Comentarios: 3 | Archivo: Articulos
Visitas: 3177 | Comentarios: 2 | Archivo: Articulos
Categorias: C#
Visitas: 14564 | Comentarios: 7 | Archivo: Articulos
Categorias: C#|Seguridad
Visitas: 1499 | Comentarios: 3 | Archivo: Articulos
Visitas: 695 | Comentarios: 2 | Archivo: Articulos
Visitas: 369 | Comentarios: 0 | Archivo: Articulos
Visitas: 2034 | Comentarios: 2 | Archivo: Articulos
Categorias: C#

Útimos temas recibidos en los foros ...
peticion urgente mi nombre es juan pablo osorio cardona cc 71115218 por juancho ... [Actualidad] 0 14/03/2010
peticion por juancho ... [Actualidad] 0 14/03/2010
estrato de pencion por carlos antonio mateus gomez ... [Actualidad] 0 14/03/2010
quiero aprender c# por alcapego ... [C#] 4 16/02/2008
certificado pensiones horizonte por angela patricia rodriguez ... [Actualidad] 140 26/01/2010
certificado de penciones y cesantias por fredy ... [Actualidad] 2 29/01/2010
certificado por jhon jairo vargas ... [Actualidad] 1 13/03/2010
devolver consulta en form builder de oracle con like por cesar10lb ... [ORACLE] 0 13/03/2010
certificado de cesantias horizonte por yeimmy ... [Actualidad] 4 13/03/2010
solicito certificado de pensiones y sesantias para laborar por maria eugenia garcia m. ... [Actualidad] 0 13/03/2010
certificado de fondos de pensiones horizonte por mona ... [Actualidad] 6 03/03/2010
certificado pensiones por nelly moreno ... [Actualidad] 0 13/03/2010

Access CGI JSP ORACLE UNIX
Actualidad HTML/DHTML/XHTML LINUX PHP Visual Basic .NET
ASP ISAPI MS DOS Power Builder Visual Basic 6.0
ASP.NET Java mySQL SQL WIN 98/NT/2000/XP
C# JavaScript Opinion SQL Server

devjoker  Te recomendamos además ...
22/10/2005 Consultar datos. SELECT    forma parte de...Tutorial SQL
19/08/2006 Virtualización. Maquinas Virtuales.
04/03/2006 Bloques PL/SQL    forma parte de...Tutorial PL/SQL
22/03/2008 Problemas al conectar a redes wifi con Windows Vista
13/10/2006 Destructores    forma parte de...Tutorial C#
13/11/2006 Excepciones    forma parte de...Tutorial C#
01/04/2006 Estructuras de control en PL/SQL    forma parte de...Tutorial PL/SQL
12/06/2007 Estructuras de control en Transact SQL    forma parte de...Tutorial de Transact SQL
26/08/2007 Transacciones en Transact SQL    forma parte de...Tutorial de Transact SQL
19/10/2005 Una clase sencilla para encriptar cadenas de texto.

 

Encuesta
¿A que perfil te adaptas mejor?




[Ver] [Votar]