vistas
ESTUDIANTES:
JOHANNI PAMELA
FERNANDEZ CALDERON.
KEVIN ALEXANDER GONZALES
GALLARDO
CARRERA PROFESIONAL:
INGENIERIA DE SISTEMASY
TELEMATICA
CICLO: VI
VISTAS
una vista es una consulta que se
presenta como una tabla (virtual) a partir
de un conjunto de tablas en una base de
datos relacional.
La vista es una tabla virtual, que es el
resultado de una consulta SQL en las que
se carga los datos en el momento de ser
llamada. La vista puede tener datos de
una tabla o de la agrupación de varias
tablas. El objetivo de estas vistas es
agilizar el proceso de consulta a una base
SINTAXIS
Sintaxis create view
Esta sentencia crea una vista nueva o reemplaza una
existente si se incluye la cláusula or replace. La
sentencia_select es una sentencia select que proporciona la
definición de la vista. Puede estar dirigida a tablas de la base
o a otras vistas.
Create [or replace] [algorithm = {undefined | merge |
temptable}]
view nombre_vista [(columnas)]
as sentencia_select
[with [cascaded | local] check option]
SINTAXIS
Sintaxis de drop view
Drop view elimina una o más vistas de la base de datos. Se
debe poseer el privilegio drop en cada vista a eliminar.
Drop view [if exists]
nombre_vista [, nombre_vista]
[restrict | cascade]
ADMINISTRACION DE VISTAS (CREACION
MODIFICACION Y ELIMINACION
Creación:
Para Crear una vista debemos utilizar la sentencia CREATE
VIEW. Debiendo proporcionar un nombre a la vista y una
sentencia SQL SELECT valida.
CREATE VIEW <nombre_vista>
AS
(<sentencia_select>);
Modificación:
Si queremos modificar la definicion de nuestra vista podemos utilizar la
sentencia ALTER VIEW de forma muy parecida a como lo hacimos con las
tablas. En este caso queremos añadir los campos fx_alquiler y
fx_devolucion a la vista.
ALTER VIEW vAlquiler
AS
(
SELECT Nombre,
Apellidos,
Matricula,
Fx_alquiler,
Fx_devolucion
FROM tAlquileres,
tClientes
WHERE (tAlquileres.codigo_cliente=tClientes.codigo)
Eliminación:
Podemos eliminar la vista a través de la sentencia
VIEW. Para eliminar la vista que hemos creado
anteriormente se utilizaría:
DROP VIEW vAlquileres;
EJEMPLO
Para entender este tema un poco mejor vamos a tomar como ejemplo, el siguiente
modelo de datos
EJEMPLOSi se tuviera que hacer un reporte de este modelo,
donde aparecieran los siguientes datos el nombre
(nombres y apellidos) de la persona, su genero y su
estado civil (no en código) seria necesario hacer una
consulta de este tipo:
SELECT P.CODIGO 'CODIGO', P.PRIMER_NOMBRE 'PRIMER
NOMBRE',
P.SEGUNDO_NOMBRE 'SEGUNDO NOMBRE',
P.PRIMER_APELLIDO 'PRIMER APELLIDO',
P.SEGUNDO_APELLIDO 'SEGUNDO APELLIDO',
E.DESCRIPCION 'ESTADO CIVIL',
G.DESCRIPCION 'GENERO'
FROM PERSONA P, ESTADO_CIVIL E, GENERO G
WHERE P.COD_ESTADO_CIVIL = E.CODIGO AND
P.COD_GENERO = G.GENEERO
Pero al ver que es frecuente este tipo de reportes, se ve
la necesidad de crear una vista para guardar la consulta
SQL. Para crear una vista se utilizara el siguiente código
EJEMPLO
– En este espacio va la consulta SQL que se realiza con
frecuencia
);
donde CREATE OR REPLACE (OR REPLACE es opcional pero recomendable, para
que la remplace en caso de que exista) lo que hace es crear o remplazar la vista y
NOMBRE_VISTA es el nombre que se le desee dar a la vista. Ejemplo
CREATE OR REPLACE VIEW PERSONA_GENERO_ESTADO AS(
SELECT P.CODIGO 'CODIGO', P.PRIMER_NOMBRE 'PRIMER NOMBRE',
P.SEGUNDO_NOMBRE 'SEGUNDO NOMBRE',
P.PRIMER_APELLIDO 'PRIMER APELLIDO', P.SEGUNDO_APELLIDO 'SEGUNDO
APELLIDO',
E.DESCRIPCION 'ESTADO CIVIL', G.DESCRIPCION 'GENERO'
FROM PERSONA P, ESTADO_CIVIL E, GENERO G
WHERE P.COD_ESTADO_CIVIL = E.CODIGO AND P.COD_GENERO = G.GENEERO
);
y en una próxima vez que se requiera hacer esa consulta bastaría con el siguiente
query:
SELECT * FROM PERSONA_GENERO_ESTADO
EJEMPLO
Crear una vista
En este ejemplo, el usuario rocket crea una vista en la
tabla de empleados para restringir el acceso solo a
aquellos registros en los que el departamento es 201:
CREATE VIEW view_dept_201
AS SELECT emp_id, name, hire_date
FROM gdb.employees
WHERE department = 201;
Vistas

Vistas

  • 1.
    vistas ESTUDIANTES: JOHANNI PAMELA FERNANDEZ CALDERON. KEVINALEXANDER GONZALES GALLARDO CARRERA PROFESIONAL: INGENIERIA DE SISTEMASY TELEMATICA CICLO: VI
  • 2.
    VISTAS una vista esuna consulta que se presenta como una tabla (virtual) a partir de un conjunto de tablas en una base de datos relacional. La vista es una tabla virtual, que es el resultado de una consulta SQL en las que se carga los datos en el momento de ser llamada. La vista puede tener datos de una tabla o de la agrupación de varias tablas. El objetivo de estas vistas es agilizar el proceso de consulta a una base
  • 5.
    SINTAXIS Sintaxis create view Estasentencia crea una vista nueva o reemplaza una existente si se incluye la cláusula or replace. La sentencia_select es una sentencia select que proporciona la definición de la vista. Puede estar dirigida a tablas de la base o a otras vistas. Create [or replace] [algorithm = {undefined | merge | temptable}] view nombre_vista [(columnas)] as sentencia_select [with [cascaded | local] check option]
  • 6.
    SINTAXIS Sintaxis de dropview Drop view elimina una o más vistas de la base de datos. Se debe poseer el privilegio drop en cada vista a eliminar. Drop view [if exists] nombre_vista [, nombre_vista] [restrict | cascade]
  • 7.
    ADMINISTRACION DE VISTAS(CREACION MODIFICACION Y ELIMINACION Creación: Para Crear una vista debemos utilizar la sentencia CREATE VIEW. Debiendo proporcionar un nombre a la vista y una sentencia SQL SELECT valida. CREATE VIEW <nombre_vista> AS (<sentencia_select>);
  • 8.
    Modificación: Si queremos modificarla definicion de nuestra vista podemos utilizar la sentencia ALTER VIEW de forma muy parecida a como lo hacimos con las tablas. En este caso queremos añadir los campos fx_alquiler y fx_devolucion a la vista. ALTER VIEW vAlquiler AS ( SELECT Nombre, Apellidos, Matricula, Fx_alquiler, Fx_devolucion FROM tAlquileres, tClientes WHERE (tAlquileres.codigo_cliente=tClientes.codigo)
  • 9.
    Eliminación: Podemos eliminar lavista a través de la sentencia VIEW. Para eliminar la vista que hemos creado anteriormente se utilizaría: DROP VIEW vAlquileres;
  • 10.
    EJEMPLO Para entender estetema un poco mejor vamos a tomar como ejemplo, el siguiente modelo de datos
  • 11.
    EJEMPLOSi se tuvieraque hacer un reporte de este modelo, donde aparecieran los siguientes datos el nombre (nombres y apellidos) de la persona, su genero y su estado civil (no en código) seria necesario hacer una consulta de este tipo: SELECT P.CODIGO 'CODIGO', P.PRIMER_NOMBRE 'PRIMER NOMBRE', P.SEGUNDO_NOMBRE 'SEGUNDO NOMBRE', P.PRIMER_APELLIDO 'PRIMER APELLIDO', P.SEGUNDO_APELLIDO 'SEGUNDO APELLIDO', E.DESCRIPCION 'ESTADO CIVIL', G.DESCRIPCION 'GENERO' FROM PERSONA P, ESTADO_CIVIL E, GENERO G WHERE P.COD_ESTADO_CIVIL = E.CODIGO AND P.COD_GENERO = G.GENEERO Pero al ver que es frecuente este tipo de reportes, se ve la necesidad de crear una vista para guardar la consulta SQL. Para crear una vista se utilizara el siguiente código
  • 12.
    EJEMPLO – En esteespacio va la consulta SQL que se realiza con frecuencia ); donde CREATE OR REPLACE (OR REPLACE es opcional pero recomendable, para que la remplace en caso de que exista) lo que hace es crear o remplazar la vista y NOMBRE_VISTA es el nombre que se le desee dar a la vista. Ejemplo CREATE OR REPLACE VIEW PERSONA_GENERO_ESTADO AS( SELECT P.CODIGO 'CODIGO', P.PRIMER_NOMBRE 'PRIMER NOMBRE', P.SEGUNDO_NOMBRE 'SEGUNDO NOMBRE', P.PRIMER_APELLIDO 'PRIMER APELLIDO', P.SEGUNDO_APELLIDO 'SEGUNDO APELLIDO', E.DESCRIPCION 'ESTADO CIVIL', G.DESCRIPCION 'GENERO' FROM PERSONA P, ESTADO_CIVIL E, GENERO G WHERE P.COD_ESTADO_CIVIL = E.CODIGO AND P.COD_GENERO = G.GENEERO ); y en una próxima vez que se requiera hacer esa consulta bastaría con el siguiente query: SELECT * FROM PERSONA_GENERO_ESTADO
  • 13.
    EJEMPLO Crear una vista Eneste ejemplo, el usuario rocket crea una vista en la tabla de empleados para restringir el acceso solo a aquellos registros en los que el departamento es 201: CREATE VIEW view_dept_201 AS SELECT emp_id, name, hire_date FROM gdb.employees WHERE department = 201;