stringtranslate.com

Lenguaje de control de datos

Un lenguaje de control de datos ( DCL ) es una sintaxis similar a un lenguaje de programación informática que se utiliza para controlar el acceso a los datos almacenados en una base de datos ( autorización ). En particular, es un componente del lenguaje de consulta estructurado (SQL). El lenguaje de control de datos es uno del grupo lógico de los comandos SQL. SQL [1] es el lenguaje estándar para sistemas de gestión de bases de datos relacionales. Las declaraciones SQL se utilizan para realizar tareas como insertar datos en una base de datos, eliminar o actualizar datos en una base de datos o recuperar datos de una base de datos.

Aunque los sistemas de bases de datos usan SQL, también tienen sus propias extensiones propietarias adicionales que generalmente solo se usan en su sistema. Por ejemplo, el servidor Microsoft SQL utiliza Transact-SQL (T-SQL), que es una extensión de SQL. De manera similar, Oracle usa PL-SQL, que es su extensión patentada solo para ellos. Sin embargo, los comandos SQL estándar como "Seleccionar", "Insertar", "Actualizar", "Eliminar", "Crear" y "Eliminar" se pueden utilizar para lograr casi todo lo que uno necesita hacer con una base de datos.

Ejemplos de comandos DCL incluyen:

Las operaciones para las cuales se pueden otorgar o revocar privilegios a un usuario o rol se aplican tanto al lenguaje de definición de datos (DDL) como al lenguaje de manipulación de datos (DML), y pueden incluir CONECTAR, SELECCIONAR , INSERTAR , ACTUALIZAR, ELIMINAR , EJECUTAR, y USO.

Servidor Microsoft SQL

Según Microsoft SQL Server, hay cuatro grupos de comandos SQL.

Los comandos DCL se utilizan para el control de acceso y la gestión de permisos para los usuarios en la base de datos. Con ellos podemos permitir o denegar fácilmente algunas acciones para los usuarios en las tablas o registros (seguridad a nivel de fila).

Los comandos DCL son:

CONCEDER
Podemos otorgar ciertos permisos para la tabla (y otros objetos) para grupos/usuarios específicos de una base de datos.
DENEGAR
prohíbe ciertos permisos de grupos/usuarios.
REVOCAR
este comando quita permisos a grupos/usuarios.

Por ejemplo: GRANT se puede utilizar para otorgar privilegios al usuario para SELECCIONAR, INSERTAR, ACTUALIZAR y ELIMINAR en una tabla específica o en varias tablas.

El comando REVOKE se utiliza para recuperar un privilegio (predeterminado) o revocar un comando específico como ACTUALIZAR o ELIMINAR según los requisitos.

Ejemplo

Otorgar SELECCIONAR , INSERTAR , ACTUALIZAR , ELIMINAR en Empleado a Usuario1     Revocar INSERT en empleado a usuario1     Denegar actualización del empleado al usuario1     

GRANT en el primer caso le dimos privilegios al usuario Usuario1 para SELECCIONAR, INSERTAR, ACTUALIZAR y ELIMINAR en la tabla llamada empleados.

REVOCAR con este comando podemos recuperar el privilegio predeterminado; en este caso, recuperamos el comando INSERTAR en la tabla empleados para el usuario Usuario1.

DENY es un comando específico. Podemos concluir que cada usuario tiene una lista de privilegios que se le niegan o se conceden, por lo que el comando DENY está ahí para prohibirle explícitamente algunos privilegios sobre los objetos de la base de datos:

Base de datos Oracle

Oracle Database divide los comandos SQL en diferentes tipos. Ellos son.

Para más detalles consulte Oracle- [3] ​​TCL         

Las declaraciones del lenguaje de definición de datos (DDL) le permiten realizar estas tareas:

Por lo tanto, los comandos DDL de la base de datos de Oracle incluyen otorgar y revocar privilegios, que en realidad forman parte del lenguaje de control de datos en el servidor Microsoft SQL.

Sintaxis para otorgar y revocar en Oracle Database:

Ejemplo

OTORGAR SELECCIONAR , INSERTAR , ACTUALIZAR , ELIMINAR EN db1 . Empleado A usuario1 ;        REVOCAR SELECCIONAR , INSERTAR , ACTUALIZAR , ELIMINAR EN db1 . Empleado DE usuario1 ;        

Declaraciones de control de transacciones en Oracle

Las declaraciones de control de transacciones gestionan los cambios realizados por las declaraciones DML. Las declaraciones de control de transacciones son:

mysql

Servidor MySQL dividen las declaraciones SQL en diferentes tipos de declaraciones

Para obtener más información, consulte Declaraciones transaccionales de MySQL [4]

La sintaxis de concesión y revocación forma parte de las declaraciones de administración de la base de datos: Sistema de gestión de cuentas.

La declaración GRANT permite a los administradores del sistema otorgar privilegios y roles, que se pueden otorgar a cuentas y roles de usuario. Se aplican estas restricciones de sintaxis:

La declaración REVOKE permite a los administradores del sistema revocar privilegios y roles, que pueden revocarse de cuentas y roles de usuario.

Ejemplos

REVOCAR INSERTAR EN * . * DESDE 'jeffrey' @'localhost' ;     REVOCAR 'rol1' , 'rol2' FROM 'usuario1' @'localhost' , 'usuario2' @'localhost' ;     REVOCAR SELECCIÓN EN mundo . * DESDE 'rol3' ;     CONCEDER TODO EN db1 . * A 'jeffrey' @'localhost' ;     GRANT 'rol1' , 'rol2' A 'usuario1' @'localhost' , 'usuario2' @'localhost' ;     GRANT SELECT ON mundo . * A 'rol3' ;     

En PostgreSQL , la ejecución de DCL es transaccional y se puede revertir.

Otorgar y Revocar son los comandos SQL que se utilizan para controlar los privilegios otorgados a los usuarios en una base de datos.

SQLite no tiene ningún comando DCL ya que no tiene nombres de usuario ni inicios de sesión. En cambio, SQLite depende de los permisos del sistema de archivos para definir quién puede abrir y acceder a una base de datos. [5]

Ver también

Referencias

  1. ^ "El estándar SQL - ISO/IEC 9075:2016 (ANSI X3.135) - Blog ANSI". El blog de ANSI . 2018-10-05 . Consultado el 19 de septiembre de 2020 .
  2. ^ "Wiki TechNet". social.technet.microsoft.com . Consultado el 19 de septiembre de 2020 .
  3. ^ "Referencia del lenguaje SQL de base de datos". docs.oracle.com . Consultado el 19 de septiembre de 2020 .
  4. ^ "MySQL :: Manual de referencia de MySQL 8.0 :: 13.7.1 Declaraciones de administración de cuentas". dev.mysql.com . Consultado el 19 de septiembre de 2020 .
  5. ^ Kreibich, JA, 2010. Usando SQLite, O'Reilly.