 |
|
 |
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:
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.
arriba
|
| |
 |
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
|
|

|
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
|
Visitas:
809
|
Comentarios:
2
|
Archivo:
Articulos
|
Visitas:
765
|
Comentarios:
3
|
Archivo:
Articulos
|
Visitas:
672
|
Comentarios:
2
|
Archivo:
Articulos
|
Visitas:
3177
|
Comentarios:
2
|
Archivo:
Articulos
|
Visitas:
14564
|
Comentarios:
7
|
Archivo:
Articulos
|
Visitas:
1499
|
Comentarios:
3
|
Archivo:
Articulos
|
|
Visitas:
695
|
Comentarios:
2
|
Archivo:
Articulos
|
|
Visitas:
369
|
Comentarios:
0
|
Archivo:
Articulos
|
Visitas:
2034
|
Comentarios:
2
|
Archivo:
Articulos
|
|
|
 |
|
 |