SENTENCIAS_DE_DML_Y_DDL

7
 SENTENCIAS DE DML Y DDL GRANT- REVOKE JHAN GARCIA TUTOR UNIVERSIDAD DEL MAGDALENA MANEJO Y APLICACIÓN DE LAS BASES DE DATOS LICENCIATURA EN EDUCCION CON ENFASIS EN INFORMATICA ZOBAL EL COPEY VII SEMESTRE 2012 Las sentencias SQL pertenecen a dos categorías principales: Lenguaje de Definición de Datos, DDL y Lenguaje de Manipulación de Datos, DML. Estos dos lenguajes no son lenguajes en sí mismos, sino que es una forma de clasificar las sentencias de lenguaje SQL

Transcript of SENTENCIAS_DE_DML_Y_DDL

5/17/2018 SENTENCIAS_DE_DML_Y_DDL - slidepdf.com

http://slidepdf.com/reader/full/sentenciasdedmlyddl 1/7

SENTENCIAS DE DML Y DDLGRANT- REVOKE

JHAN GARCIATUTOR

UNIVERSIDAD DEL MAGDALENAMANEJO Y APLICACIÓN DE LAS BASES DE DATOS

LICENCIATURA EN EDUCCION CON ENFASIS EN INFORMATICAZOBAL EL COPEY

VII SEMESTRE2012

Las sentencias SQL pertenecen a dos categorías principales: Lenguaje de Definición deDatos, DDL y Lenguaje de Manipulación de Datos, DML. Estos dos lenguajes no sonlenguajes en sí mismos, sino que es una forma de clasificar las sentencias de lenguaje SQL

5/17/2018 SENTENCIAS_DE_DML_Y_DDL - slidepdf.com

http://slidepdf.com/reader/full/sentenciasdedmlyddl 2/7

en función de su cometido. La diferencia principal reside en que el DDL crea objetos en labase de datos y sus efectos se pueden ver en el diccionario de la base de datos; mientrasque el DML es el que permite consultar, insertar, modificar y eliminar la informaciónalmacenada en los objetos de la base de datos.

Cuando se ejecutan las sentencias DDL de SQL, el SGBD confirma la transacción actualantes y después de cada una de las sentencias DDL. En cambio, las sentencias DML nollevan implícito el commit y se pueden deshacer. Existe pues un problema al mezclarsentencias DML con DDL, ya que estas últimas pueden confirmar las primeras de manerainvoluntaria e implicita, lo que en ocasiones puede ser un problema.

A continuación se presenta una tabla con las sentencias SQL más comunes, clasificadassegún el lenguaje al que pertenecen.

Sentencia

DDL 

Objetivo 

Alterprocedure

Recompilar un procedimiento almacenado.

Alter TableAñadir o redefinir una columna, modificar la asignación dealmacenamiento.

AnalyzeRecoger estadísticas de rendimiento sobre los objetos de la BDpara utilizarlas en el optimizador basado en costes.

Create Table Crear una tabla.

Create Index Crear un índice.

Drop Table Eliminar una tabla.

Drop Index Eliminar un índice.

Grant Conceder privilegios o papeles, roles, a un usuario o a otro rol.

Truncate Eliminar todas las filas de una tabla.

Revoke Retirar los privilegios de un usuario o rol de la base de datos.

SentenciaDML 

Objetivo 

Insert Añadir filas de datos a una tabla.Delete Eliminar filas de datos de una tabla.

Update Modificar los datos de una tabla.

Select Recuperar datos de una tabla.

Commit Confirmar como permamentes las modificaciones realizadas.

5/17/2018 SENTENCIAS_DE_DML_Y_DDL - slidepdf.com

http://slidepdf.com/reader/full/sentenciasdedmlyddl 3/7

RollbackDeshacer todas las modificaciones realizadas desde la últimaconfirmación.

SQL REVOKE comando:

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

EN object_name

FROM {nombre_usuario | Público | role_name}

Para Eample: REVOKE SELECT ON empleado de usuario1; Este commmand revocará

el privilegio SELECT sobre la tabla de empleados de la user1.When que usted

revoque el privilegio SELECT sobre una tabla de un usuario, el usuario no será capaz

de seleccionar los datos de esa tabla nunca más. Sin embargo, si el usuario ha

recibido privilegios de SELECT sobre la mesa de más de un usuario, él / ella puede

seleccionar de esa mesa hasta que todos los que le concede el permiso se

revoca. Usted no puede revocar los privilegios si no se les concedió inicialmente por

usted.Privilegios y Roles:

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) los privilegios del sistema - Permite al usuario crear, modificar o quitar objetos de

base de datos. 2) los privilegios de objetos - Esto permite al usuario ejecutar,

SELECT, INSERT, UPDATE o DELETE datos de objetos de base de datos a la que los

privilegios se aplican.

Pocos privilegios de sistemas a crear son los siguientes:

5/17/2018 SENTENCIAS_DE_DML_Y_DDL - slidepdf.com

http://slidepdf.com/reader/full/sentenciasdedmlyddl 4/7

 

Los privilegios del

sistemaDescripción

Crear un objeto permite a los usuarios para crear el objeto especificado en supropio esquema.

