Sentencias de DML y DDL
Sentencias de DML y DDL
Sentencias de DML y DDL
UNIVERSIDAD DEL MAGDALENA MANEJO Y APLICACIN DE LAS BASES DE DATOS LICENCIATURA EN EDUCCION CON ENFASIS EN INFORMATICA ZOBAL EL COPEY VII SEMESTRE 2012
Las sentencias SQL pertenecen a dos categoras principales: Lenguaje de Definicin de Datos, DDL y Lenguaje de Manipulacin de Datos, DML. Estos dos lenguajes no son lenguajes en s mismos, sino que es una forma de clasificar las sentencias de lenguaje SQL
en funcin de su cometido. La diferencia principal reside en que el DDL crea objetos en la base de datos y sus efectos se pueden ver en el diccionario de la base de datos; mientras que el DML es el que permite consultar, insertar, modificar y eliminar la informacin almacenada en los objetos de la base de datos. Cuando se ejecutan las sentencias DDL de SQL, el SGBD confirma la transaccin actual antes y despus de cada una de las sentencias DDL. En cambio, las sentencias DML no llevan implcito el commit y se pueden deshacer. Existe pues un problema al mezclar sentencias DML con DDL, ya que estas ltimas pueden confirmar las primeras de manera involuntaria e implicita, lo que en ocasiones puede ser un problema. A continuacin se presenta una tabla con las sentencias SQL ms comunes, clasificadas segn el lenguaje al que pertenecen. Sentencia DDL Alter procedure Alter Table Analyze Objetivo Recompilar un procedimiento almacenado. Aadir o redefinir una columna, modificar la asignacin de almacenamiento. Recoger estadsticas de rendimiento sobre los objetos de la BD para utilizarlas en el optimizador basado en costes.
Create Table Crear una tabla. Create Index Crear un ndice. Drop Table Drop Index Grant Truncate Revoke Sentencia DML Insert Delete Update Select Commit Eliminar una tabla. Eliminar un ndice. Conceder privilegios o papeles, roles, a un usuario o a otro rol. Eliminar todas las filas de una tabla. Retirar los privilegios de un usuario o rol de la base de datos. Objetivo Aadir filas de datos a una tabla. Eliminar filas de datos de una tabla. Modificar los datos de una tabla. Recuperar datos de una tabla. Confirmar como permamentes las modificaciones realizadas.
Rollback
Descripcin permite a los usuarios para crear el objeto especificado en su propio esquema. permite a los usuarios para crear el objeto especificado en cualquier esquema.
Las reglas anteriores se aplican tambin para ALTER y DROP privilegios del sistema. Pocos de los privilegios de objeto se enumeran a continuacin:
Descripcin permite a los usuarios insertar filas en una tabla. permite a los usuarios seleccionar los datos de un objeto de base de datos. permite al usuario actualizar los datos en una tabla. permite al usuario ejecutar un procedimiento almacenado o una funcin.
SELECT
ACTUALIZACIN
EXECUTE
Funciones: Las funciones son un conjunto de privilegios o derechos de acceso. Cuando hay muchos usuarios en una base de datos se hace difcil 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 automticamente la
concesin o revocacin 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 continuacin:
Los privilegios concedidos a la funcin CREATE TABLE, CREATE VIEW, CREATE SINNIMO, CREATE SEQUENCE, CREATE SESSION etc
CREATE PROCEDURE, CREATE SEQUENCE, CREATE TABLE, CREATE RECURSOS TRIGGER, etc El uso principal de la funcin de recursos es restringir el acceso a los objetos de base de datos.
DBA
Creacin de funciones: La sintaxis para crear una funcin es: CREAR role_name PAPEL [SEALADAS POR contrasea]; Por ejemplo: Para crear una funcin llamada "desarrollador" con la contrasea como "personas con discapacidad", el cdigo ser el siguiente CREAR pruebas PAPEL [SEALADAS POR contrasea]; Es ms fcil de conceder o revocar privilegios a los usuarios a travs de un papel en lugar de asignar un direclty privilegio de todos los usuarios. Si un papel se identifica mediante una contrasea, y luego, cuando conceder o revocar los privilegios de la funcin, que definitivamente tiene que identificarse con la contrasea. Podemos conceder o revocar privilegios a un rol de la siguiente manera.
Por ejemplo: Para conceder permiso CREATE TABLE para un usuario mediante la creacin 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 ms privilegios para el papel. GRANT CREATE TABLE de la prueba; En tercer lugar, otorgar el rol a un usuario. CONCESIN pruebas para el usuario 1; Para revocar un privilegio CREATE TABLE de las pruebas de funcin, puede escribir: REVOKE CREATE TABLE partir de ensayos; La sintaxis para quitar una funcin de la base de datos es la siguiente: DROP role_name PAPEL; Por ejemplo: Para quitar una funcin llamada programador, puede escribir: DROP prueba PAPEL;
privilege_name es
el
derecho
de
acceso
privilegio
otorgado
al
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. PBLICO 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 opcin WITH GRANT cuidado, porque por ejemplo, si otorgar el privilegio SELECT sobre la tabla de empleados a usuario1 con la opcin WITH GRANT, a continuacin, usuario1 puede otorgar el privilegio SELECT sobre la tabla de empleados a otro usuario, como por ejemplo etc user2 Ms adelante, si usted revoca el privilegio SELECT sobre empleado de usuario1, usuario2 todava tendr el privilegio SELECT sobre la tabla de empleados.