Sei sulla pagina 1di 13

Sesin 4

Gestin de Vistas y
Permisos

1
TECSUP
Vista

 Objeto que sirve como una representacin lgica de una o


ms tablas.
 Una vista no contiene datos debido a que todos sus datos
son derivados de tablas subyacentes.
 Las vistas cuentan con las siguientes ventajas:
Seguridad.- Permiten limitar el acceso a ciertos registros,
acceso a ciertas columnas, y restringe la capacidad de
insertar datos.
Conveniencia.- Permite el encapsulamiento de consultas
complejas facilitando la generacin de reportes.
Consistencia.- Siempre muestran informacin
consistente y actualizada de manera automtica.

2
TECSUP
TRABAJADOR
CODIGO NOMBRE SALARIO CARGO
001 Merino 2000 Cajero
002 Rojas 3500 Jefe
003 Perez 1700
2000 Asistente
004 Lopez 1250 Cajero
005 Milla 3000 Jefe
006 Rivas 2500 Guardin
007 Gomez 2500 Asistente

V_ASISTENTE
CREATE VIEW v_asistente
AS SELECT nombre, salario NOMBRE SALARIO
FROM trabajador Perez 1700
2000
WHERE cargo = Asistente; Gomez 2500

3
TECSUP
Creacin de Vista

CREATE [OR REPLACE] VIEW [Usuario.]Vista


AS Consulta;

 Ejemplo:

SQL> CREATE VIEW empvu10


2 AS SELECT cod_emp, nombre_emp, puesto
3 FROM empleados
4 WHERE cod_dept = 10 ;

4
TECSUP
Creacin de Vista con Alias para Columnas

CREATE [OR REPLACE] VIEW [Usuario.]Vista [( Alias [, Alias]...)]


AS Consulta;

 Ejemplo:

SQL> CREATE VIEW empvu10 (codigo, empleado, cargo)


2 AS SELECT cod_emp, nombre_emp, puesto
3 FROM empleados
4 WHERE cod_dept = 10 ;

5
TECSUP
Clusula WITH CHECK OPTION

CREATE [OR REPLACE] VIEW [Usuario.]Vista [( Alias [, Alias]...)]


AS Consulta
[WITH CHECK OPTION [CONSTRAINT Restriccion]];

 Ejemplo:

SQL> CREATE VIEW empvu20


2 AS SELECT *
3 FROM empleados
4 WHERE cod_dept = 20
5 WITH CHECK OPTION ;

6
TECSUP
TRABAJADOR
CODIGO NOMBRE SALARIO CARGO
001 Merino 2000 Cajero
002 Rojas 3500 Jefe
003 Perez 1700 Asistente
004 Lopez 1250 Cajero
005 Milla 3000 Jefe
006 Rivas 2500 Guardin
007 Gomez 2500 Asistente

CREATE VIEW v_asistente2 V_ASISTENTE


AS SELECT nombre, salario, cargo
NOMBRE SALARIO CARGO
FROM trabajador
WHERE cargo = Asistente Perez 1700 Asistente
WITH CHECK OPTION; Gomez 2500 Asistente
Jefe

7
TECSUP
Eliminacin de Vista

DROP VIEW Vista;

 Ejemplo:

SQL> DROP VIEW empvu10 ;

8
TECSUP
Privilegios de Acceso a Tablas y Vistas

 Orientados a garantizar la seguridad de los contenidos de la


base de datos.
 Toda tabla y vista de la base de datos presenta una serie de
privilegios los cuales son otorgados de dos (2) maneras:
Siendo el propietario del objeto.
Obteniendo privilegios del propietario del objeto.

9
TECSUP
Privilegios

TABLA VISTA
SELECT SELECT
INSERT INSERT
UPDATE UPDATE
DELETE DELETE
ALTER ALL
INDEX
REFERENCE
ALL
10
TECSUP
Otorgar Privilegios

GRANT Privilegio [, Privilegio...] | ALL


ON Tabla | Vista
TO Usuario [, Usuario...] | PUBLIC];

 Ejemplo:

SQL> GRANT ALL


2 ON empleados
3 TO PUBLIC ;

11
TECSUP
Clusula WITH GRANT OPTION

GRANT Privilegio [, Privilegio...] | ALL


ON Tabla | Vista
TO Usuario [, Usuario...] | PUBLIC]
WITH GRANT OPTION;

 Ejemplo:

SQL> GRANT SELECT


2 ON depart
3 TO prueba
4 WITH GRANT OPTION ;

12
TECSUP
Revocar Privilegios

REVOKE Privilegio [, Privilegio...] | ALL


ON Tabla | Vista
FROM Usuario [, Usuario...] | PUBLIC];

 Ejemplo:

SQL> REVOKE INSERT


2 ON EMPLEADOS
3 FROM USUARIO ;

13
TECSUP

Potrebbero piacerti anche