Crear cualquier objetopermite a los usuarios para crear el objeto especificado en

cualquier esquema.

Las reglas anteriores se aplican también para ALTER y DROP privilegios del sistema. 

Pocos de los privilegios de objeto se enumeran a continuación:

Privilegios de Objeto Descripción

INSERT permite a los usuarios insertar filas en una tabla.

SELECT permite a los usuarios seleccionar los datos de un objeto debase de datos.

ACTUALIZACIÓN permite al usuario actualizar los datos en una tabla.

EXECUTEpermite al usuario ejecutar un procedimiento almacenado o

una función.

Funciones: Las funciones son un conjunto de privilegios o derechos de

acceso. Cuando hay muchos usuarios en una base de datos se hace difícil de

conceder o revocar privilegios a los usuarios. Por lo tanto, si se define las funciones,

puede otorgar o revocar privilegios a los usuarios, con lo que automáticamente la

5/17/2018 SENTENCIAS_DE_DML_Y_DDL - slidepdf.com

http://slidepdf.com/reader/full/sentenciasdedmlyddl 5/7

concesión o revocación de privilegios. Puede crear funciones o utilizar las funciones

del sistema de pre-definidos por Oracle.

Algunos de los privilegios concedidos a las funciones del sistema es el que aparece a

continuación:

Sistema de

PapelLos privilegios concedidos a la función

CONNECTCREATE TABLE, CREATE VIEW, CREATE SINÓNIMO, CREATE

SEQUENCE, CREATE SESSION etc

RECURSOS

CREATE PROCEDURE, CREATE SEQUENCE, CREATE TABLE, CREATE

TRIGGER, etc El uso principal de la función de recursos es restringir

el acceso a los objetos de base de datos.

DBA TODOS LOS PRIVILEGIOS DEL SISTEMA

Creación de funciones:

La sintaxis para crear una función es: 

CREAR role_name PAPEL

[SEÑALADAS POR contraseña];

Por ejemplo: Para crear una función llamada "desarrollador" con la contraseña

como "personas con discapacidad", el código será el siguiente

CREAR pruebas PAPEL

[SEÑALADAS POR contraseña];

Es más fácil de conceder o revocar privilegios a los usuarios a través de un papel en

lugar de asignar un direclty privilegio de todos los usuarios. Si un papel se identifica

mediante una contraseña, y luego, cuando conceder o revocar los privilegios de la

función, que definitivamente tiene que identificarse con la contraseña.

Podemos conceder o revocar privilegios a un rol de la siguiente manera.

5/17/2018 SENTENCIAS_DE_DML_Y_DDL - slidepdf.com

http://slidepdf.com/reader/full/sentenciasdedmlyddl 6/7

Por ejemplo: Para conceder permiso CREATE TABLE para un usuario mediante la

creación de un puesto de probador:

En primer lugar, crear un puesto de probador

CREAR pruebas PAPEL

En segundo lugar, conceder un privilegio CREATE TABLE para las pruebas de

PAPEL. Usted puede agregar más privilegios para el papel.

GRANT CREATE TABLE de la prueba;

En tercer lugar, otorgar el rol a un usuario.

CONCESIÓN pruebas para el usuario 1;

Para revocar un privilegio CREATE TABLE de las pruebas de función, puede escribir:

REVOKE CREATE TABLE partir de ensayos;

La sintaxis para quitar una función de la base de datos es la siguiente:

DROP role_name PAPEL;Por ejemplo: Para quitar una función llamada programador, puede escribir:

DROP prueba PAPEL;

SQL GRANT Comando

SQL es un comando GRANT utiliza para proporcionar el acceso o privilegios en los

objetos de base de datos a los usuarios.La sintaxis del comando GRANT es la siguiente:

Privilege_name CONCESIÓN

DE object_name

A {nombre_usuario | PÚBLICO | role_name}

[WITH GRANT OPTION];

  privilege_name es el derecho de acceso o privilegio otorgado al

usuario. Algunos de los derechos de acceso son TODOS, EXECUTE, y SELECT.

5/17/2018 SENTENCIAS_DE_DML_Y_DDL - slidepdf.com

http://slidepdf.com/reader/full/sentenciasdedmlyddl 7/7

  object_name es el nombre de un objeto de base de datos como la tabla, vista,

procedimiento almacenado y Secuencia.

  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.

  PÚBLICO se utiliza para conceder derechos de acceso a todos los usuarios.

  FUNCIONES son un conjunto de privilegios agrupados.

  WITH GRANT OPTION - permite al usuario conceder derechos de acceso a

otros usuarios.

EJEMPLO:

GRANT SELECT ON empleado usuario1; Este comando concede un permiso SELECT

en la tabla empleado user1.You debe utilizar la opción WITH GRANT cuidado,porque por ejemplo, si otorgar el privilegio SELECT sobre la tabla de empleados a

usuario1 con la opción WITH GRANT, a continuación, usuario1 puede otorgar el

privilegio SELECT sobre la tabla de empleados a otro usuario, como por ejemplo etc

user2 Más adelante, si usted revoca el privilegio SELECT sobre empleado de

usuario1, usuario2 todavía tendrá el privilegio SELECT sobre la tabla de empleados.