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 ...
¿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
Indices

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


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: 56958 Fecha de publicación: 22/10/2005
Pedro Herrarte, es consultor independiente, ofreciendo sercivios 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.




18/08/2008 SQL Server 2008
Visitas: 272 | Comentarios: 0 | Archivo: Articulos
Categorias: Transact-SQL
Visitas: 233 | Comentarios: 0 | Archivo: Articulos
Categorias: C#|ADO.NET|LinQ
Visitas: 268 | Comentarios: 1 | Archivo: Articulos
Categorias: Humor
Visitas: 185 | Comentarios: 0 | Archivo: Articulos
Categorias: WCF
Visitas: 162 | Comentarios: 0 | Archivo: Articulos
Categorias: WCF
Visitas: 247 | Comentarios: 0 | Archivo: Articulos
Categorias: ASP.NET
Visitas: 325 | Comentarios: 5 | Archivo: Articulos
Categorias: ASP.NET
Visitas: 5225 | Comentarios: 4 | Archivo: Articulos
Categorias: C#|Transact-SQL|LinQ
Visitas: 658 | Comentarios: 1 | Archivo: Articulos
Categorias: Visual Studio
Visitas: 1551 | Comentarios: 1 | Archivo: Articulos
Categorias: Transact-SQL

Útimos temas recibidos en los foros ...
INSTALAR VB.NET 2005 EXPRESS EN WINDOWS VISTA por tito2701 ... [Visual Basic .NET] 13 05/07/2007
LLave Primaria por Martin ... [ORACLE] 6 22/06/2007
dar formato a mail por Pako ... [C#] 4 16/03/2007
MP3 en Windows Vista por Alf ... [Actualidad] 3 20/04/2008
autogenerado por mily ... [Visual Basic .NET] 0 27/08/2008
Instalación de Oracle por Tatatn ... [ORACLE] 0 27/08/2008
For Update, existe alguna otra forma? por Sus ... [ORACLE] 1 27/08/2008
Cambiar el color del nodo de un treeview por Moises Bermdez Contreras ... [ASP.NET] 3 15/10/2007
librerias dinamicas por lupitaor ... [C#] 2 26/08/2008
Vista SQL 2005 limitada por Factor ... [SQL] 2 26/08/2008
Combobox por Corven ... [C#] 4 10/07/2008
Datagrid view por Jazmin ... [ASP.NET] 5 25/08/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 ...
21/02/2007 Subconsultas    forma parte de...Tutorial SQL
27/08/2007 Enviar email con C#
09/05/2006 Como leer XML con C#
13/04/2008 String.Format
27/02/2007 ¿Permite Windows Vista reproducir peliculas descargadas o "Piratas"? SI, si lo permite
03/10/2006 Creación de objetos    forma parte de...Tutorial C#
29/09/2006 Assemblies    forma parte de...Conceptos generales .NET
18/08/2008 SQL Server 2008
09/10/2006 Cadenas de texto    forma parte de...Tutorial C#
12/01/2006 Introducción a PLSQL    forma parte de...Tutorial PL/SQL

 

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