Sei sulla pagina 1di 2

PRACTICO 9

Tema: Seguridad

Dado el siguiente esquema de una base de datos relacional donde el usuario U1 es el propietario de todas las
relaciones.

DEPARTAMENTO (Cod_depto, nom_depto)


EMPLEADO (Nro_doc, nom_emp, dir_emp, salario, sexo, cod_depto)
JEFE (Cod_depto, Nro_doc, fecha)
FAMILIA (Nro_doc, Nombre, f_nac, parentesco)
PROYECTO (Cod_proy, nom_proy, cod_depto, supervisor)
FORMADO (Esta_formado, Forma_parte)
TRABAJA (Nro_doc, Cod_proy, Fecha, horas)

1) Definir la vista NombresEmpleados (con nombre del empleado como el único atributo).
2) Definir la vista DeptInfo (con los atributos nombre del departamento y salario promedio), que lista el
salario promedio pagado por cada departamento.
3) ¿Que privilegios deben ser dados al usuario U2 que necesita conocer solamente el salario promedio de
los departamentos?
4) ¿Que privilegios deben ser dados al usuario U3 para que pueda consultar, insertar, modificar y borrar
tuplas de NombresEmpleados?
5) ¿Puede el usuario U3 realizar modificaciones en la tabla Empleado a través de la vista
NombreEmpleados?
6) ¿Si se borra la tabla Empleado, que pasa con la vista NombresEmpleados?
7) El usuario U1, que es el propietario de las tablas, le otorga los siguientes privilegios a los usuarios U2 y
U3

Tabla/Usuario U2 U3
Empleado Select Select (G)
Update (G) Insert
Insert (G) Delete
Trabaja Select Select
Delete (G) Delete
Proyecto Select Delete
Update (G) Update
Familia Insert Select (G)
Update Delete

El (G) indica que el usuario recibió ese privilegio con la opción de otorgar el privilegio (with grant
option).

Dadas las siguientes sentencias SQL

a) Delete
from empleado
where nro_doc not in
(select nro_doc
from trabaja
where fecha > “ 01/01/2003 “ )
and nrodoc not in
(select supervisor
from proyecto) ;

10
b) Grant insert on Empleado to U4;
c) Grant select on Familia to U4;
d) Grant select, insert, delete, update on Proyecto to U4

Completar el siguiente cuadro, indicando para cada usuario si tiene los permisos (privilegios) que le
permiten realizar la sentencia SQL.
Para aquellos casos que no pueda realizar la operación se debe indicar que permiso(s) le falta(n).

Operación/Usuario U1 U2 U3
Sentencia-a
Sentencia-b
Sentencia-c
Sentencia-d

ƒ ¿Cúales serán las consecuencias de que U1 revoque los privilegios otorgados a U2?

8) Dibuje un diagrama de concesiones de privilegios donde:

¾ El usuario U1 es el propietario de la Relación R1


¾ Se otorga un privilegio p

a)
U1 Æ Grant p to U2 with grant option
U1 Æ Grant p to U3
U2 Æ Grant p to U4 with grant option
U4 Æ Grant p to U5, U6, U7
b)
U1 Æ Grant p to U2
U1 Æ Grant p to U3 with grant option
U3 Æ Grant p to U4, U5, U6 with grant option
U5 Æ Grant p to U7

11

Potrebbero piacerti anche