¿Que son las vistas en sql?


Base de Datos: Concepto, Tipos y Ejemplos

Las vistas en SQL

Bienvenidos a un nuevo post en mi blog oficial, el día de hoy vamos a hablar sobre que son las vistas en SQL, para que sirven, como funcionan y como crear une vista, adelante.

¿Qué es una vista en SQL?

Una vista es el resultado de la consulta realizada, de una o varias tablas a una base de datos, a menudo necesitamos saber cierta información a través de una consulta larga de sql, aunque al momento de encontrarnos desarrollando la base de datos y haciendo consultas de prueba, nos resulte totalmente "inservible" el uso de las vistas, el problema lo vamos a ver al momento de querer ejecutar consultas sumamente grandes mediante algún lenguaje de programación ya sea Java, C#, PHP, etc.
Al llegar a este punto, nos damos cuenta de que ejecutar consultas sql directamente desde el código fuente de la aplicación, nos resultará totalmente fatal, pues en primer lugar, esto representa una completa vulnerabilidad, pues estamos exponiendo una cadena de consulta, la cual contiene detalles sobre el tipo de campo que contiene nuestra tabla, además, esto generaría posibles ataques de inyección sql en nuestras aplicaciones.

¿Como funciona una vista en sql y como crear una?

Veamos la siguiente imagen y a continuación te explicaré como es que funciona una vista.
Ver las imágenes de origen

Como podemos ver tenemos dos tablas (orders y customers). La tabla orders tiene las columnas ORDER_ID, CUSTOMER_ID, REQUIRED_DATE, SHIPPED_DATE, mientras que la tabla de customers contiene las columnas CUSTOMER_ID, COMPANY_NAME, CONTACT_NAME.
Bien, ahora que tenemos identificadas las columnas que contienen cada una de las tablas, vamos a analizar el código sql que tenemos allí:

Create view dbo.ShippedDateStatusView: Esta línea lo que hace es indicar que se va a crear una vista la cual se llamará ShippedDateStatusView, seguido de ello lo que hacemos es indicarle que consulta select vamos ejecutar para que se nos genere la vista.
Para ello podemos observar que esta, va a seleccionar el ORDER_ID y SHIPPED_DATE de la tabla orders y mediante un INNER JOIN va juntarlo con el CONTACT_NAME de la tabla customers donde, el customerID de la tabla orders sea igual al customerID de la tabla customers cuando el required_date sea mayor al shipped_date, bajo está condición lo que hará será devolvernos una nueva tabla que contendrá los campos antes seleccionados.

Por ultimo y para corroborar que nuestra vista se ha creado correctamente, lo único que tendremos que hacer es realizar una consulta select a nuestra vista de la siguiente forma: select * from ShippedDateStatusView, de esta forma podremos ver el resultado de nuestra consulta sin necesidad de tener que pasar todo ese código sql al código fuente de nuestra aplicación.

Crear vistas para mostrar cierta información en nuestras aplicaciones nos ayuda a prevenir, como mencione anteriormente, inyecciones sql, además, podemos editarlas directamente desde nuestro servidor sql sin tener que realizar alguna actualización en el código de nuestras aplicaciones, imagina que tenemos un sistema implementado dentro de una empresa a mas de 100 empleados, realizar una actualización directamente en la aplicación nos costaría demasiado tiempo, trabajo y dinero, sin embargo, si utilizamos las vistas, nos podremos ahorrar todo ese tiempo.

Esto ha sido todo por hoy, si te ha gustado te invito a que compartas en tus redes sociales, deja tu comentario aquí abajo sobre que te parece este post y si te gustaría aprender más sobre Sql, por último, te invito a que me sigas en mis redes sociales, nos vemos y gracias :D

Comentarios

Entradas más populares de este blog

¿Cómo crear un spyware con Python 3? 1ra Parte

¿Cómo empezar en el mundo de la programación?