Sie sind auf Seite 1von 4

Sentencias en SQL

SQL GRANT Comando


GRANT SQL es un comando que se utiliza para proporcionar acceso o privilegios en los
objetos de base de datos a los usuarios.
La sintaxis para el comando GRANT es:
GRANT privilege_name
ON object_name
TO {user_name |PUBLIC |role_name}
[WITH GRANT OPTION];
privilege_name es el derecho de acceso o privilegio concedido al usuario. Algunos
de los derechos de acceso son ALL, EXECUTE, y SELECT.
object_name es el nombre de un objeto de base de datos como tablas, vistas,
procedimiento almacenado y SEQUENCE.
user_name es el nombre del usuario al que un derecho de acceso se concede.
user_name es el nombre del usuario al que un derecho de acceso se concede.
PUBLIC se utiliza para otorgar derechos de acceso a todos los usuarios.
ROLES son un conjunto de privilegios agrupados.
WITH GRANT OPTION - Permite a un usuario para conceder derechos de acceso a
otros usuarios.
Por ejemplo: GRANT SELECT ON empleado a usuario1; Este comando concede el
permiso SELECT en una tabla de empleados para user1.You debe utilizar la opcin
WITH GRANT cuidado porque por ejemplo si concede el privilegio SELECT sobre la tabla
de empleados para el usuario 1 con la opcin WITH GRANT, entonces user1 puede
CONCESION Privilegio SELECT sobre la tabla empleado a otro usuario, como user2 etc
Mas tarde, si usted revoca el privilegio SELECT sobre los empleados de user1, user2
todava tendr el privilegio SELECT sobre la tabla empleados.

Ilustracin 1

En esta ventana de comandos, se crean dos usuarios: nca@localhost y


admin1@localhost. Luego al usuario nca@localhost se le concede los privilegios:
select, insert, update, delete, create, drop, file, index, create view y show view.

Calero Pajuelo Juan Jos

Sentencias en SQL
Al segundo usuario se le concede todos los privilegios con: grant all on *.* to
admin1@localhost.

SQL REVOKE comandos:


El comando REVOKE quita los derechos de acceso o privilegios en los objetos de base
de datos.
La sintaxis para el comando REVOKE es:
REVOKE privilege_name
ON object_name
FROM {user_name |PUBLIC |role_name}
Por ejemplo: REVOKE SELECT ON empleado de usuario1; Este comando REVOKE un
privilegio SELECT sobre la tabla de empleados de user1.When revoca el privilegio
SELECT sobre una tabla de un usuario, el usuario no podr seleccionar los datos de esa
tabla mas. Sin embargo, si el usuario ha recibido privilegios de SELECT sobre la tabla de
ms de un usuario, l / ella puede seleccionar de esa mesa hasta que todos los que
concedi el permiso revocan. Usted no puede revocar los privilegios si no se les concedi
inicialmente por ti.

Los privilegios y roles:


Los privilegios: Los privilegios se definen los derechos de acceso prestados a un usuario
en un objeto de base de datos. Hay dos tipos de privilegios.
1) privilegios del sistema - Esto permite al usuario crear, modificar o quitar objetos de
base

de

datos.

2) los privilegios de objeto - Esto permite al usuario ejecutar, SELECT, INSERT,


UPDATE o DELETE datos de objetos de base de datos a la que se aplican los
privilegios.
Pocos privilegios del sistema crea se enumeran a continuacin:
System
Privileges

Description
allows users to create the specified object
in their own schema.
ANY allows users to create the specified object
in any schema.

CREATE object
CREATE
object

Las reglas anteriores se aplican tambin para ALTER y DROP privilegios del
sistema.
Pocos de los privilegios de objeto son los siguientes:
Object
Privileges

Descripcin

Calero Pajuelo Juan Jos

Sentencias en SQL
INSERT
SELECT
UPDATE
EXECUTE

allows users to insert rows into a table.


allows users to select data from a database
object.
allows user to update data in a table.
allows user to execute a stored procedure or
a function.

Roles: Los roles son un conjunto de privilegios o derechos de acceso. Cuando hay
muchos usuarios en una base de datos se hace difcil otorgar o revocar privilegios a los
usuarios. Por lo tanto, si define las funciones, puede otorgar o revocar privilegios a los
usuarios, con lo que automticamente la concesin o revocacin de privilegios. Usted
puede crear funciones o utilizar las funciones del sistema predefinidas por Oracle.
Algunos de los privilegios concedidos a las funciones del sistema es el que aparece a
continuacion:

System
Role

Privileges Granted to the Role

CREATE TABLE, CREATE VIEW,


CREATE SYNONYM, CREATE
CONNECT
SEQUENCE, CREATE SESSION
etc.
CREATE PROCEDURE, CREATE
SEQUENCE,
CREATE TABLE,
CREATE TRIGGER etc. The
RESOURCE
primary usage of the RESOURCE
role is to restrict access to database
objects.
DBA
ALL SYSTEM PRIVILEGES

Creacin de roles:
La sintaxis para crear una funcion es:
CREATE ROLE role_name
[IDENTIFIED BY password];
Por ejemplo: Para crear una funcion llamada "desarrollador" con la contrasea como
"pwd", el codigo sera el siguiente
CREATE ROLE testing
[IDENTIFIED BY pwd];
Es mas fcil de conceder o revocar privilegios a los usuarios a travs de un papel en
lugar de asignar directamente un privilegio para todos los usuarios. Si el papel se
identifica mediante una contrasea y, a continuacin, cuando usted conceder o revocar
los privilegios de la funcin, que sin duda tiene que identificarse con la contrasea.
Podemos conceder o revocar privilegios a una funcin de la siguiente manera.
Por ejemplo: Para conceder permiso CREATE TABLE para un usuario mediante la
creacin de un puesto de probador:

Calero Pajuelo Juan Jos

Sentencias en SQL

En primer lugar, crear un puesto de probador


CREATE ROLE testing
En segundo lugar, conceder un privilegio CREATE TABLE para las pruebas ROLE. Usted
puede agregar mas privilegios al rol.
GRANT CREATE TABLE TO testing;
En tercer lugar, otorgar el rol a un usuario.
GRANT testing TO user1;
Para revocar un privilegio CREATE TABLE prueba de funcin, puede escribir:
REVOKE CREATE TABLE FROM testing;
La sintaxis para quitar una funcin de la base de datos es la siguiente:
DROP ROLE role_name;
Por ejemplo: Para quitar una funcin llamada programador, puede escribir:
DROP ROLE testing;

SQL Vistas
Una vista es una tabla virtual, a travs del cual una parte selectiva de los datos de una o
ms tablas visto. Visto no contienen datos propios. Se utilizan para restringir el acceso a
la base de datos o para ocultar la complejidad de los datos. Una vista se almacena como
una instruccin SELECT en la base de datos. Operaciones DML en una vista como
INSERT, UPDATE, DELETE afecta a los datos de la tabla original en que se basa la
vista.
La sintaxis para crear una vista SQL es
CREATE VIEW view_name
AS
SELECT column_list
FROM table_name [WHERE condition];

view_name es el nombre de la vista.

La instruccion SELECT se utiliza para definir las columnas y filas que desea mostrar
en la vista.
Por ejemplo: para crear una vista en la tabla de productos de la consulta SQL ser como
CREATE VIEW view_product
AS
SELECT product_id, product_name
FROM product;

Calero Pajuelo Juan Jos

Das könnte Ihnen auch gefallen