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

Afiliados
La Web del programador
MundoProgramacion


 

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


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: 71490 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: 49 | Comentarios: 0 | Archivo: Articulos
Visitas: 109 | Comentarios: 0 | Archivo: Articulos
Visitas: 158 | Comentarios: 0 | Archivo: Articulos
Categorias: ASP.NET
Visitas: 34 | Comentarios: 0 | Archivo: Articulos
Categorias: TFS
Visitas: 285 | Comentarios: 1 | Archivo: Articulos
Categorias: Visual Basic .NET|C#
Visitas: 844 | Comentarios: 2 | Archivo: Articulos
Categorias: C#|ASP.NET|HTML DHTML|XML|JavaScript|ASP.NET|ASP|PHP|Visual Studio
Visitas: 712 | Comentarios: 1 | Archivo: Articulos
Categorias: Administración|Tutorial SQL
Visitas: 452 | Comentarios: 0 | Archivo: Articulos
Categorias: ASP.NET
Visitas: 1057 | Comentarios: 1 | Archivo: Articulos
Categorias: ASP.NET|CSS|ASP.NET
Visitas: 251 | Comentarios: 0 | Archivo: Articulos
Categorias: TFS

Útimos temas recibidos en los foros ...
autogenerado de sugero social de salud por noemi ... [Visual Basic .NET] 15 29/06/2008
FORMULARIO ACCESS por jcifuentes ... [Access] 11 29/05/2007
Ysmael por Ysmael ... [SQL] 0 08/01/2009
Reflection por Maurito22 ... [C#] 2 06/01/2009
Programador por Robert ... [ORACLE] 0 07/01/2009
como insertar registros en un formulario de visual basic.net desde la base de datos sql server por orlan ... [SQL Server] 8 09/06/2008
quierocodigo de autogenerado del seguro por edwin garcia ramirez ... [Visual Basic .NET] 0 07/01/2009
Video gratis sobre AJAX con ASP.NET por alexxe ... [ASP.NET] 1 06/01/2009
calcular saldo acumulativo por cben ... [SQL] 5 30/12/2008
comparar 2 campos de 2 tablas usando el like por nani ... [SQL Server] 1 06/01/2009
Apagar ordenador remoto en C# por victoryiyo ... [C#] 1 07/01/2009
numero de AUTOGENERADO IPSS por carlos ... [Visual Basic .NET] 5 30/10/2008

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 ...
29/09/2006 Introducción a .NET    forma parte de...Conceptos generales .NET
28/06/2006 Triggers en PL/SQL    forma parte de...Tutorial PL/SQL
13/10/2006 Destructores    forma parte de...Tutorial C#
12/01/2008 SQL dinámico en Transact SQL    forma parte de...Tutorial de Transact SQL
22/10/2005 Insertar datos. INSERT    forma parte de...Tutorial SQL
11/12/2006 Tipos parciales    forma parte de...Tutorial C#
14/07/2006 Tablas PL/SQL    forma parte de...Tutorial PL/SQL
13/07/2006 Paquetes en PL/SQL    forma parte de...Tutorial PL/SQL
03/10/2006 Introduccion a C#    forma parte de...Tutorial C#
28/06/2006 Procedimientos almacenados en PL/SQL    forma parte de...Tutorial PL/SQL

 

Encuesta
¿A que perfil te adaptas mejor?
[Ver] [Votar]