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

 
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: 66987 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: 300 | Comentarios: 0 | Archivo: Articulos
Categorias: ASP.NET|CSS|ASP.NET
Visitas: 137 | Comentarios: 0 | Archivo: Articulos
Categorias: TFS
Visitas: 101 | Comentarios: 5 | Archivo: Articulos
Categorias: TFS
Visitas: 427 | Comentarios: 4 | Archivo: Articulos
Categorias: Transact-SQL|LinQ
Visitas: 1443 | Comentarios: 6 | Archivo: Articulos
Categorias: Visual Basic .NET|C#|ASP.NET|ASP.NET|Programación|ADO.NET
27/09/2008 Navegando ....
Visitas: 238 | Comentarios: 0 | Archivo: Articulos
Categorias: Humor
Visitas: 611 | Comentarios: 0 | Archivo: Articulos
Categorias: Visual Basic .NET|C#|ASP.NET|ASP.NET|Programación|WCF
Visitas: 2568 | Comentarios: 4 | Archivo: Articulos
Categorias: C#
Visitas: 463 | Comentarios: 0 | Archivo: Articulos
Categorias: JavaScript|ASP.NET
Visitas: 1071 | Comentarios: 0 | Archivo: Articulos
Categorias: Windows XP|Linux|Windows Vista

Útimos temas recibidos en los foros ...
Enviar un email con C# utilizando .Net FrameWork 2.0 con logo... por Moises ... [ASP.NET] 0 21/11/2008
Enviar un email con C# utilizando .Net FrameWork 2.0 por Moises ... [C#] 0 21/11/2008
Cuestión de BFILE. por Megatron ... [ORACLE] 0 21/11/2008
Enviar email por Dol ... [ASP.NET] 5 21/08/2007
*******PREGUNTA********: por T.S.U.En Informatíca ... [Visual Basic 6.0] 5 17/03/2008
Programar tareas en oracle. por Rodrigo ... [ORACLE] 0 21/11/2008
fechas con datatimepicker por peyin ... [Visual Basic .NET] 3 20/11/2008
agregar datos de un gridview a un textbox por jhors ... [ASP.NET] 3 19/09/2007
Select de sql en c# por Stuart ... [C#] 1 20/11/2008
Manual en Español de SQL Navigator for Oracle por Maira ... [ORACLE] 12 30/03/2008
Como mandar mensaje a Celular por Pako ... [C#] 40 13/03/2007
grupo seguridad access 2007 por mithbuster ... [Access] 12 18/05/2007

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 ...
31/03/2006 Tipos de datos en PL/SQL    forma parte de...Tutorial PL/SQL
08/03/2007 Cambiar el nombre del servidor SQL Server
14/07/2006 Tablas PL/SQL    forma parte de...Tutorial PL/SQL
31/03/2006 Fundamentos de PL/SQL    forma parte de...Tutorial PL/SQL
15/06/2007 Control de errores en Transact SQL    forma parte de...Tutorial de Transact SQL
22/10/2005 Indices    forma parte de...Tutorial SQL
12/01/2006 Programación con PL/SQL    forma parte de...Tutorial PL/SQL
27/02/2007 ¿Permite Windows Vista reproducir peliculas descargadas o "Piratas"? SI, si lo permite
12/01/2006 Introducción a PLSQL    forma parte de...Tutorial PL/SQL
21/01/2007 Como clonar objetos .net implementando Iclonable

 

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