You are on page 1of 10

Programación de Bases de Datos con SQL 17-1: Control

del Acceso de los Usuarios Actividades de Práctica

Objetivos
• Comparar la diferencia entre privilegios de objeto y privilegios del
sistema
• Crear los dos comandos necesarios para permitir que un usuario tenga
acceso a una base de datos
• Crear y ejecutar una sentencia GRANT… ON …TO para asignar
privilegios a objetos de un esquema de usuario para otros usuarios y/o a
PUBLIC
• Consultar el diccionario de datos para confirmar los privilegios otorgados

Inténtelo/Resuélvalo

1. ¿De qué se ocupan los privilegios del sistema?


Solución:
Los privilegios del sistema trata sobre el acceso a la base de datos a nivel
del sistema, como la creación de usuarios, nombres de usuario y
contraseñas, la asignación de espacio en disco a los usuarios, y la
concesión de los privilegios del sistema que los usuarios pueden llevar a
cabo, como crear tablas, vistas y secuencias. (DDL y DCL)

2. ¿De qué se ocupan los privilegios de objeto?


Solución:
Los privilegios de objeto tratan el acceso y el uso de los objetos de la base
de datos así como las acciones que dichos usuarios puedan realizar en los
objetos. (DML y SQL básico)

3. ¿De qué otra manera se denomina la seguridad de los objetos?


Solución:
La seguridad de los objetos también se conoce como seguridad de los
datos.

4. ¿Qué comandos son necesarios para permitir que Scott tenga acceso a la
base de datos con la contraseña tiger?
5. ¿Cuáles son los comandos necesarios para permitir que Scott pueda
seleccionar (SELECT) en la tabla d_clients y actualizarla (UPDATE)?

6. ¿Cuál es el comando necesario para permitir que todos puedan ver la tabla
d_songs?
7. Consulte el diccionario de datos para ver los privilegios de objeto que se le
han otorgado como usuario.
8. ¿Qué privilegio se le debe a otorgar a un usuario para crear tablas?
Solución:
El privilegio CREATE TABLE.
Copyright © 2020 Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de comerciales de sus respectivos
propietarios. Oracle y sus filiales. Todos los demás nombres pueden ser marcas

9. Si crea una tabla, ¿cómo puede transferir privilegios a otros usuarios solo
para que vean su tabla?
Solución:
Les otorga el privilegio SELECT.

10. ¿Qué sintaxis utilizaría para otorgar a otro usuario acceso a su tabla
copy_employees?

11. ¿Cómo puede saber qué privilegios tiene otorgados en las columnas de las
tablas pertenecientes a otros?
Solución:
Consulte USER_COLS_PRIVS_RECD

17.2

Inténtelo/Resuélvalo

1. ¿Qué es un rol?
Solución:
Un rol es un grupo con nombre de privilegios relacionados que se pueden
otorgar al usuario.

2. ¿Cuáles son las ventajas de un rol para un DBA?


Solución:
Facilita la concesión, el mantenimiento y la revocación de privilegios, con el
consiguiente ahorro de tiempo.

3. Conceda a otro usuario de su clase la capacidad de consultar una de sus


tablas. Concédale el derecho a permitir que otros alumnos tengan esa
capacidad.
Solución:
GRANT select ON tablename
TO username
WITH GRANT OPTION;

4. Es el DBA. Está creando varios usuarios que requieren los mismos


privilegios del sistema. ¿Qué debe utilizar para facilitar su trabajo?
Solución:
Crear un rol (ROLE) que contenga los privilegios del sistema y otorgar el rol
a los usuarios.

5. ¿Cuál es la sintaxis necesaria para realizar lo siguiente?


a. Crear un rol de jefe que tenga privilegios para seleccionar,
insertar y actualizar y suprimir de la tabla employees
b. Crear un rol de oficinista que solo tenga privilegios para
seleccionar e insertar en la tabla employees

c. Otorgar el rol de jefe al usuario scott


d. Revocar la capacidad de suprimir de la tabla employees desde
el rol de jefe
6. ¿Cuál es la finalidad de un enlace de base de datos?
Solución:
Un enlace de base de datos es un puntero que define una ruta de acceso de
comunicación unidireccional de una base de datos Oracle a otra base de datos
Oracle.

17.3

1. Con la tabla employees y utilizando expresiones regulares, escriba una


consulta que devuelva los empleados cuyo nombre comience por una “S”
(mayúscula) seguida de una “t” (minúscula) o una “h” (minúscula).
2. Investigue la tabla LOCATIONS.

a. Describa la tabla.

b. Ejecute una sentencia SELECT que devuelva todas las filas y todas
las columnas de esa tabla.
c. Escriba una consulta utilizando expresiones regulares que elimine los
espacios de la columna street_address en la tabla LOCATIONS.

You might also like