3.5 Vistas.

    Una vista se define en SQL usando la orden CRETE VIEW. Para definir una vista debemos dar a la vista un nombre y declarar la consulta que calcula la vista. Una vez que establecemos una vista, podemos ejecutar una sentencia SELECT que referencie a esa vista. El sistema asociará la vista SQL con una tabla base y extraerá y visualizará, entonces, los datos de la tabla base.

    Esto significa que una vista no contiene datos duplicados de una tabla base. No tiene absolutamente ningún dato, puesto que no es una tabla real, todo el proceso se realiza con los datos almacenados en la tabla base. Es decir se percibe como una tabla virtual.

Las ordenes que se utilizan para la manipulación de vistas son:

CREATE VIEW: Crea una tabla virtual.
DROP VIEW: Elimina una vista creada anteriormente.

ipunto.jpg (758 bytes) Estructura de la sentencia CREATE VIEW.

    CREATE VIEW Nombre de la vista AS (Expresión de consulta);

    Para nuestros ejemplos consideremos de nuevo la tabla llamada CURSO, que contiene los siguientes campos:

Nombre del  campo

Descripción

NumC

Número del curso, único para identificar cada curso

NombreC

Nombre del curso, también es único

DescC

Descripción del curso

Creditos

Créditos, número de estos que gana al estudiante al cursarlo

Costo

Costo del curso.

Depto

Departamento académico que ofrece el curso.

Que contiene los siguientes datos:

NumC

NombreC

DescC

Creditos

Costo

Depto

A01

Liderazgo

Para público General

10

100.00

Admón.

S01

Introducción a la inteligencia artificial

Para ISC y LI

10

90.00

Sistemas.

C01

Construcción de torres

Para IC y Arquitectura

8

0.00

Ciencias

B01

Situación actual y perspectivas de la alimentación y la nutrición

Para IB

8

80.00

Bioquímica

E01

Historia presente y futuro de la energía solar

IE e II

10

100.00

Electromecánica.

S02

Tecnología OLAP

Para ISC y LI

8

100.00

Sistemas

C02

Tecnología del concreto y de las Estructuras

Para IC

10

100.00

Ciencias

B02

Metabolismo de lípidos en el camarón

Para IB

10

0.00

Bioquímica

E02

Los sistemas eléctricos de potencia

Para IE

10

100.00

Electromecánica

S03

Estructura de datos

Para ISC y LI

8

0.00

Sistemas

A01

Diseño bioclimático Para Arquitectura 10 0.00

Arquitectura

C03

Matemáticas discretas

General

8

0.00

Ciencias

S04

Circuitos digitales

Para ISC

10

0.00

Sistemas

S05

Arquitectura de Computadoras

Para ISC

10

50.00

Sistemas

I01

Base de Datos Relacionales

Para ISC y LI

10

150.00

Informática

Ejemplos:

    * Crear una vista (tabla virtual), denominada CursosS, que contenga las filas solo correspondientes a cursos ofrecidos por el departamento Sistemas. La vista deberá contener todas las columnas de la tabla CURSO, con la excepción de la columna Depto, la secuencia, de izquierda a derecha de las columnas, deberá ser: NombreC, NumC, Creditos, Costo Y DescC.

CREATE VIEW
CursosS AS
    SELECT NombreC,NumC,Creditos,Costo,DescC
    FROM CURSO
    WHERE DescC=’Sistemas’;

    Observemos que después del nombre de la vista ponemos la sentencia AS, esto para definir la estructura de la vista, la estructura en si de la vista esta formada por la consulta anteriormente vista utilizando la orden SELECT.

    * Crear una vista denominada CursosCaros, correspondientes a las filas de la tabla CURSO, en donde la tarifa exceda de $150, las columnas de la vista deberán tener los nombres ClaveCurso, NombreCurso y CostoCaro.

CREATE VIEW CursosSCaros(ClaveCurso,NombreCurso,CostoCaro) As
    SELECT NumC,NombreC, Costo
    FROM Curso
    WHERE Costo > 150;

    Observamos que después del nombre de la vista CursosCaros ponemos los nombres que se nos pidieron tuvieran los campos de la vista(ClaveCurso,...), después se realiza la consulta correspondiente para generar el resultado deseado.

Visualizar las vistas

    Creamos una tabla virtual que contiene los datos de las consultas que deseamos, ahora nos falta visualizar estos datos, para ello utilizamos la sentencia SELECT y realizamos la consulta:

    SELECT *
    FROM CursosCaros;

    De esta consulta podemos observar que mostramos todos los campos que la vista contiene, aunque podemos visualizar solo alguno de ellos, también observamos que sustituimos el nombre de la vista por el de la tabla junto a la sentencia FROM, esto es por que una vista es una tabla virtual, pero guarda los datos como cualquier tabla normal.

Eliminar una vista

    Como si fuera una tabla normal, las vistas también pueden borrarse, para ello utilizamos la sentencia DROP VIEW.

Estructura de la sentencia DROP VIEW.

ipunto.jpg (758 bytes) DROP VIEW Nombre de la vista a borrar;

Ejemplo: Borrar la vista CursosCaros creada anteriormente.

    DROP VIEW CursosCaros;

Modificación de la BDPágina anterior Página siguienteRegresar a los temas de Modelo relacional