Modelado físico relacional de bases de datos

Introducción a DCL

El Lenguaje de Control de Datos (DCL) se utiliza para controlar el acceso a los datos y gestionar permisos en una base de datos. Los principales comandos de DCL son GRANT y REVOKE.


Comando CREATE USER

Puedes crear nuevos usuarios usando la siguientes sintaxis.

Sintaxis:

1CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'contraseña_segura';
2--MySQL requiere especificar el host y usa IDENTIFIED BY.

Ejemplo:

1CREATE USER 'pepe'@'localhost' IDENTIFIED BY 'mi_contraseña_segura';

Este comando crea el usuario pepe con la contraseña mi_contraseña_segura. Si quieres que el usuario pueda iniciar sesión, asegúrate de incluir la propiedad LOGIN (que está habilitada por defecto).


Comando DROP USER

El comando DROP USER se utiliza para eliminar un usuario de la base de datos.

PostgreSQL:

1DROP USER 'nombre_usuario'@'localhost';

Comando GRANT

El comando GRANT se utiliza para otorgar permisos a los usuarios.

Sintaxis básica de GRANT:

1GRANT SELECT, INSERT, UPDATE
2ON base_datos.tabla
3TO 'usuario'@'localhost';

Ejemplo:

1GRANT SELECT, INSERT
2ON basedatos.estudiantes
3TO 'usuario1'@'localhost';

Este comando otorga a usuario1 los permisos para seleccionar (SELECT) e insertar (INSERT) datos en la tabla estudiantes.

1. Permisos Comunes

  • ALL PRIVILEGES: Otorga todos los permisos disponibles.
  • SELECT: Permite leer los datos de la tabla.
  • INSERT: Permite agregar nuevos registros a la tabla.
  • UPDATE: Permite modificar los registros existentes en la tabla.
  • DELETE: Permite eliminar registros de la tabla.
  • CREATE: Permite crear nuevas tablas, vistas, índices, etc.
  • DROP: Permite eliminar tablas, vistas, índices, etc.
  • ALTER: Permite modificar la estructura de las tablas.
  • INDEX: Permite crear o eliminar índices en una tabla.
  • REFERENCES: Permite crear claves foráneas que referencian las columnas de otras tablas.
  • TRIGGER: Permite crear o eliminar triggers (disparadores).
  • EXECUTE: Permite ejecutar funciones o procedimientos almacenados.
  • USAGE: En algunos DBMS, permite el uso de esquemas o secuencias.

2. Alcance

  • ON [object]: El objeto sobre el cual se otorgarán los permisos, como una tabla, vista, o base de datos.
  • TO [user/role]: El usuario o rol al cual se le otorgan los permisos.
  • WITH GRANT OPTION: Permite que el usuario que recibe los permisos los otorgue a otros usuarios.
  • WITH ADMIN OPTION: Permite al usuario otorgar permisos con privilegios de administrador.

Comando REVOKE

El comando REVOKE se utiliza para revocar los permisos otorgados a un usuario.

Sintaxis básica de REVOKE:

1REVOKE SELECT, INSERT
2ON basedatos.tabla
3FROM 'usuario'@'localhost';

Ejemplo:

1REVOKE INSERT
2ON basedatos.estudiantes
3FROM 'usuario1'@'localhost';

Este comando revoca el permiso de insertar datos (INSERT) en la tabla estudiantes a usuario1.


Ejemplo Completo de DCL

Otorgar y revocar permisos:

1GRANT SELECT, UPDATE
2ON basedatos.estudiantes
3TO 'usuario2'@'localhost';
4
5REVOKE UPDATE
6ON basedatos.estudiantes
7FROM 'usuario2'@'localhost';

En este ejemplo, usuario2 recibe permisos para seleccionar (SELECT) y actualizar (UPDATE) datos en la tabla estudiantes. Luego, el permiso de actualización (UPDATE) se revoca.

  • Loading...